模型整合-cherry studio+mysql_mcp_server服务配置

一、什么是MCP

MCP(Model Context
Protocol)是模型上下文协议,它允许大型语言模型(LLM)通过协议与外部工具或服务交互,动态获取实时数据或执行操作。简单来说,它让模型不再局限于静态知识库,而是能像人类一样调用搜索引擎、访问本地文件、连接API服务,甚至操作第三方软件。这种能力在需要实时信息(如天气、新闻)或复杂任务(如数据分析)的场景中至关重要。

二、MCP架构介绍

2.1 核心概念

MCP 遵循客户端-服务器架构(client-server),其中包含以下几个核心概念:

  • MCP 主机(MCP Hosts):发起请求的 LLM 应用程序(例如 Claude Desktop、IDE 或 AI 工具)。
  • MCP 客户端(MCP Clients):在主机程序内部,与 MCP server 保持 1:1 的连接。
  • MCP 服务器(MCP Servers):为 MCP client 提供上下文、工具和 prompt 信息。
  • 本地资源(Local Resources):本地计算机中可供 MCP server 安全访问的资源(例如文件、数据库)。
  • 远程资源(Remote Resources):MCP server 可以连接到的远程资源(例如通过 API)

2.2 MCP Client

MCP client 充当 LLM 和 MCP server 之间的桥梁,MCP client 的工作流程如下:

  • MCP client 首先从 MCP server 获取可用的工具列表。
  • 将用户的查询连同工具描述通过 function calling 一起发送给 LLM。
  • LLM 决定是否需要使用工具以及使用哪些工具。
  • 如果需要使用工具,MCP client 会通过 MCP server 执行相应的工具调用。
  • 工具调用的结果会被发送回 LLM。
  • LLM 基于所有信息生成自然语言响应。
  • 最后将响应展示给用户。
  • 我们可以在:https://modelcontextprotocol.io/clients,找到当前支持 MCP 协议的客户端程序。

2.3 MCP Server

MCP server 是 MCP 架构中的关键组件,它可以提供 3 种主要类型的功能:

  • 资源(Resources):类似文件的数据,可以被客户端读取,如 API 响应或文件内容。
  • 工具(Tools):可以被 LLM 调用的函数(需要用户批准)。
  • 提示(Prompts):预先编写的模板,帮助用户完成特定任务。
  • 这些功能使 MCP server 能够为 AI 应用提供丰富的上下文信息和操作能力,从而增强 LLM 的实用性和灵活性。
  • 我们可以在https://github.com/modelcontextprotocol/servers 和 https://github.com/punkpeye/awesome-mcp-servers 这两个 repo 中找到许多由社区实现的 MCP server。使用 TypeScript 编写的 MCP server 可以通过 npx 命令来运行,使用 Python 编写的 MCP server 可以通过 uvx 命令来运行。

2.4 应用架构图

[图片]

三、cherry studio的mcp服务配置

3.1 MCP的两种模式

1)STDIO模式(本地运行)

  • 特点:本地安装运行MCP Server,但需配置开发环境。
  • 配置步骤:
    • 安装依赖:需Python(推荐用uv安装)和NodeJS(推荐bun代替npm),Windows/MacOS/Linux均支持
    • 添加MCP服务:在Cherry Studio->Settings->MCP Servers中,选择Edit JSON,填写mcpServers配置内容。

2)SSE模式(远程服务)

  • 特点:无需本地环境,仅需输入服务器URL,适合调用云端API(如天气查询、数据库接口)。
  • 配置步骤:直接输入SSE服务地址即可,例如集成Google Gemini或腾讯混元的联网搜索功能。

3.2 本地模式的配置操作指南

1. python和node环境的验证

C:\Users\12487>node -v
v20.12.2

C:\Users\12487>python --version
Python 3.13.2

2. Cherry studio版本要求

建议使用最新版本,旧的版本中,配置项里没有MCP服务的配置

3. 安装MySQL_MCP_Server服务

  • 创建mysql_mcp_server安装路径
mkdir D:\applications\mcp_servers\
  • git拉取mysql_mcp_server服务: git clone
https://github.com/designcomputer/mysql_mcp_server.git
12487@Lee MINGW64 /d/applications/mcp_servers/mysql_mcp_server
$ git clone https://github.com/designcomputer/mysql_mcp_server.git
Cloning into 'mysql_mcp_server'...
remote: Enumerating objects: 81, done.
remote: Counting objects: 100% (81/81), done.
remote: Compressing objects: 100% (57/57), done.
remote: Total 81 (delta 27), reused 68 (delta 14), pack-reused 0 (from 0)
Receiving objects: 100% (81/81), 16.17 KiB | 172.00 KiB/s, done.
Resolving deltas: 100% (27/27), done.
  • 安装依赖文件:pip install -r requirements.txt
PS D:\applications\mcp_servers\mysql_mcp_server> pip install -r requirements.txt
Collecting mcp>=1.0.0 (from -r requirements.txt (line 1))
  Downloading mcp-1.4.1-py3-none-any.whl.metadata (18 kB)

4. uv的配置和安装

  • 执行命令:pip install uv
C:\Users\12487>pip install uv
Collecting uv
  WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1028)'))': /packages/72/18/84ff5e0e940d18d7367fdd57bdba83ea131f1c3771f256faca1099e93690/uv-0.6.9-py3-none-win_amd64.whl.metadata
  Downloading uv-0.6.9-py3-none-win_amd64.whl.metadata (11 kB)
Downloading uv-0.6.9-py3-none-win_amd64.whl (17.4 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 17.4/17.4 MB 21.9 MB/s eta 0:00:00
Installing collected packages: uv
Successfully installed uv-0.6.9
  • 验证uv环境:uv --version
  C:\Users\12487>uv --version
uv 0.6.9 (3d9460278 2025-03-20)
  • 查看uv安装路径:where uv
C:\Users\12487>where uv
D:\applications\python3.13\Scripts\uv.exe

5. MySQL_MCP_Server激活

  • 配置相关参数:Cherry Studio->设置->MCP服务器中,选择Edit JSON,填写下面内容,步骤如图所示。
    {
    “mcpServers”: {
    “mysql”: {
    “isActive”: true,
    “command”: “D:/applications/python3.13/Scripts/uv”,
    “args”: [
    “–directory”,
    “D:/applications/mcp_servers/mysql_mcp_server”,
    “run”,
    “mysql_mcp_server”
    ],
    “env”: {
    “MYSQL_HOST”: “localhost”,
    “MYSQL_PORT”: “3306”,
    “MYSQL_USER”: “root”,
    “MYSQL_PASSWORD”: “123456”,
    “MYSQL_DATABASE”: “test_db”
    }
    }
    }
    }
    [图片]

  • mysql_mcp_server服务的启用,如上图示。

6. 相关模型参数配置

模型要使用MCP功能,这个模型需要拥有并开启tools功能,然后,在输入框输入查询诉求就可以了。具体操作如下。

  • 配置路径为:设置–>模型服务–>ollama–>qwen2.5:7b(我这里选用的是qwen2.5:7b模型),具体操作如下图示:
    [图片]

  • 配置成功后有个小扳手的图标,如下图示:
    [图片]

  1. 本地助手使用
  • 选择助手(这里我用的是自己创建的本地助手)–>选择qwen2.5:7b模型(ollama安装的本地模型)–>选择mcp服务,具体操作如图所示:
    [图片]

  • 应用示例
    [图片]

### 如何在本地搭建 MCP Server 并连接到 Cherry Studio 要在本地环境中成功搭建 MCP (Model Context Protocol) Server 并将其接入 Cherry Studio,可以按照以下方式操作: #### 1. 安装 Python 和必要的依赖项 为了运行 MCP Server,首先需要安装 Python 环境以及相关的库。Python 是一种广泛使用的编程语言,在此场景下用于实现服务器逻辑。 确保已安装最新版本的 Python,并通过 pip 命令安装所需的包: ```bash pip install flask requests model-context-protocol ``` 上述命令会安装 Flask Web 框架以及其他可能需要用到的支持库[^2]。 #### 2. 配置 MCP Server 基于文档中的指导,可以通过简单的脚本快速构建一个基本的功能性 MCP Server。下面是一个基础示例代码片段,展示如何设置并启动一个 MCP Server 实例: ```python from flask import Flask, request, jsonify app = Flask(__name__) @app.route('/mcp', methods=['POST']) def handle_mcp_request(): data = request.json # 处理传入的数据... response_data = {"status": "success", "message": f"Received {data}"} return jsonify(response_data) if __name__ == '__main__': app.run(host='0.0.0.0', port=8080) ``` 这段代码定义了一个 HTTP POST 接口 `/mcp` 来接收来自客户端的消息请求,并返回处理后的响应数据。可以根据实际需求扩展该接口功能来满足更复杂的应用场景。 #### 3. 连接到 Cherry Studio 完成 MCP Server 的部署之后,下一步就是让其能够被 Cherry Studio 所识别和访问。这通常涉及到修改应用程序内的配置文件或者界面选项以指定目标地址和服务端口号等参数[^1]。 具体来说,打开 Cherry Studio 软件后寻找有关外部服务集成的部分;在此处输入刚才所设定好的 localhost URL 地址(例如 `http://localhost:8080/mcp`),保存更改即可尝试建立初步联系测试连通状态是否正常。 如果一切顺利的话,则应该可以看到双方之间已经形成了有效的通信链路! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值