MCP 协议初探:给 AI 装“USB 接口”是什么体验
唐唐老师743 阅读
MCP(Model Context Protocol)是 Anthropic 提出的协议,目标是让 AI 应用"插拔"工具像 USB 插设备一样方便。我之前一直半信半疑,直到实际接了一个工具,才理解它的价值。
MCP 解决什么问题:以前每个 AI 应用接工具都是自己写一套——有的用 function calling,有的直接调 API,换个客户端就得重写。MCP 把"工具怎么暴露、怎么调用"标准化了:工具侧实现一个 MCP server,AI 侧通过 MCP client 连接,两边按协议通信。
最小实现:MCP 官方提供 SDK,我接了一个文件读取工具:
Python
# 工具端(MCP server)
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("file-tools")
def read_file(path: str) -> str:
with open(path, "r", encoding="utf-8") as f:
return f.read()
mcp.run()
然后在 Claude Desktop 或者支持 MCP 的客户端里配置连接,就能让 AI 调用这个工具。
几个坑:
-
传输方式选择。MCP 支持 stdio 和 SSE 两种传输。本地工具用 stdio 简单,远程服务用 SSE。我一开始本地工具用了 SSE,配置起来麻烦得多。
-
安全边界要想清楚。接文件系统工具意味着 AI 能读你的文件,接数据库工具意味着 AI 能执行 SQL。MCP 只是协议,不管权限,权限要自己在工具端控制。比如我只暴露了特定目录的读权限。
-
生态还在早期。官方 SDK 更新频繁,API 变化大。我照着网上教程写,版本对不上,报错了半天。
值不值得用:如果只是自己玩,function calling 就够了。但如果你要做工具生态、或者想跨多个客户端复用工具,MCP 的方向是对的。现在 Claude、Cursor 等客户端都开始支持 MCP,生态会越来越完善。
评论0
还没有评论,来抢沙发~