概念 · MCP
MCP 是什么:让 AI 智能体“即插即用”接工具的通用接口
你大概在龙虾的文档、各种智能体的介绍里反复看到三个字母:MCP。它听着像个高深协议,其实想解决的问题特别朴素——怎么让 AI 接外部工具这件事,别那么累。
以前的麻烦:每个工具都要单独写适配
智能体真正有用,是因为它能调工具:读文件、查数据库、开网页、发消息。问题是在 MCP 之前,这些工具没有统一接法。A 智能体想接某个数据库,得照 A 的规矩写一份对接代码;B 智能体想接同一个数据库,又得照 B 的规矩重写一遍。工具方和智能体方两两配对,数量一多就成了一张乱网。
结果是:开发者重复造轮子,普通用户想给自己的龙虾加个新工具,往往得等有人专门为它适配。
MCP 怎么解决:统一一个插口
MCP(Model Context Protocol)做的事,就是定一套统一的“插口形状”。工具方只要按 MCP 规范把自己的能力暴露出来——这叫一个 MCP 服务器;任何支持 MCP 的智能体(这叫 MCP 客户端)都能直接连上用,不用各写各的。
工具方写一次,所有支持 MCP 的智能体都能用。
这就像 USB:以前每个设备一种接口、一根专用线,有了 USB 之后,插口统一了,鼠标、硬盘、键盘随便插都认。MCP 之于 AI 工具,差不多是这个意思。
一个具体例子:让龙虾接文件系统
假设你想让龙虾能读写你某个项目目录里的文件。在 MCP 出现之前,你得找一份专门为龙虾写的文件操作插件;现在你只要在龙虾的配置里挂上一个“文件系统 MCP 服务器”,告诉它能动哪个目录就行。大致是这样几行:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["@modelcontextprotocol/server-filesystem", "/Users/me/project"]
}
}
}
挂好重启,龙虾启动时就会自动发现这个服务器提供的能力(列目录、读文件、写文件……),然后在执行任务时按需调用。同一个文件系统 MCP,你换一个支持 MCP 的智能体,配置照搬,照样能用——这就是“写一次到处用”的好处。
MCP vs 传统插件
| 对比项 | 传统插件 | MCP |
|---|---|---|
| 适配成本 | 每个智能体单独写 | 写一次,通用 |
| 复用性 | 换个智能体就失效 | 任何 MCP 客户端可用 |
| 生态 | 各家自己的插件市场,互不通 | 共享同一批 MCP 服务器 |
| 上手 | 找对应版本、可能要改代码 | 加几行配置即可 |
要补一句:MCP 不是来取代 Function Calling 的。Function Calling 是模型“能调函数”的底层能力,MCP 是在它之上把“怎么连、怎么描述工具”这套规矩统一了。两者是上下层的关系,不是二选一。
现状:开始变成默认配置
过去一年 MCP 的接受度上得很快,主流的智能体套件越来越多开始预装或内置 MCP 支持,社区里现成的 MCP 服务器(文件系统、数据库、浏览器、各种 SaaS)也在快速变多。对普通用户来说,这意味着给龙虾加新本事,从“等人适配”慢慢变成“去 MCP 列表里挑一个挂上”。我们整理的可用清单在 MCP 生态 页。
常见问题
- MCP 和插件、Function Calling 是一回事吗?
- 不完全是。Function Calling 是模型“能调函数”的底层能力,MCP 是在它之上定了一套统一规矩,让工具方写一次、所有支持 MCP 的智能体都能用。前者是“能插”,后者是“统一了插口形状”。
- 用 MCP 接工具安全吗?
- MCP 只是接口规范,安全取决于你接的是哪个服务器、给了什么权限。装第三方 MCP 要看清它能读写什么,先在隔离环境里试,别一上来就指向重要数据。
- 我必须懂代码才能用 MCP 吗?
- 用现成的 MCP 服务器基本不用写代码,在配置里加几行就行。只有你想自己写新工具暴露给智能体时,才需要按规范写服务端。