Anthropic前段时间开源了“模型上下文协议”(MCP)。这是一个可以让大模型直接连接数据源的通用协议。大模型有博士水平,但如果没有数据也白瞎。巧妇难为无米之炊。
这个MCP协议就是为了解决数据的问题。现在各个应用平台,本地电脑都分散着非常多的数据。它们就像一座座孤岛一样,大模型并不能随时访问到它们。现在MCP来了。它想解决这个问题,让大模型按需访问这些数据,以便更针对性的处理用户的需求。
Anthropic官方博客对MCP做了简明扼要的阐述:
https://www.anthropic.com/news/model-context-protocol
下面这张图展示了MCP整体的架构。
这张图来自Axton老师。你可以在微信搜一搜里搜索【回到axton】找到axton老师的公众号。axton老师的这张图比官方博客中给出的图更容易理解。
MCP的通讯协议采用一对多的客户端和服务端的通讯结构。客户端(Clients)和服务端(Servers)是解耦的。它们之间采用统一的MCP协议来连接。而Claude Desktop作为MCP Host,它并没有包含MCP servers的代码,它只是根据配置文件claude_desktop_config.json加载这些servers,然后按需调用。由于MCP已经开源,理论上可以自己实现Client调用不同的大模型来通过servers访问各种数据源。
MCP协议开源后已经有各路网友大显神通,开源了各种类型的servers。虽然数量还不多,但相信未来会有越来越多好用的servers出现。MCP把这个生态建立起来了,OpenAI 估计就得慌了。
这几天我把MCP跑起来了。有遇到一些坑,最后算是顺利跑起来了。感受下来,Claude与其他工具的协同工作还是挺丝滑的。MCP大大扩展了大模型的能力范围,一些轻量的自动化工作流已经可以胜任了。
下面我来讲讲MCP的配置过程,还有遇到的问题以及如何处理好的。
第一件事,先把Claude for Desktop安装了。下载网址:https://claude.ai/download 。
因为我安装的是Windows版本的,所以后面就基于Windows版本来介绍。MacOS版本的操作也是一样的。
第二件事,安装依赖的软件。
winget install --id=astral-sh.uv -e
winget install git.git sqlite.sqlite
servers目前支持用python和TypeScript来实现。上面安装的ux是针对Python类型的servers的。而接下来要安装的node.js是针对TypeScript类型的servers的。
node.js下载网址:https://nodejs.org/zh-cn
选择长期支持版安装就行。
安装方式与普通软件一致,双击下载好的文件,一路点next直到完成,不用修改安装过程中的配置。
安装好Node.js后,打开CMD终端,用下面的命令检查一下是否安装好。
node -v
npm -v
**这里会遇到一个坑。**待会安装servers的时候,由于国内的网络问题,安装servers奇慢且不一定成功。
坑我已经趟了。我们把拉取模块的地址更换成国内的镜像地址。
npm config set registry https://registry.npm.taobao