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" ] } } }