目录

一、引言

二、MCP简介

三、环境准备

(一)安装Python

(二)安装MySQL

(三)安装相关依赖

四、数据准备

五、MCP Server开发

(一)创建Python文件

(二)调试MCP Server

六、Cursor配置MCP Server

(一)编写MCP Server的json信息

(二)在Cursor中配置MCP Server

七、使用Cursor通过MCP操作MySQL数据库

(一)查询数据

(二)创建数据库和表

八、总结


一、引言

在当今数字化时代,数据的管理和处理变得至关重要。MySQL作为一款广泛应用的开源关系型数据库管理系统,以其高性能、可靠性和易用性,成为了众多开发者的首选。而Cursor作为一款AI辅助编程工具,结合MCP(Model Context Protocol,模型上下文协议),可以让开发者更便捷地操作数据库。本文将详细介绍如何使用Cursor通过MCP连接MySQL数据库,并创建数据库和表。

二、MCP简介

MCP全称为Model Context Protocol,即模型上下文协议,它是一种AI开放协议,标准化了应用向AI应用提供上下文的方式。可以把MCP看作AI应用的USB - C接口,它提供了一种将AI模型连接到不同数据源和工具的标准化方式。MCP的客户端(如Cursor等AI工具)可以连接到多个MCP服务器,MCP服务器可以安全访问计算机本地文件、数据库、远程服务等,从而扩展了AI的功能。

三、环境准备

(一)安装Python

要求Python版本在3.10及以上,因为后续开发MCP Server需要使用Python。可以从Python官方网站(https://www.python.org/downloads/)下载并安装适合自己操作系统的Python版本。

(二)安装MySQL

可以从MySQL官方网站(https://dev.mysql.com/downloads/installer/)下载MySQL安装程序,按照安装向导进行安装。安装完成后,启动MySQL服务,并记住设置的用户名和密码。

(三)安装相关依赖

在命令行中执行以下命令,安装开发连接数据库的MCP Server所需的依赖:

pip install "mcp[cli]" 
pip install pymysql
pip install uv

四、数据准备

首先,我们需要在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);

你可以使用MySQL的命令行工具或者可视化工具(如MySQL Workbench)来执行上述SQL语句。

五、MCP Server开发

(一)创建Python文件

新建一个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="127.0.0.1",  # 请替换为你的MySQL主机地址
        port=3306,
        user="mcp",  # 请替换为你的MySQL用户名
        password="mcp@234",  # 请替换为你的MySQL密码
        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

# 创建数据表,结构SQL语句
@mcp.tool()
def create_table(structure: str) -> str:
    conn = pymysql.connect(
        host="127.0.0.1",
        port=3306,
        user="mcp",
        password="mcp@234",
        database="mcp"
    )
    cursor = conn.cursor()
    cursor.execute(structure)
    conn.commit()
    cursor.close()
    conn.close()
    return "数据表创建成功"


if __name__ == "__main__":
    mcp.run()

在上述代码中,定义了函数analysis_data,在里面实现了MySQL的连接以及对user表的查询,通过传入的参数age作为限定条件统计用户个数。使用@mcp.tool()注解将analysis_data变成了MCP Server的“工具”。

(二)调试MCP Server

在命令行中执行以下命令,启动MCP Inspector进行调试:

mcp install mysql_mcp.py
mcp dev mysql_mcp.py

在浏览器中访问6274端口即可访问MCP Inspector,点击“Connect”连接到MCP Server。在“Tools”标签页下可以看到我们定义的analysis_data。点击“Run Tool”,输入参数age即可获取查询数据库的统计结果。

六、Cursor配置MCP Server

(一)编写MCP Server的json信息

首先,我们需要编写MCP Server的json信息,F:/mcp/mysql_mcp.py 替换成你的路径,示例如下:

{
  "mcpServers": {
    "mysql_mcp": {
        "command": "uv",
        "args": [
          "run",
          "--with",
          "mcp",
          "mcp",
          "run",
          "F:/mcp/mysql_mcp.py"
        ]
    }
  }
}

mcpServers是固定的,是MCP Server的顶级节点。mysql_mcp是自定义的节点名称。commandargs分别是运行命令和参数。

(二)在Cursor中配置MCP Server

  1. 打开Cursor,进入“Cursor Settings”页面。
  2. 点击右侧上方的“Add new global MCP server”按钮,会自动打开mcp.json文件。
  3. 将上面的json内容粘贴进去保存,回到MCP页面即可看到我们的MCP Server信息。

七、使用Cursor通过MCP操作MySQL数据库

(一)查询数据

在Cursor的chat聊天框中,输入查询需求,例如:“查询user表中年龄大于25的用户数量”,Cursor就会调用MCP Server的analysis_data工具进行查询,并将结果返回。

(二)创建数据库和表

虽然在前面已经手动创建了数据库和表,但我们也可以使用Cursor通过MCP来实现。在Cursor的chat聊天框中输入相应的自然语言指令,例如:“创建一个名为product的表,表结构包含id(自增主键)、name(字符串类型)和price(浮点类型)”。Cursor会根据指令生成相应的SQL语句并执行。

以下是创建数据库和表的示例:

八、总结

通过本文的介绍,我们了解了MCP的基本概念,以及如何使用Cursor通过MCP连接MySQL数据库,并创建数据库和表。这种方式让开发者可以更方便地使用自然语言与数据库进行交互,提高了开发效率。

网上教程虽多,但实际操作中难免会遇到问题。如有疑问,欢迎随时留言交流。

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐