跳转至

MCP 和 Skill

MCP 协议 也由 Anthropic 于2025年下半年发布,与 Skill 均为为 Agent 提供更好的文档和接口的访问形式。二者后续也均被整理为可跨 Agent 使用的开放规范

1. MCP 是什么

1.1. API 是什么

要知道 LLM 如何通过接口、MCP 等控制程序或者软件,首先要知道程序如何控制其他程序。

API(Application Programming Interface,应用程序编程接口)是程序公开给其他程序的一组入口。一个 API 通常会明确说明下面的内容:

  • 可以请求什么操作;
  • 需要提供哪些参数;
  • 会返回什么结果;
  • 如何认证身份;
  • 请求失败时会返回什么错误。

例如,一个天气程序可以公开如下接口,表示,只需要提供验证身份用的 token 和城市名(如 hefei)即可获取该城市的天气信息:

GET /weather?city=hefei
Authorization: Bearer <token>

调用成功后,它可能返回下面的内容:

{
  "city": "hefei",
  "temperature": 31,
  "unit": "celsius"
}

调用方只需要遵守接口约定,就能使用天气程序提供的能力。网页、手机应用、命令行工具和 Agent 都可以成为 API 的调用方。

1.2. Tool Call 是什么

Tool Call 也常被称为 Function Call。开发者把可用函数的名称、用途和参数结构交给模型,模型根据用户需求,生成一份结构化的调用请求。

例如,我们把这串工具信息注册到模型中:

{
  "name": "get_weather",
  "description": "查询指定城市的天气",
  "parameters": {
    "type": "object",
    "properties": {
      "city": {
        "type": "string"
      }
    },
    "required": ["city"]
  }
}

当用户询问“合肥今天多少度”时,LLM 可以生成下面的调用参数:

{
  "name": "get_weather",
  "arguments": {
    "city": "合肥"
  }
}

一次完整的调用一般经过下面几个步骤:

  1. 程序把工具说明和用户问题发给 LLM;
  2. LLM 选择工具并生成参数;
  3. 程序检查权限和参数;
  4. 程序执行函数或调用 API;
  5. 执行结果被送回 LLM;
  6. LLM 根据结果继续回答用户。

LLM 负责选择工具和填写具体参数,程序负责校验与执行。

1.3. MCP 是什么

每个 Tool Call 都可以由开发者单独编写,不过不同 Agent 往往需要重复实现工具注册、参数描述、进程启动、认证和结果传输。MCP 为这些环节提供了一套统一协议。

MCP 的基本结构包含三个角色:

用户
MCP Host:Claude Code、Codex、OpenCode 等 Agent 框架
MCP Client:Host 内部维护的一条 MCP 连接
MCP Server:浏览器、数据库、知识库等能力的提供方

MCP Server 可以向 Agent 暴露三类常见能力:

能力 用途 例子
Tools 执行动作 点击网页、运行查询、创建任务
Resources 提供可读取的数据 文件内容、数据库结构、项目文档
Prompts 提供可复用的提示模板 代码审查模板、故障排查模板

本地 MCP Server 通常由 Agent 通过标准输入输出(stdio)启动;远程 MCP Server 通常通过 流式 HTTP 连接,并可以配合 Token 等方式完成身份认证。Host 在连接后读取 Server 提供的能力列表,再把合适的工具描述交给模型。

API、Function Call 和 MCP 可以串成一条完整链路:

模型生成 Function Call
Agent 通过 MCP Client 调用 MCP Server
MCP Server 调用浏览器、文件系统或远程 API
执行结果沿原路径返回给模型

例如,chrome-devtools-mcp 提供浏览器调试工具;配套 Skill 可以进一步规定“先打开页面,再检查控制台和网络请求,完成修改后重新验证”的工作流程。

任务需要连接外部系统时考虑 MCP;任务需要重复执行一套判断和操作流程时考虑 Skill;两种需求同时出现时把它们组合起来。

2. 安装一个 MCP

本文以安装 chrome-devtools-mcp 为例。这个MCP 由谷歌 Chrome 团队官方发布,可以以让 Agent 原生操控 Chrome 系浏览器(Chrome,Edge 及其他使用 Chromium 内核的浏览器。不包括 Firefox)。

MCP 因为格式固定,写起来非常容易,网络上有大量已经写好的 MCP,因此可以直接通过搜索引擎或 GitHub 进行直接搜索;如果不熟悉的话,新手也可以在 魔搭社区 搜索需要的 MCP。

chrome-devtools-mcp 的官方链接为 这个, GitHub 链接为 这个

2.1. 安装前准备

chrome-devtools-mcp 需要 Node.js、npm,以及 Google Chrome 浏览器。可以先在终端检查:

node --version
npm --version
npx --version

2.2. 配置 Agent

根据你使用的 Agent 不同,按需选用。

Claude Code:

claude mcp add chrome-devtools --scope user npx chrome-devtools-mcp@latest

Codex:

codex mcp add chrome-devtools -- npx chrome-devtools-mcp@latest

OpenCode: 在 ~/.config/opencode/opencode.json 中添加如下内容:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "chrome-devtools": {
      "type": "local",
      "command": ["npx", "-y", "chrome-devtools-mcp@latest"]
    }
  }
}

安装完成后重启 Agent 进程,即可使用。使用时,在命令中 @ 出这个 MCP 即可使用。

MCP 工具通常也会由 Agent 根据任务自动选择。显式写出 Server 名称或工具用途,有助于 Agent 自行选用更好的 MCP.

2.3. 检查连接

先检查 Server 是否已经出现在列表中:

claude mcp list
codex mcp list
opencode mcp list

Codex 交互界面可以输入 /mcp 查看当前连接。随后启动一个本地网页,并向 Agent 输入一条范围明确的测试指令:

用 chrome-devtools 打开浏览器,搜索2026年菲尔兹奖的所有中国得主,并讲解他们的信息和研究成果。