MySQL MCP Server

MySQL MCP Server

Enables comprehensive MySQL database management including CRUD operations, schema queries, and natural language to SQL conversion support through complete database structure analysis.

Category
访问服务器

README

MySQL MCP Server

一个功能完整的 MySQL Model Context Protocol (MCP) 服务器,提供数据库管理功能。

功能特性

  • ✅ 数据库管理:创建、删除、列出数据库
  • ✅ 表管理:创建、删除、列出、描述表结构
  • ✅ CRUD 操作:查询、插入、更新、删除数据
  • ✅ SQL 执行:执行任意 SQL 语句
  • ✅ 连接管理:测试连接、切换数据库
  • ✅ Schema 查询:获取完整的数据库结构信息(支持自然语言转 SQL)

安装

前置要求

  • Node.js 18+
  • MySQL 服务器(已安装并运行)
net start mysql80

安装步骤

  1. 克隆仓库:
git clone https://github.com/blackdesert5410/mysql-mcp-server.git
cd mysql-mcp-server
  1. 安装依赖:
npm install

配置

方式一:命令行参数(推荐)

启动时通过命令行参数传递 MySQL 用户名和密码:

node src/index.js <用户名> <密码>

示例:

node src/index.js root your_password

方式二:环境变量

  1. 复制示例配置文件:
cp config.example.env .env
  1. 编辑 .env 文件,填入你的 MySQL 配置:
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=your_username
MYSQL_PASSWORD=your_password
MYSQL_DATABASE=
  1. 启动服务器(无需命令行参数):
node src/index.js

优先级:命令行参数 > 环境变量 > 默认值

使用方法

启动服务器

# 使用命令行参数
node src/index.js <用户名> <密码>

# 或使用 npm start(需要先配置环境变量)
npm start

在 Cursor 中配置

  1. 打开 Cursor 的 MCP 配置文件(通常在 ~/.cursor/mcp.json%APPDATA%\Cursor\mcp.json

  2. 添加以下配置:

Windows 路径格式(推荐使用正斜杠):

{
  "mcpServers": {
    "mysql": {
      "command": "node",
      "args": [
        "D:/AI/mcp-server/src/index.js",
        "your_username",
        "your_password"
      ]
    }
  }
}

或者使用双反斜杠:

{
  "mcpServers": {
    "mysql": {
      "command": "node",
      "args": [
        "D:\\AI\\mcp-server\\src\\index.js",
        "your_username",
        "your_password"
      ]
    }
  }
}

如果 Node.js 不在 PATH 中,使用完整路径:

{
  "mcpServers": {
    "mysql": {
      "command": "C:/Program Files/nodejs/node.exe",
      "args": [
        "D:/AI/mcp-server/src/index.js",
        "your_username",
        "your_password"
      ]
    }
  }
}

注意

  • 将路径替换为你的实际项目路径
  • your_usernameyour_password 替换为你的 MySQL 用户名和密码
  • Windows 路径使用正斜杠 / 或双反斜杠 \\
  • 修改配置后需要重启 Cursor 才能生效

在其他 MCP 客户端中使用

{
  "mcpServers": {
    "mysql": {
      "command": "node",
      "args": [
        "/path/to/mysql-mcp-server/src/index.js",
        "your_username",
        "your_password"
      ]
    }
  }
}

可用工具

数据库管理

  1. test_connection - 测试 MySQL 连接
  2. list_databases - 列出所有数据库
  3. create_database - 创建新数据库
  4. drop_database - 删除数据库
  5. use_database - 选择要使用的数据库

表管理

  1. list_tables - 列出数据库中的所有表
  2. describe_table - 描述表结构
  3. create_table - 创建新表
  4. drop_table - 删除表

数据操作(CRUD)

  1. select - 执行 SELECT 查询
  2. insert - 插入数据到表
  3. update - 更新表中的数据
  4. delete - 从表中删除数据

SQL 执行

  1. execute_sql - 执行 SQL 查询或命令

Schema 查询(自然语言转 SQL 专用)⭐

  1. get_database_schema - 获取整个数据库的完整 schema 信息(所有表、列、类型、约束、外键关系)
  2. get_table_schema - 获取指定表的完整 schema 信息(列名、数据类型、约束、默认值、是否可空等)
  3. get_foreign_keys - 获取表的外键关系信息(理解表之间的关联)
  4. get_indexes - 获取表的索引信息
  5. get_table_info - 获取表的统计信息(行数、引擎类型等)
  6. get_sample_data - 获取表的示例数据(帮助理解数据结构和内容)

自然语言转 SQL 支持

该 MCP 服务完全支持 agent 将自然语言转换为 SQL 查询。通过以下工具,agent 可以:

  1. 理解数据库结构

    • 使用 get_database_schema 获取整个数据库的完整结构
    • 使用 get_table_schema 获取特定表的详细列信息
    • 使用 get_foreign_keys 理解表之间的关联关系
  2. 理解数据内容

    • 使用 get_sample_data 查看示例数据,理解数据格式和内容
    • 使用 get_table_info 了解表的统计信息
  3. 生成和执行 SQL

    • 基于 schema 信息生成准确的 SQL 查询
    • 使用 execute_sql 执行生成的 SQL
    • 或使用便捷的 selectinsertupdatedelete 工具

典型工作流程

当用户说:"查询所有年龄大于 25 的用户"时,agent 可以:

  1. 使用 get_database_schemalist_tables 找到用户表
  2. 使用 get_table_schema 查看用户表的结构,确认年龄字段名称(如 age
  3. 使用 get_sample_data 查看示例数据,理解数据格式
  4. 生成 SQL:SELECT * FROM users WHERE age > 25
  5. 使用 execute_sql 执行查询并返回结果

故障排除

常见问题

  1. "Not connected" 错误

    • 检查配置文件路径是否正确
    • 确保 Node.js 在系统 PATH 中,或使用完整路径
    • 重启 Cursor 应用
    • 验证 MySQL 服务正在运行(Windows: net start mysql80
  2. 连接失败

    • 确保 MySQL 服务已启动
    • 检查用户名和密码是否正确
    • 验证 MySQL 端口(默认 3306)是否可访问
  3. 路径问题

    • Windows 路径建议使用正斜杠 / 或双反斜杠 \\
    • 确保路径中的文件确实存在
  4. 依赖问题

    • 运行 npm install 确保所有依赖已安装
    • 确保使用 Node.js 18+ 版本

更多故障排除信息,请参考 TROUBLESHOOTING.md

注意事项

  • 确保 MySQL 服务已启动(Windows: net start mysql80
  • 用户名和密码通过命令行参数或环境变量传递
  • 确保 Node.js 已安装并可在命令行中使用
  • 对于自然语言转 SQL,建议先使用 schema 查询工具了解数据库结构
  • 不要将包含真实密码的配置文件提交到 Git 仓库

贡献

欢迎提交 Issue 和 Pull Request!

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选