MySQL数据库访问工具

一个为AI助手提供MySQL数据库访问工具的MCP服务器,支持执行SQL查询、描述表结构和列出数据库表。

  • by dkabx
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 dkabx/mcp-mysql-server

使用说明

MySQL MCP服务器

一个模型上下文协议(MCP)服务器,为Cursor等AI助手提供MySQL数据库访问工具。

概述

此MCP服务器通过提供三个基本工具使AI助手能够与MySQL数据库交互:

  • 执行SQL查询
  • 描述表格结构
  • 列出所有数据库表

特性

  • 查询执行:对MySQL数据库运行任何SQL查询
  • 表描述:获取任何表的详细架构信息
  • 表列表:查看数据库中的所有表
  • 错误处理:数据库操作的全面错误处理
  • MCP协议合规性:完全兼容MCP 2024-11-05规范

先决条件

  • Node.js(v14或更高版本)
  • MySQL数据库(本地或远程)
  • 游标IDE(用于MCP集成)

安装

  1. 克隆或下载此存储库
  2. 安装依赖项:
npm install

配置

服务器使用环境变量进行数据库配置:

  • MYSQL_HOST:MySQL服务器主机名
  • MYSQL_USER:数据库用户名
  • MYSQL_PASSWORD:数据库密码
  • MYSQL_DATABASE:数据库名称
  • MYSQL_PORT:MySQL端口(默认:3306)

光标集成

要将此MCP服务器与Cursor一起使用,请将以下配置添加到Cursor MCP设置文件中(~/.cursor/mcp.json):

{
  "mcpServers": {
    "mysql-mcp": {
      "label": "MySQL MCP",
      "command": "node",
      "args": ["/path/to/your/mysql-mcp-server.js"],
      "env": {
        "MYSQL_HOST": "your-mysql-host",
        "MYSQL_USER": "your-username",
        "MYSQL_PASSWORD": "your-password",
        "MYSQL_DATABASE": "your-database",
        "MYSQL_PORT": "3306"
      }
    }
  }
}

替换 /path/to/your/mysql-mcp-server.js 使用服务器文件的实际路径,并使用数据库凭据更新环境变量。

可用工具

1.mysql_query

对数据库执行任何SQL查询。

参数:

  • query (string):要执行的SQL查询

例子:

SELECT * FROM users WHERE role = 'admin'

2.mysql_describe_table

获取特定表的结构和模式信息。

参数:

  • table_name (string):要描述的表的名称

例子:

mysql_describe_table("users")

3.mysql_list_tables

列出数据库中的所有表。

参数: 无需。

使用示例

在Cursor中配置后,您可以使用自然语言与数据库交互:

  • “显示数据库中的所有表”
  • “描述用户表的结构”
  • “从用户表中获取所有管理员用户”
  • “显示最近的约会”

安全考虑

  • 数据库凭据:安全地存储敏感凭据,永远不要将其提交给版本控制
  • 查询权限:服务器使用提供的数据库用户权限执行查询
  • 网络接入:确保您的数据库得到适当保护,并且只能从授权来源访问
  • 输入验证:当服务器处理错误时,始终验证和清理生产中的输入

故障排除

服务器在光标中显示为红色

  • 检查所有环境变量是否设置正确
  • 验证数据库连接
  • 确保Node.js和mysql2包已正确安装
  • 检查Cursor的开发人员控制台是否有错误消息

连接错误

  • 验证数据库主机、端口和凭据
  • 检查数据库的网络连接
  • 确保数据库允许来自您的IP的连接
  • 验证数据库名称是否存在

“0个工具已启用”错误

  • 更改配置后重新启动Cursor
  • 检查配置中的MCP服务器文件路径
  • 确保服务器正确实施MCP协议

发展

文件结构

mcp/
├── mysql-mcp-server.js    # Main MCP server implementation
├── package.json           # Node.js dependencies
└── README.md             # This file

依赖项

  • mysql2:支持promise的Node.js MySQL客户端

贡献

请随时提交问题、功能请求或拉取请求以改进此MCP服务器。

许可证

这个项目是开源的,可以在MIT许可证下使用。

更新日志

v1.0.0

  • 初始版本
  • 基本MCP协议实现
  • 三个核心数据库工具(查询、描述、列表)
  • 错误处理和日志
  • 游标集成支持