使用Cherry Studio搭建mysql mcp应用2(sse模式)_mysql-mcp-server-sse
文章目录
- 1 前言
- 2 环境
- 3 步骤
-
- 3.1 创建项目
- 3.2 配置 mysql_mcp_server_pro
- 3.3 启动 mysql_mcp_server_pro
- 3.4 配置网络
- 3.5 配置MCP服务器
- 3.6 创建测试数据
- 3.7 在对话中使用该MCP Server
- 4. 参考
1 前言
Cherry studio接入mcp-server有两种模式,一种是stdio模式,一种是sse模式,在之前的文章的中介绍了stdio模式: 使用Cherry Studio搭建mysql mcp应用1(stdio模式),本文将介绍sse模式。
PS : stdio模式和sse模式有何区别? stdio模式可以理解为单机模式,它的特点是mcp server跟mcp client( 比如Cherry studio)必须运行在同一台机器上的,而 sse模式可以理解为网络模式, 它的特点是mcp server和mcp client(比如 Cherry studio)可以运行在不同的机器上。
2 环境
- Windows 10
- Cherry Studio 1.3.12
- Python 3.13
- MySQL 8.x。
3 步骤
3.1 创建项目
在空闲的磁盘上创建一个文件夹,比如 C:/mysql-mcp-sse,进入目录,打开命令行工具,执行以下命令:
# 新建环境uv venv# 激活环境.venv\\Scripts\\activate
安装 mysql_mcp_server_pro
uv pip install mysql_mcp_server_pro
3.2 配置 mysql_mcp_server_pro
在同一个目录下,使用touch
命令新建一个.env
文件,如下:
touch .env
在.env文件中加入以下配置:
# MySQL数据库配置MYSQL_HOST=localhostMYSQL_PORT=3306MYSQL_USER=your_usernameMYSQL_PASSWORD=your_passwordMYSQL_DATABASE=your_database# 可选值: readonly, writer, admin,默认为 readonlyMYSQL_ROLE=readonly
3.3 启动 mysql_mcp_server_pro
uv run -m mysql_mcp_server_pro.server
如果正常启动,则效果如下:
可以看到它监听在 9000
端口上。
3.4 配置网络
仅限于运行mcp server的电脑需要配置。这里假定该电脑使用的是 windows 10系统,linux系统也是类似的操作。
使用ipconfig命令获取本机的ip。
ipconfig
在这里,本机的ip为:10.107.2.31
,记住这个ip后面有用。
如果电脑开启了防火墙,必须放行,否则其它电脑无法访问。配置方式如下: 打开控制面板
,选择“系统和安全”=>“Windows Defnder防火墙”(1),然后选择“高级设置”(2)。
如下图所示:选择“入站规则”(1), 在右侧选择“新建规则”(2),接着会弹出一个对话框,点击下一步,在“协议和端口”配置页中,选择“端口”(3),点击下一步。
如下图所示, 选择“特定本地端口”,输入 9000
, 接着选择 下一步
至结束。
如果上面配置没有问题的话,在同一个网络内的其它电脑上是可以访问到这个sse服务的。验证:在其它电脑的浏览器中输入:http://10.107.2.31:9000/sse
,可以看到以下类似的响应:
3.5 配置MCP服务器
进入Cherry Studio, 按下图所示,点击左侧“设置”图标(1),接着选择“MCP服务器”(2), 然后添加服务器(3), 在下拉菜单中选择“从JSON导入”(4)。
在弹出的对话框中输出以下内容:
{ \"mcpServers\": { \"operateMysql\": { \"name\": \"mysql-sse\", \"description\": \"\", \"isActive\": true, \"baseUrl\": \"http://10.107.2.31:9000/sse\" } }}
说明:
mysql-sse
为mcp服务器的名称。- baseUrl中的
http://10.107.2.31:9000/sse
为上一步获得的 sse服务的地址。
3.6 创建测试数据
建表
CREATE TABLE `user` ( `id` int NOT NULL AUTO_INCREMENT COMMENT \'主键\', `name` varchar(255) DEFAULT NULL COMMENT \'姓名\', `age` int DEFAULT NULL COMMENT \'年龄\', PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COMMENT=\'用户表\';
插入数据
INSERT INTO `user` (`name`, `age`) VALUES(\'张三\', 28),(\'李四\', 32),(\'王五\', 25),(\'赵六\', 41),(\'陈七\', 19),(\'刘八\', 36),(\'周九\', 22),(\'吴十\', 30),(\'郑十一\', 27),(\'黄十二\', 33),(\'徐十三\', 29),(\'孙十四\', 24),(\'胡十五\', 38),(\'郭十六\', 31),(\'何十七\', 26),(\'高十八\', 35),(\'林十九\', 37),(\'罗二十\', 34),(\'梁二一\', 39),(\'宋二二\', 40);
3.7 在对话中使用该MCP Server
进入Cherry Studio, 按下图所示,点击左侧“助手”图标(1), 然后在聊天框的工具栏中选择“MCP服务器”图标(3), 在菜单中选择之前配置的“mysql-sse”(3)。
在聊天窗口中输入以下问题:
问题:
用户表 user中 年龄最大的是谁?
可以看到,这个跟测试数据是一致的。
问题
有多少个用户?
可以看到,这个跟测试数据是一致的。
4. 参考
gitee: mysql_mcp_server_pro