MCP(Model Context Protocol)正在成为AI工具集成的事实标准。它定义了AI模型如何发现和调用外部工具。
为什么需要MCP
每个AI应用都有自己的一套工具调用方式。Cursor的工具、Claude的工具、OpenAI的function calling格式各不相同。工具开发者需要为每个平台单独适配。
MCP统一了这个接口:工具只需实现一次MCP Server,所有MCP Client都能调用。
架构设计
MCP Server:暴露工具的后端服务。实现tool/list列出可用工具,tool/call执行工具调用。MCP Client:AI应用端,发现和调用Server暴露的工具。传输层:支持stdio(本地进程)和HTTP/SSE(远程服务)。
实现一个MCP Server
from mcp.server import Server
import mcp.types as types
server = Server("my-tools")
@server.list_tools()
async def list_tools():
return [types.Tool(
name="get_weather",
description="获取城市天气",
inputSchema={"type": "object", "properties": {"city": {"type": "string"}}}
)]
@server.call_tool()
async def call_tool(name, arguments):
if name == "get_weather":
return {"temperature": 22, "condition": "晴"}
生态现状
Cursor、Claude Desktop、Continue等主流AI工具都已支持MCP。社区已有数百个MCP Server覆盖数据库、API、文件系统等场景。
MCP的意义在于把"工具调用"从AI框架的功能变成了可互操作的协议。