面向新手的MCP使用教程:在Cherry Studio中配置和使用模型上下文协议

什么是MCP?为什么它很重要?

如果你经常使用像Claude这样的大语言模型,你可能已经注意到它们虽然强大,但有时候也有局限性,比如无法获取实时信息或访问特定工具。

模型上下文协议(Model Context Protocol,简称MCP)就是为了解决这个问题而诞生的!简单来说,它是一种让AI能够"伸出手"使用外部工具和服务的协议,让AI变得更加强大和实用。

想象一下,你正在和AI助手聊天,突然想让它帮你搜索最新的新闻,或者查看你的文件,甚至操作数据库——有了MCP,这些都成为可能!

MCP的工作原理:

  1. 服务器(Server):提供特定功能的工具,比如网页搜索、文件访问等
  2. 客户端(Client):在AI应用中与服务器保持连接
  3. 传输(Transport):客户端和服务器之间的通信方式
  4. 主机(Host):启动连接的应用程序,如Cherry Studio或Claude Desktop

这张图说明了MCP协议就像是现在日常使用的USB协议,让AI和外部工具之间可以方便地传输数据和指令。
更详细的介绍可以参考 来自佬友的笔记:【瞎折腾2】MCP概念学习笔记 以及文末的参考文献。

Cherry Studio中MCP的配置:从零开始

现在,让我们一步步在Cherry Studio中配置MCP。不用担心,即使你是技术小白,按照下面的步骤来,也能轻松搞定!
这份教程针对windows用户,我没有在Linux, MacOS上测试过。

第一步:准备工作

  1. 下载安装最新版Cherry Studio

    • 访问官方网站cherry-ai.com下载最新版
    • 按照提示完成安装
  2. 了解两种MCP传输类型

    • STDIO(标准输入/输出):在本地运行,可以访问你电脑上的文件和应用
    • SSE(服务器发送事件):在远程服务器运行,设置简单但无法访问本地资源

第二步:环境配置(仅STDIO类型需要)

如果你只打算使用SSE类型的MCP服务,可以直接跳到第三步。

Windows用户

  1. 安装Python(使用uv)
    • 打开PowerShell(可以在开始菜单中搜索)
    • 复制粘贴以下命令并运行:
      powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
      
    • 关闭并重新打开PowerShell,输入uv验证安装成功

  1. 安装NodeJS(推荐使用bun)

    • 在PowerShell中运行:
      powershell -c "irm bun.sh/install.ps1|iex"
      
    • 安装完成后,关闭并重新打开PowerShell,输入bun --version确认安装成功
  2. 验证安装

    • 在终端分别运行uvbunnode,如果没有报错,说明安装成功了

第三步:在Cherry Studio中配置MCP服务器

  1. 打开Cherry Studio
  2. 进入设置MCP服务器
  3. 点击添加服务器按钮

配置STDIO类型MCP服务(本地运行)

以官方的Fetch MCP Server为例:

  1. 点击添加服务器,选择STDIO类型
  2. 填写以下信息:
    • 名称:fetch(这是服务器的标识名)
    • 命令:uvx(用于运行服务的命令)
    • 参数:mcp-server-fetch(命令的参数)
  3. 点击确定保存配置

某些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类型的配置更简单:

  1. 点击添加服务器,选择SSE类型
  2. 填写服务器的URL
  3. 点击确定保存

第四步:使用MCP增强你的AI体验

配置完成后,就可以开始使用MCP增强你的AI体验了:

  1. 进入Cherry Studio的聊天界面
  2. 点击聊天区的MCP服务器按钮
  3. 选择要启用的MCP服务器(可以单个选择或一键启用全部)

我配置了四个STDIO类型的MCP服务,分别是:

  • fetch:获取最新网页内容
  • filesystem:访问和操作本地文件
  • memory:记忆功能
  • mcp-server-time:获取当前时间

小贴士:启用MCP服务后,每次操作都会与大模型交互,消耗更多Token。建议只启用你当前需要的MCP服务。

  1. 开始与AI助手对话,体验增强功能

    • 例如,启用fetch服务后,可以让AI获取最新网页内容
    • 启用filesystem后,可以让AI访问和操作本地文件
  2. 可以随时点击MCP状态栏,查看调用参数和返回结果,便于分析结果的可靠性

下面是几个MCP服务的使用示例:


常见问题解答

网络问题怎么解决?

国内网络环境可能导致安装uv和NodeJS时无法访问外网资源。以下是解决方案:

Python包使用国内镜像源

使用-i参数指定国内镜像:

uvx -i https://pypi.tuna.tsinghua.edu.cn/simple mcp-server-fetch

常用国内PyPI镜像:

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服务器时提示找不到npxuvx命令,请使用绝对路径:

  1. 使用which命令查看实际路径:

    which bunx
    

    可能显示:/opt/homebrew/bin/bunx

  2. 在配置中使用完整路径,例如将bunx换成/opt/homebrew/bin/bunx

如何使用本地源代码运行MCP服务?

某些MCP服务未打包到npm或pypi,需要本地运行源代码:

  1. 下载服务代码
  2. 安装依赖
  3. 在配置中指定代码路径:
    {
      "mcpServers": {
        "web-search": {
          "command": "node",
          "args": ["/path/to/web-search/build/index.js"]
        }
      }
    }
    

cherry studio 提示缺失uv或bun

只要你正确安装了uv或bun,这个提示就不用理会,可以正常使用MCP服务,因为它们在系统里是全局的。
或者可以参考 “找不到命令怎么办?”

错误32000怎么解决?

错误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变得更加强大和实用!如果你在使用过程中遇到任何问题,欢迎在评论区留言交流。

祝你使用愉快!


参考资料:

172 个赞

能操作本地文件,那是不是给一个或多个代码文件,让其进行改写,能获得近似cursor的体验? :bili_007:
仅考虑小文件,比如小于1000行的代码,这样让一些很简单的代码改起来很便捷

4 个赞

可以读写本地文件,
我这里设置了它可以修改桌面文件和一个指定文件夹里的文件。

效果肯定不及cursor等。

5 个赞

MCP虽然好,也确实是一个有巨大应用场景的前生态吧,但是提醒各位佬,在操作本地文件之前,最好想办法限制host能操作的目录和文件,谨防信息泄露带来的各种问题,比如开盒、信息泄密等。

6 个赞

是的,谨防个人信息泄露! :face_with_hand_over_mouth:

4 个赞

佬,你写的这篇文章很细致啊,我觉得完全都可以丢到文档共建的那个栏目下了,写的是真好

5 个赞

简单限制权限有没有什么方案

3 个赞

太细节了佬

3 个赞

这图不错和 MPC 介绍是目前看过最正确的。至于 Cherry Studion 没看。

3 个赞

nice,体验下效果

2 个赞

高质量文章值得收藏!我突然有一个想法,可不可以让它给一个杂乱的文件夹分类整理 :face_with_monocle:

2 个赞

错误32000怎么解决?

遇到最多的还是这个问题了 :joy:

file,mcp-searxng,还有一个论文搜索的安装不了
其他的都可以安装
本地运行安装命令也可以
就是客户端里面不行

2 个赞

Openwebui能搞mcp玩吗?

1 个赞

使用MCP
deepseek官方的v3模型,或者叫做deepseek chat支持的function calling似乎以string的方式返回,而cherry 要求的是json. 官方的R1模型没有function calling功能,在cherry上无法使用mcp

佬,能不能抓一下cherry studio使用MCP时的包发我
我最近在写一个中转,让deepseek v3支持mcp
我需要提问过程全程的请求包和响应

1 个赞

我不擅长这个,我只能给你一个使用的效果展示。

只是这样不停地卡死…

感谢您的认可

1 个赞

MCP Inspector

The MCP inspector is a developer tool for testing and debugging MCP servers.

之前找到这个工具可以测试MCP是否能正常工作,也就是本地测试,找到问题所在并修复;
然后再放进cherry studio里使用,遇到 32000 的情况应该会少一些。

1 个赞

感谢大佬教程

1 个赞

cherry里面默认搜索的第一个,也是直接安装不了 :joy: