资源库
资源库

MCP 协议实战:用 Python 5 分钟搭一个 AI Agent 工具 Server

MCP 是 AI 界的 USB 标准,终结 Agent 工具调用的接口地狱。拆解 Host/Client/Server 三角色架构,附 Python @server.list_tools 装饰器两步搭 Server 实操 + 三大避坑(按域拆 Server、Filesystem 白名单、加密通信)。

发布于 2026年7月25日4 分钟阅读
<!-- mcp-protocol-server-resource | resource | MCP 协议实战 -->

别让 Agent 干活前,先写一周胶水代码。

让 AI 干活越来越像请了个祖宗:你想让它帮你查 GitHub 仓库,它说"不会";想让它读本地文件,它说"没手";你吭哧吭哧给它接好 API,结果格式一变,维护费用比外包公司还贵。这就是"接口地狱"。每接入一个工具,都得手搓一套适配代码,Slack 一套,Notion 一套,数据库再来一套,维护成本越来越高。

MCP 是什么:AI 界的 USB 标准

这种日子快到头了。MCP(Model Context Protocol)相当于 AI 界的 USB 标准,它定义了 AI 与工具之间统一的接口和通信方式。你的工具只要按这个标准包装成 MCP Server,支持 MCP 的 Agent(Claude、GPT、DeepSeek 等)就能即插即用,不用再写胶水代码。

架构很简单,就三个角色:Host 是跟你聊天的 AI 应用,比如 Claude Desktop;Client 是内置的协议翻译官,负责把 Host 的意图转成标准 MCP 指令;Server 就是你写的工具服务,实际干活的。整个流程像点菜:你(AI)对着菜单说要"搜网页",服务员(Client)把单子递给厨房(Server),厨房做好端上来,你不需要关心后厨怎么炒。

怎么写 Server:Python 两步跑起来

用 Python 3.10+ 和 uv 包管理器,两步就能跑起来。关键就两步:用 @server.list_tools() 装饰器定义工具名片,告诉 AI "我叫啥、能干嘛、需要什么参数";再用 @server.call_tool() 装饰器写具体逻辑,最后返回 TextContent 结果。配好 pyproject.toml 里的启动命令,让 Claude Desktop 发现你的 Server,对话里直接说"用我的工具干这个",AI 就会去执行。

三大避坑:拆分、白名单、加密

有几个坑新手容易踩。

第一,别把所有功能塞进一个 Server,按领域拆开,比如搜索、文件、数据库各自独立,否则后期维护很麻烦。

第二,Filesystem 工具必须设置目录白名单,不然就相当于给 AI 开了删库的 root 权限,一句"帮我清理下没用的文件"可能就把项目删没了。

第三,非本地调用时,通信一定要走加密通道,API Key 别在配置里直接暴露。

趋势:MCP 正成为 Agent 默认协议

MCP 正在成为 Agent 基础设施的默认协议,就像 HTTP 对网页那样。到 2026 年,阿里、腾讯、Google 都会全面支持,魔搭 MCP 广场已经上线近 1500 个 Server。以后 AI 不会缺智力,缺的是能实际干活的工具。MCP 正好把大脑和外部世界连接起来。

你现在最想让 AI 帮你操作哪个软件?在评论区告诉我,我教你写个对应的 MCP Server。


参考来源

相关文章