MySQL数据库连接服务器

一个强大的模型上下文协议(MCP)服务器,可将AI助手直接连接到MySQL数据库,实现安全的数据库查询和管理。

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

使用说明

MySQL MCP服务器

一个强大的 模型上下文协议(MCP) 连接您的AI助手的服务器(如 克劳德桌面)直接到你的 MySQL 数据库。该服务器支持安全、受控的访问,以检查模式、查询数据,甚至执行管理任务,所有这些都可以通过自然语言完成。

🚀 特性

此服务器实现了广泛的MCP功能,使您可以完全查看和控制MySQL数据库。

🛠️ 工具

表格管理

  • list-tables:列出数据库中的所有表。
  • describe-table:获取特定表的架构(列、类型、键)。
  • create-table:使用SQL查询创建新表。

数据操作(CRUD)

  • insert-row:使用JSON数据在表中插入新行。
  • update-row:使用方便的基于JSON的WHERE子句更新现有行。
  • delete-row:删除具有安全优先的基于JSON的WHERE子句的行。

查询执行

  • execute-query:执行 只读的 SQL查询(SELECT, SHOW, DESCRIBE).探索安全。
  • execute-write-query:执行 写 SQL查询(INSERT, UPDATE, DELETE, ALTER等等)。小心使用。

数据库管理

  • create-database:创建新数据库。

高级对象检查

  • 存储过程: list-procedures, show-procedure (查看CREATE语句)。
  • 函数: list-functions, show-function (查看CREATE语句)。
  • 触发器: list-triggers, show-trigger.
  • 视图: list-views, show-view.

📦 资源

直接作为标准MCP资源访问数据库内容:

  • mysql://<table_name>/schema:查看表的完整JSON模式。
  • mysql://<table_name>/data:以JSON格式查看表的前100行。

💬 提示

帮助人工智能执行复杂任务的预构建模板:

  • analyze-table:“分析表'Users'的结构和示例数据…”
    • 自动获取模式和示例数据以提供见解。
  • optimize-query:“分析此查询的性能…”
    • 帮助您编写更快、更高效的SQL。

📦 安装

  1. 克隆存储库:

    git clone <repository-url>
    cd mysql-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 构建服务器:

    npm run build
    

⚙️ 配置

1.环境变量

服务器使用 mysql2 并且需要连接细节。您可以通过环境变量传递这些。

变量 描述 默认值
DB_HOST 数据库主机名 localhost
DB_USER 数据库用户名 -
DB_PASSWORD 数据库密码 -
DB_NAME 数据库名称 -
DB_PORT 数据库端口 3306

2.克劳德桌面配置

将以下内容添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "mysql": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/mysql-mcp-server/dist/index.js"],
      "env": {
        "DB_HOST": "localhost",
        "DB_USER": "root",
        "DB_PASSWORD": "your_password",
        "DB_NAME": "your_database",
        "DB_PORT": "3306"
      }
    }
  }
}

注意:一定要更换 /ABSOLUTE/PATH/TO/... 了解项目的实际路径。


💡 使用示例

连接后,您可以向Claude提出以下问题:

  • 探索:“我的数据库中有哪些表?”
  • 模式:“显示的架构 orders 桌子。"
  • 数据分析:“选择花费最多的前5位客户。”
  • 修改:“将名为'Alice'的新用户插入到 users 桌子。"
  • 优化:“分析这个查询,告诉我为什么它很慢: SELECT * FROM logs"

🔒 安全说明

此服务器具有强大的功能,包括写访问(execute-write-query, delete-row等等)。始终确保您连接到具有适当权限的数据库,并在要求AI修改数据时小心。

📄 许可证

国际学生委员会