MCP初探
原理
MCP(Model Context Protocol(模型上下文协议))是由Anthropic开发的一个标准化协议,用于让AI模型和应用程序与外部系统进行安全、高效的通信。
MCP 采用”主机-客户端-服务端”的三层架构
| 组件 | 核心职责 | 典型示例 |
|---|---|---|
| MCP 主机端(Host) | 发起请求的”需求方”,即需要调用外部资源的 AI 应用或程序,负责整合模型输出与外部工具结果 | Claude 桌面应用、AI 开发 IDE(如 VS Code 插件)、企业内部 AI 助手系统 |
| MCP 客户端(Client) | 协议的”传输中介”,与服务端建立一对一专属连接,负责将主机端的请求标准化,同时将服务端的响应解析后返回主机端 | 遵循 MCP 协议开发的轻量级客户端程序、嵌入 AI 应用的协议模块 |
| MCP 服务端(Server) | 提供具体功能的”资源方”,通过 MCP 协议暴露特定能力,接收标准化请求后执行操作并返回结果 | 实时数据查询服务器、文件解析服务、第三方工具 API 适配服务(如地图、支付工具) |
mcp之前
每个AI应用有自己的工具实现方式
- OpenAI 方式
1 | # 开发者需要为 OpenAI 编写 |
- Claude 方式(Anthropic)
1 | # 开发者需要为 Claude 编写不同的格式 |
即用户前端用自然语言与AI交互:告诉我今天的天气情况。AI通过调用api拿到json格式的天气信息,整理后返还给用户。问题在于不同AI应用的代码配置不一样
mcp的解决方案
以github为例,它只需要开发一个mcp服务器@modelcontextprotocol/server-github
1 | // @modelcontextprotocol/server-github |
在任何支持mcp的AI中,配置都相同
1 | { |
在Cursor+github-mcp方案中,各自的角色扮演如下:
- Host
Cursor IDE
用户通过聊天框与 AI(claude) 交互,claude 决定将要调用的 github 工具
- Client
Cursor内置MCP模块
读取mcp.json配置文件,建立与Github MCP服务器的连接,并将AI对工具的请求(从mcpServers列表里匹配)转换为JSON-RPC格式:
1 | {"jsonrpc": "2.0", "method": "tools/call", "params": {"name": "get_me"}} |
发送请求,接受服务端响应并格式化为MCP 响应(JSON-RPC 响应格式)
- Server
GitHub MCP Server:https://api.githubcopilot.com
根据请求调用对应的API,并返回数据
因此,可以直接在 cmd 里调远程api,mcp里面的配置只是在辅助拼凑这种命令(id用于让Host 知道 Server 返回的 Response 对应的是哪一个 Request)
1 | echo {"jsonrpc": "2.0", "method": "tools/call", "params": {"name": "search_repositories", "arguments": {"query": "user:Q7h2q9"}}, "id": 2} | cmd /c "npx -y @modelcontextprotocol/server-github" |
应用
关于Github-MCP
有本地和远程服务器两种方案,各自的配置如下:(可能会有冲突)
本地(Stdio)
1 | "github.com/modelcontextprotocol/servers/tree/main/src/github": { |
远程(SSE)
1 | "github_remote": { |
browser_tools-MCP
主要是获取浏览界面信息(截图)、控制台输出、网络请求、调试等日志信息,不能执行控制台命令。 感觉用来读文章、翻译会好一些
项目地址:https://github.com/AgentDeskAI/browser-tools-mcp
AI读取调用插件api获取浏览器界面信息,处理后返还给客户
浏览器安装插件
v1.2.0 BrowserToolsMCP Chrome Extension
mcp配置
1 | "browser_tools_mcp": { |
运行:
1 | npx @agentdeskai/browser-tools-server@latest |
总结
MCP 的三大能力要素是Resources (资源)、Prompts (提示词模板)、Tools(工具)
架构采用 Host-Client-Server 三端架构
参考资料
大语言模型实战(八)——MCP(Model Context Protocol):AI 与外部世界交互的标准化协议 - 技术栈
一个mcp聚合网站:Smithery - Turn scattered context into skills for AI


