qidao123.com技术社区-IT企服评测·应用市场

标题: 自界说 MCP Server,在 cursor 中毗连本地 MySQL 实现了统计分析 [打印本页]

作者: 种地    时间: 2025-4-30 17:50
标题: 自界说 MCP Server,在 cursor 中毗连本地 MySQL 实现了统计分析
前言

在上一篇cursor 怎样调用 MCP server 实现气候查询文章中,我通过在网上找到的气候查询 MCP Server,直接通过复制mcp.json直接实现了cursor气候查询的调用。那么,如果我们本身开发的 MCP Server 该怎样在cursor中调用呢?
所以本篇文章就通过实现一个 MySQL 数据库查询的 MCP Server,探索在cursor中怎样设置并调用本身的 MCP Server,以此来实现 MySQL 数据库的查询。
MCP Server 开发

之前说过用 uv 举行管理 MCP 项目,这里为了简化开发,直接使用 pip 举行开发,要求 Python 版本在3.10及以上。
数据预备

首先在 MySQL 中创建要使用的数据库和表,并插入测试数据。
  1. create database mcp;
  2. use mcp;
  3. CREATE TABLE user (
  4.     id INT AUTO_INCREMENT PRIMARY KEY,
  5.     name VARCHAR(50) NOT NULL,
  6.     age INT NOT NULL
  7. );
  8. -- 插入 10 条数据
  9. INSERT INTO user (name, age) VALUES
  10. ('Alice', 23),
  11. ('Bob', 30),
  12. ('Charlie', 27),
  13. ('David', 35),
  14. ('Eve', 22),
  15. ('Frank', 28),
  16. ('Grace', 31),
  17. ('Heidi', 26),
  18. ('Ivan', 29),
  19. ('Judy', 24);
复制代码
步伐开发

python 开发毗连数据库的 MCP Server 只需要安装两个依赖,mcpcli 和 pymysql,执行下面命令即可完成安装。
  1. pip install "mcp[cli]"
  2. pip install pymysql
复制代码
然后就是使用 python 开发 MCP server。团体步伐计分别为两个部门:
新建一个 mysql_mcp.py 文件,其中代码实现如下:
  1. from mcp.server.fastmcp import FastMCP
  2. import pymysql
  3. mcp = FastMCP("MySQLMCP")
  4. @mcp.tool()
  5. def analysis_data(age: int) -> int:
  6.     conn = pymysql.connect(
  7.         host="152.136.xx.xxx",
  8.         port=3306,
  9.         user="root",
  10.         password="1234567",
  11.         database="mcp"
  12.     )
  13.     cursor = conn.cursor()
  14.     cursor.execute(f"SELECT COUNT(*) FROM user where age > {age}")
  15.     result = cursor.fetchone()[0]
  16.     cursor.close()
  17.     conn.close()
  18.     return result
  19. if __name__ == "__main__":
  20.     mcp.run()
复制代码
在上面代码中界说了函数 analysis_data,在内里实现了 MySQL 的毗连以及对 user 表的查询,通过传入的参数 age 作为限定条件统计用户个数。使用 @mcp.tool() 注解将 analysis_data 变成了 MCP Server 的“工具”。
调试

还是通过 mcp dev 启动 MCP Insepctor 举行调试我们的 MCP Server 是否可用。

在欣赏器中访问6274端口即可访问,点击 Connect 毗连到 MCP Server。在 Tools 标签页下可以看到我们界说的 analysis_data。

点击 Run Tool,输入参数 age 即可获取查询数据库的统计结果。

如上图说,查询到数据库并成功返回。接下来就是将这个 MCP Server 设置到 cursor 中。
cursor 设置 MCP Server

首先我们需要编写 MCP Server 的 json 信息,这个还是超简单的,如下所示:
  1. {
  2.     "mcpServers": {
  3.       "mysql_mcp": {
  4.         "command": "python3.10",
  5.         "args": [
  6.           "/Users/aqi/mcp-demo/server/mysql_mcp.py"
  7.         ]
  8.       }
  9.     }
  10.   }
复制代码
在 Cursor Settings 中找到 MCP,点击右侧上方的 Add new global MCP server 按钮,
会自动打开 mcp.json 文件,将上面 json 内容粘贴进去保存,回到 MCP 页面即可看到我们的 MCP Server 信息。

在 cursor 的 chat 聊天框中,输入我们的查询需求运行,cursor 就会调用 MCP Server 的 analysis_data 工具举行查询。

运行成功之后将结果返回。

结语

本篇文章通过自界说 MCP Server,在 cursor 中调用 tool 对 MySQL 的数据查询,从步伐开发来看,MCP Server 毗连数据库的实现,和普通 Python 步伐毗连 MySQL 根本上没什么区别。这也进一步说明白 MCP 给 LLM 工具的开发带来了很大的提升,也从侧面说明白有了 MCP 万物可连。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 qidao123.com技术社区-IT企服评测·应用市场 (https://dis.qidao123.com/) Powered by Discuz! X3.4