Windows本地开发MCP Server,并配置cursor

通过实现一个 MySQL 数据库查询的 MCP Server,探索在cursor中如何配置并调用自己的 MCP Server,以此来实现 MySQL 数据库的查询。

1.python 开发连接数据库的 MCP Server 只需要安装两个依赖,mcpcli 和 pymysql,执行下面命令即可完成安装。  

# 创建新的项目
uv init mcp-demo
cd mcp-demo

# 创建并激活虚拟环境
uv venv
 .venv\Scripts\activate    

# 安装依赖
uv add "mcp[cli]" 
uv add pymysql

  

  

2. MCP Server 开发

数据准备

首先在 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);

  

新建一个 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 mysql_mcp.py

  

 在浏览器中访问 6274 端口就可以访问到 MCP Inspector。我们定义了mcp的tool和resource两种能力,在 MCP Inspector 中分别进行测试。

 

3、Windows下配置cursor

{
  "mcpServers": {
    "mysql_mcp": {
      "command": "cmd",
      "args": [
        "/c",
        "python",
        "E:\\www\\Python_demo\\mcp-demo\\mysql_mcp.py"
      ]
    }
  }
}

  

 

  

 

posted @ 2025-04-18 16:06  佚小名  阅读(1443)  评论(0)    收藏  举报