首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >自定义 MCP Server,在 cursor 中连接本地 MySQL 实现了统计分析

自定义 MCP Server,在 cursor 中连接本地 MySQL 实现了统计分析

原创
作者头像
叫我阿柒啊
发布2025-04-10 01:40:47
发布2025-04-10 01:40:47
7.1K40
代码可运行
举报
运行总次数:0
代码可运行

前言

在上一篇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 中创建要使用的数据库和表,并插入测试数据。

代码语言:sql
复制
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,执行下面命令即可完成安装。

代码语言:bash
复制
pip install "mcp[cli]" 
pip install pymysql

然后就是使用 python 开发 MCP server。整体程序设计分为两个部分:

  1. MCP Server 的定义,这里可以参考之前写的一篇博客什么是MCP?本地如何开发MCP Server
  2. pymysql 连接 MySQL 查询数据库

新建一个 mysql_mcp.py 文件,其中代码实现如下:

代码语言:python
代码运行次数:0
运行
复制
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 信息,这个还是超简单的,如下所示:

代码语言:json
复制
{
    "mcpServers": {
      "mysql_mcp": {
        "command": "python3.10",
        "args": [
          "/Users/aqi/mcp-demo/server/mysql_mcp.py"
        ]
      }
    }
  }
  1. mcpServers 是固定的,是 MCP Server 的顶级节点。
  2. mysql_mcp 是自定义的节点名称。
  3. commandargs 分别是运行命令和参数。

在 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 万物可连。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • MCP Server 开发
    • 数据准备
    • 程序开发
    • 调试
  • cursor 配置 MCP Server
  • 结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档