MCP(Model Context Protocol,模型上下文协议)是由 Anthropic 公司在 2024 年 11 月推出的一种开放协议,旨在统一规范大语言模型(LLM)与外部数据源和工具之间的通信。它就像 AI 界的 USB-C 接口,让 AI 模型能够以标准化的方式连接到各种外部资源。
本文目录
一、MCP 的架构
MCP 采用客户端-服务器架构,核心组件包括:
- MCP 主机(Host):运行 LLM 的应用程序,如 Claude Desktop、IDE 或 AI 工具。
- MCP 客户端(Client):在主机应用程序内部运行,与 MCP 服务器建立 1:1 连接。
- MCP 服务器(Server):提供对外部数据源和工具的访问,响应客户端的请求。
- 本地数据源(Local Data Source):如本地数据库、文件系统等。
- 远程服务(Remote Service):如通过 API 连接的外部系统。
二、MCP 的工作流程
- 主机启动客户端:MCP 主机(如 Claude Desktop)启动内置的 MCP 客户端。
- 客户端连接服务器:客户端通过 MCP 协议连接到 MCP 服务器。
- 服务器提供资源:MCP 服务器提供可用的外部工具和数据源。
- LLM 使用资源生成响应:LLM 使用这些资源生成更准确、更丰富的响应。
三、MCP 的优势
- 标准化交互:通过统一的协议,简化了 LLM 与外部资源的集成,无需为每个工具单独开发接口。
- 降低开发成本:开发者可以快速构建功能丰富的 AI 应用,特别是对于小型创业公司和个人开发者。
- 提升模型能力:让 AI 模型能够访问实时数据,执行更复杂的任务,如文件操作、数据库查询等。
四、MCP 的使用场景
MCP可以连接各种工具,实现工作的流程化处理,这里也介绍一个MCP服务开源项目,有很多有意思的MCP服务:GitHub - punkpeye/awesome-mcp-servers: A collection of MCP servers.
- 本地文件操作:AI 可以直接读取、编辑和管理本地文件,如整理会议记录、生成文档摘要等。
- 数据库查询:通过自然语言指令,AI 能够调用 MCP 服务器,将指令转化为 SQL 语句,查询数据库。
- 调用外部 API:连接到各种外部服务,如天气查询、地图服务等。例如,通过高德地图的 MCP,可以检索附近的咖啡馆并生成网页。
- 自动化开发流程:在软件开发中,AI 可以通过 MCP 调用 GitHub、Jenkins 等工具,实现代码合并、构建镜像等操作。
五、MCP使用方式
5.1 安装uv
目前大部分开源的mcp服务都是通过uv命令进行的实现,所以首先我们需要安装下uv命令,以下是不同系统安装 uv
命令的方法:
1、macOS 和 Linux 系统
-
使用官方独立安装脚本:在终端中运行以下命令
curl -LsSf https://astral.sh/uv/install.sh | sh
如果系统没有 curl
,可以使用 wget
wget -qO- https://astral.sh/uv/install.sh | sh
- 通过包管理器安装:使用 Homebrew(适用于 macOS)
brew install uv
- 使用 pip
pip install uv
2、Windows 系统
- 使用官方独立安装脚本:在 PowerShell 中运行以下命令:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
- 通过包管理器安装:
使用 winget
winget install --id=astral-sh.uv -e
使用 pip
pip install uv
3、验证安装
安装完成后,可以在终端或命令提示符中运行以下命令来验证 uv
是否安装成功:
uv --version
5.2 Cherry Studio 配置mcp服务
1、下载客户端
进入Cherry Studio官方网站:Cherry Studio 官方网站 - 全能的AI助手,下载对应系统版本的Cherry Studio。
2、配置大模型api
- 我们需要在Cherry Studio 上配置具体使用的大模型api接口。这里我以OpenRouter为例,在Cherry Studio进行配置,因为OpenRouter里面提供各种免费的大模型进行使用,不了解的朋友可以参考我的这篇文章OpenRouter:AI 模型的超级连接器,手把手教你如何使用!-CSDN博客。
3、配置mcp服务协议
安装打开后的界面如下图所示
点击设置- MCP 服务器 - 编辑按钮
将开源的MCP服务协议内容复制进去
- https://github.com/blazickjp/arxiv-mcp-server,这里以arxiv-mcp-server服务为例,用来查询论文和分析论文的mcp服务,下一篇文章专门讲解下如何使用。下面是arxiv-mcp-server服务的具体命令。
{
"mcpServers": {
"arxiv-mcp-server": {
"command": "uv",
"args": [
"tool",
"run",
"arxiv-mcp-server",
"--storage-path", "/path/to/paper/storage"
]
}
}
}
- 这里面注意uv命令的具体地址,可以使用which uv 来确认下uv命令的具体地址
4、mcp服务使用
使用时,要在对话框激活 MCP 服务器
5、mcp服务使用演示
5.3 Vscode 配置mcp服务
1、插件安装
在vscode插件市场安装Cline Chinese插件,是Cline 插件的汉化版
2、插件api配置
点击Cline插件的右上角的设置按钮
根据自己的情况配置对应的API,这里我选择使用的是OpenRouter里的免费api接口,不知道如何使用OpenRouter的,可以参考我的这篇文章:OpenRouter:AI 模型的超级连接器,手把手教你如何使用!-CSDN博客
3、mcp服务配置
点击MCP服务器按钮,选择已安装,点击配置MCP服务器
4、mcp服务配置
在这里可以将想要用的mcp服务协议复制进去
5、mcp服务使用
配置好后,我们可以进行使用,这里依旧以arxiv-mcp-server服务为例,这里我让模型给我找几篇ranekr相关的论文
六、总结
MCP 作为一种开放协议,为 AI 模型与外部世界的连接提供了标准化的解决方案。它不仅降低了开发门槛,还极大地扩展了 AI 应用的边界。无论是开发者还是普通用户,都可以通过 MCP 更高效地利用 AI 技术,实现更多智能化的功能。