MCP 是什么
MCP(Model Context Protocol,模型上下文协议)是一种开放协议,旨在实现大型语言模型(LLM) 应用与外部数据源、工具和服务之间的无缝集成,类似于网络中的 HTTP 协议或邮件中的 SMTP 协议。
MCP 协议通过标准化模型与外部资源的交互方式,提升 LLM 应用的功能性、灵活性和可扩展性。
──摘自www.runoob.com
简单理解,如果大语言模型(LLM)是一个智力尚可的职场牛马,MCP 就是给牛马使用的各种搬砖工具,而且通过 MCP 牛马还能自己给自己创造工具。MCP 极大地丰富了 LLM 的可用性。
学习资源
Introduction - Model Context Protocol:MCP 官网,资料很全,可从这里开始了解概念,学习自制 MCP 服务。
Model Context Protocol (MCP) | Roo Code Docs:Roo Code 的 MCP 功能说明文档。
MCP 中文站(Model Context Protocol 中文):MCP 中文镜像站,有官方文档的中文版。
建议直接看 MCP 官方文档,不管是打算学习使用 MCP,还是学习编写 MCP 服务。
MCP 服务合集
awesome-mcp-servers: A collection of MCP servers:GitHub 上的 MCP 服务 awesome 集合。
modelcontextprotocol/servers: Model Context Protocol Servers MCP 官方出品的服务合集。
MCP SO:一个 MCP 服务合集网站,支持远程调用 MCP 服务。
MCPFlow:一个基于大模型的MCP服务发现、托管、调用平台。
本地运行环境要求
MCP 基本上都是 Python 或 node 写的程序,如果服务运行于本地电脑上,需要有这两种运行环境。
官方推荐 Python 采用 uv 作为包管理和运行工具。
MCP 服务安装
MCP 客户端我用的是 VS Code 加 Roo Code 插件。
相比与 Mac OS 和 Linux 系统,Windows 下配置需要更改官方给的命令参数。
Windows 下修改 cline_mcp_settings. Json 文件添加 MCP 服务时,command 不能直接使用 npx,而是用 cmd.exe,然后需要按如下增加参数:
除了 Roo Code,Windows 下其他 MCP 客户端应该都需要这么配置。
如果是 Python 写的 MCP 服务,配置里命令如果用 uvx 就不用提前安装相关包,uv 会自动创建临时环境并下载相关 Python 包。
所以使用 npx 和 uvx 命令安装 MCP 服务会非常方便,要做的只是在 cline_mcp_settings. Json 文件添加相关配置信息。
以上安装方法对于 MCP 官方出品的服务完全适用。第三方 MCP 服务的安装可能需要额外的步骤。
MCP 客户端
目前名气大的有这几个:
- Cline(VS Code 插件)
- Roo Code(VS Code 插件)
- Claude 桌面版
- Cursor
- CherryStudio
其他的可参考:客户端 – MCP 中文站
只用过 Roo Code 和 CherryStudio 跑 MCP 服务,Roo Code 支持任意大模型调用 MCP 服务,CherryStudio 目前只支持具有 Function Call 能力的大模型调用 MCP 服务。所以选择 MCP 客户端时候可以留意下对大模型的要求。
话说用 MCP 真得很费 token,跑了 7、8 次就耗费了大概 25 万 token😅。