什么是MCP?为什么它很重要?
如果你经常使用像Claude这样的大语言模型,你可能已经注意到它们虽然强大,但有时候也有局限性,比如无法获取实时信息或访问特定工具。
模型上下文协议(Model Context Protocol,简称MCP)就是为了解决这个问题而诞生的!简单来说,它是一种让AI能够"伸出手"使用外部工具和服务的协议,让AI变得更加强大和实用。
想象一下,你正在和AI助手聊天,突然想让它帮你搜索最新的新闻,或者查看你的文件,甚至操作数据库——有了MCP,这些都成为可能!
MCP的工作原理:
- 服务器(Server):提供特定功能的工具,比如网页搜索、文件访问等
- 客户端(Client):在AI应用中与服务器保持连接
- 传输(Transport):客户端和服务器之间的通信方式
- 主机(Host):启动连接的应用程序,如Cherry Studio或Claude Desktop
这张图说明了MCP协议就像是现在日常使用的USB协议,让AI和外部工具之间可以方便地传输数据和指令。
更详细的介绍可以参考 来自佬友的笔记:【瞎折腾2】MCP概念学习笔记 以及文末的参考文献。
Cherry Studio中MCP的配置:从零开始
现在,让我们一步步在Cherry Studio中配置MCP。不用担心,即使你是技术小白,按照下面的步骤来,也能轻松搞定!
这份教程针对windows用户,我没有在Linux, MacOS上测试过。
第一步:准备工作
-
下载安装最新版Cherry Studio
- 访问官方网站cherry-ai.com下载最新版
- 按照提示完成安装
-
了解两种MCP传输类型
- STDIO(标准输入/输出):在本地运行,可以访问你电脑上的文件和应用
- SSE(服务器发送事件):在远程服务器运行,设置简单但无法访问本地资源
第二步:环境配置(仅STDIO类型需要)
如果你只打算使用SSE类型的MCP服务,可以直接跳到第三步。
Windows用户
- 安装Python(使用uv)
- 打开PowerShell(可以在开始菜单中搜索)
- 复制粘贴以下命令并运行:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
- 关闭并重新打开PowerShell,输入
uv
验证安装成功
-
安装NodeJS(推荐使用bun)
- 在PowerShell中运行:
powershell -c "irm bun.sh/install.ps1|iex"
- 安装完成后,关闭并重新打开PowerShell,输入
bun --version
确认安装成功
- 在PowerShell中运行:
-
验证安装
- 在终端分别运行
uv
、bun
或node
,如果没有报错,说明安装成功了
- 在终端分别运行
第三步:在Cherry Studio中配置MCP服务器
- 打开Cherry Studio
- 进入设置 → MCP服务器
- 点击添加服务器按钮
配置STDIO类型MCP服务(本地运行)
以官方的Fetch MCP Server为例:
- 点击添加服务器,选择STDIO类型
- 填写以下信息:
- 名称:fetch(这是服务器的标识名)
- 命令:uvx(用于运行服务的命令)
- 参数:mcp-server-fetch(命令的参数)
- 点击确定保存配置
某些MCP服务需要额外的环境变量,例如Brave Search需要API密钥:
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {"BRAVE_API_KEY": "你的API密钥"}
}
}
}
Brave Search MCP Server是集成了 Brave Search API 的 MCP 服务器实现,提供 Web 和本地搜索功能。
特点:
- Web 搜索:常规查询、新闻、文章,具有分页和新鲜度控件
- 本地搜索:查找包含详细信息的商家、餐馆和服务
- 灵活的筛选:控制结果类型、安全级别和内容新鲜度
- 智能回退:未找到结果时,本地搜索会自动回退到 Web
如果npx
有问题,可以使用bunx
代替(这个后面也会提到):
{
"mcpServers": {
"brave-search": {
"command": "bunx",
"args": ["@modelcontextprotocol/server-brave-search"],
"env": {"BRAVE_API_KEY": "你的API密钥"}
}
}
}
配置SSE类型MCP服务(远程运行)
这个我还没有折腾过,教程大概如下:
SSE类型的配置更简单:
- 点击添加服务器,选择SSE类型
- 填写服务器的URL
- 点击确定保存
第四步:使用MCP增强你的AI体验
配置完成后,就可以开始使用MCP增强你的AI体验了:
- 进入Cherry Studio的聊天界面
- 点击聊天区的MCP服务器按钮
- 选择要启用的MCP服务器(可以单个选择或一键启用全部)
我配置了四个STDIO类型的MCP服务,分别是:
- fetch:获取最新网页内容
- filesystem:访问和操作本地文件
- memory:记忆功能
- mcp-server-time:获取当前时间
小贴士:启用MCP服务后,每次操作都会与大模型交互,消耗更多Token。建议只启用你当前需要的MCP服务。
-
开始与AI助手对话,体验增强功能
- 例如,启用fetch服务后,可以让AI获取最新网页内容
- 启用filesystem后,可以让AI访问和操作本地文件
-
可以随时点击MCP状态栏,查看调用参数和返回结果,便于分析结果的可靠性
下面是几个MCP服务的使用示例:
常见问题解答
网络问题怎么解决?
国内网络环境可能导致安装uv和NodeJS时无法访问外网资源。以下是解决方案:
Python包使用国内镜像源
使用-i
参数指定国内镜像:
uvx -i https://pypi.tuna.tsinghua.edu.cn/simple mcp-server-fetch
常用国内PyPI镜像:
- 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple
- 阿里云:Simple Index
- 中国科技大学:https://mirrors.ustc.edu.cn/pypi/simple/
- 华为云:https://repo.huaweicloud.com/repository/pypi/simple/
- 腾讯云:Simple Index
NodeJS包使用国内镜像源
使用--registry
参数指定国内npm镜像:
npx --registry=https://registry.npmmirror.com -y @modelcontextprotocol/server-filesystem
常用npm镜像:
设置powershell代理
预先设定环境变量,让PowerShell使用代理,代理端口可以在例如Clash上查看:
$env:http_proxy="http://127.0.0.1:[代理端口]"
$env:https_proxy="http://127.0.0.1:[代理端口]"
找不到命令怎么办?
如果设置MCP服务器时提示找不到npx
或uvx
命令,请使用绝对路径:
-
使用
which
命令查看实际路径:which bunx
可能显示:
/opt/homebrew/bin/bunx
-
在配置中使用完整路径,例如将
bunx
换成/opt/homebrew/bin/bunx
如何使用本地源代码运行MCP服务?
某些MCP服务未打包到npm或pypi,需要本地运行源代码:
- 下载服务代码
- 安装依赖
- 在配置中指定代码路径:
{ "mcpServers": { "web-search": { "command": "node", "args": ["/path/to/web-search/build/index.js"] } } }
cherry studio 提示缺失uv或bun
只要你正确安装了uv或bun,这个提示就不用理会,可以正常使用MCP服务,因为它们在系统里是全局的。
或者可以参考 “找不到命令怎么办?”
错误32000怎么解决?
- 此问题通常与 npx 有关,建议改用 bunx 启动服务器
更多的问题和解决方案,可以参考Cherry Studio 在GitHub上给出的问题汇总。
个人使用体验
我注意到,使用申请azure得到的 gpt-4o模型(有function calling功能)使用MCP特别方便;然而,一些中转站提供的模型,不论是4o系列模型,还是claude-sonnet 3.7,都不方便使用MCP,可能是它们支持的function calling 功能的返回内容不大一样,所以不能或不容易使用MCP。
此外,deepseek官方的v3模型,或者叫做deepseek chat支持的function calling似乎以string的方式返回,而cherry 要求的是json. 官方的R1模型没有function calling功能,在cherry上无法使用mcp。
总结:MCP让AI更强大
我个人认为MCP技术还比较新,现在对于我更像是小玩具,可能对于开发者更有用,它们可以借此让大模型有更多的自动化,向agent靠拢。但MCP正在迅速发展,并被越来越多的应用采用。
希望这篇教程能帮助你轻松上手MCP,让你的Cherry Studio变得更加强大和实用!如果你在使用过程中遇到任何问题,欢迎在评论区留言交流。
祝你使用愉快!
参考资料:
- Model Context Protocol (MCP) Quickstart
- 如何在 Cherry Studio 中使用 MCP | Vaayne’s Tea House
- Cherry Studio 在GitHub上给出的问题汇总。
- Awesome MCP Servers,一些很令人惊叹的MCP
- 实战详解MCP,从入门到开发!小白也能看懂!MCP推动AI智能体大爆发!Cline+Claude3.7打造论文搜索MCP Server!集成到AutoGen+smolagents智能体框架!AGI到来
- 来自佬友的笔记:【瞎折腾2】MCP概念学习笔记
- Time MCP Server
- Filesystem MCP Server
- Fetch MCP Server
- 一个MCP服务的聚合站
- deepseek-chat 模型 Function Calling 功能效果不稳定的解释 | DeepSeek API Docs
- 有谁在Cherry Studio里可以正常调用MCP time吗? - 开发调优 - LINUX DO