MCP协议深度解析:AI Agent的标准化连接层
MCP是什么?为什么需要它? Model Context Protocol(MCP)是Anthropic在2024年底提出的开放协议,目标是标准化AI模型与外部工具/数据源的连接方式。在MCP之前,每个Agent框架都自定义工具调用接口——LangChain有tools格式,OpenAI有function calling schema,AutoGPT又是一套——导致工具开发者需要为每个框架写适配层。 MCP的价值主张很简单:一次开发,处处可用。写一个MCP Server,任何支持MCP的客户端都能调用。 协议架构 客户端-服务器模型 MCP采用客户端-服务器架构: [Host App (Claude Desktop)] ├── MCP Client A ←→ [MCP Server A: 文件系统] ├── MCP Client B ←→ [MCP Server B: 数据库] └── MCP Client C ←→ [MCP Server C: GitHub] Host:集成MCL客户端的应用(如Claude Desktop、IDE、Agent框架) MCP Client:在Host内部,每个连接维护一个客户端实例 MCP Server:提供工具、资源、提示的独立进程 传输层 MCP支持两种传输方式: stdio:标准输入输出,适合本地工具(文件系统、本地数据库) SSE(Server-Sent Events):HTTP+SSE,适合远程服务 JSON-RPC 2.0作为消息格式,请求和响应都是标准的JSON-RPC消息。 消息类型 MCP定义了三种核心原语: 原语 方向 用途 Tools 模型→Server 执行操作(查询数据库、调API) Resources Server→模型 提供数据(文件内容、配置) Prompts Server→用户 提供预设提示模板 工具定义格式 MCP Server通过tools/list端点声明可用工具: ...

