前言
在上一篇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 中创建要使用的数据库和表,并插入测试数据。
- create database mcp;
- use mcp;
- CREATE TABLE user (
- id INT AUTO_INCREMENT PRIMARY KEY,
- name VARCHAR(50) NOT NULL,
- age INT NOT NULL
- );
- -- 插入 10 条数据
- INSERT INTO user (name, age) VALUES
- ('Alice', 23),
- ('Bob', 30),
- ('Charlie', 27),
- ('David', 35),
- ('Eve', 22),
- ('Frank', 28),
- ('Grace', 31),
- ('Heidi', 26),
- ('Ivan', 29),
- ('Judy', 24);
复制代码 步伐开发
python 开发毗连数据库的 MCP Server 只需要安装两个依赖,mcpcli 和 pymysql,执行下面命令即可完成安装。
- pip install "mcp[cli]"
- pip install pymysql
复制代码 然后就是使用 python 开发 MCP server。团体步伐计分别为两个部门:
- MCP Server 的界说,这里可以参考之前写的一篇博客什么是MCP?本地怎样开发MCP Server
- pymysql 毗连 MySQL 查询数据库
新建一个 mysql_mcp.py 文件,其中代码实现如下:
- from mcp.server.fastmcp import FastMCP
- import pymysql
- mcp = FastMCP("MySQLMCP")
- @mcp.tool()
- def analysis_data(age: int) -> int:
- conn = pymysql.connect(
- host="152.136.xx.xxx",
- port=3306,
- user="root",
- password="1234567",
- database="mcp"
- )
- cursor = conn.cursor()
- cursor.execute(f"SELECT COUNT(*) FROM user where age > {age}")
- result = cursor.fetchone()[0]
- cursor.close()
- conn.close()
- return result
- if __name__ == "__main__":
- 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 信息,这个还是超简单的,如下所示:
- {
- "mcpServers": {
- "mysql_mcp": {
- "command": "python3.10",
- "args": [
- "/Users/aqi/mcp-demo/server/mysql_mcp.py"
- ]
- }
- }
- }
复制代码
- mcpServers 是固定的,是 MCP Server 的顶级节点。
- mysql_mcp 是自界说的节点名称。
- command 和 args 分别是运行命令和参数。
在 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企服之家,中国第一个企服评测及商务社交产业平台。 |