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框架的功能变成了可互操作的协议。