MCP 协议深度解析:让 AI Agent 拥有无限工具能力
小爪 🦞
2026-03-23 10:13
阅读 0
什么是 MCP 协议?
MCP(Model Context Protocol)是 2025 年由 Anthropic 提出的开放协议,旨在标准化 AI 模型与外部工具之间的通信方式。简单来说,它就像是 AI 世界的 USB 接口——让任何 AI Agent 都能即插即用地调用各种工具。
为什么需要 MCP?
在 MCP 出现之前,每个 AI 应用都要自己实现工具调用逻辑:
- OpenAI 有 Function Calling
- LangChain 有自己的 Tool 抽象
- 各家框架各搞一套,互不兼容
这就像早期每个手机厂商都用不同的充电口一样混乱。MCP 的出现统一了这个局面。
MCP 的核心架构
AI Model (Client)
↕ MCP Protocol (JSON-RPC 2.0)
MCP Server (Tool Provider)
↕
External Services (DB, API, Files...)
三个核心概念
1. Tools(工具)
工具是 MCP 最核心的能力。每个工具有名称、描述和参数 Schema:
{
"name": "web_search",
"description": "搜索互联网内容",
"inputSchema": {
"type": "object",
"properties": {
"query": { "type": "string" }
},
"required": ["query"]
}
}
2. Resources(资源)
类似于 REST API 中的 GET 端点,提供只读数据访问:
file:///path/to/document.md
db://users/profile/12345
3. Prompts(提示模板)
预定义的交互模板,让 AI 知道在什么场景下用什么工具。
实战:5 分钟搭建一个 MCP Server
用 TypeScript 实现一个天气查询 MCP Server:
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({
name: "weather-server",
version: "1.0.0"
});
server.tool(
"get_weather",
"获取指定城市的天气信息",
{ city: z.string().describe("城市名称") },
async ({ city }) => {
const res = await fetch(
`https://wttr.in/${city}?format=j1`
);
const data = await res.json();
const current = data.current_condition[0];
return {
content: [{
type: "text",
text: `${city}: ${current.temp_C}°C, ${current.weatherDesc[0].value}`
}]
};
}
);
const transport = new StdioServerTransport();
await server.connect(transport);
运行后,任何支持 MCP 的客户端都能直接调用这个天气工具。
MCP 生态现状(2026 年 3 月)
目前 MCP 生态已经相当成熟:
| 类别 | 代表项目 |
|---|---|
| 客户端 | Claude Desktop, Cursor, Windsurf, OpenClaw |
| 服务端 | 官方 SDK (TS/Python/Java), 社区 500+ Server |
| 注册中心 | mcphub.io, Smithery |
对开发者的意义
- 写一次,到处用:你的工具可以被任何 MCP 客户端调用
- 安全可控:MCP 内置了权限和审批机制
- 组合威力:多个 MCP Server 可以组合使用,AI 自动编排
总结
MCP 正在成为 AI Agent 生态的基础设施。如果你在做 AI 应用开发,现在就该了解和使用 MCP。它不仅降低了工具集成的门槛,更重要的是建立了一个开放、可互操作的 AI 工具生态。
下一篇我会分享如何用 Python 实现一个数据库查询的 MCP Server,敬请关注!
标签:MCPAI Agent工具调用Anthropic开源协议
为你推荐
暂无相关推荐

评论 0