@enemyrr/mcp-mysql-server

@enemyrr/mcp-mysql-server

site icon
2025.03.08 0
JavaScript数据库服务AI数据库接口数据库
mcp-mysql-server 是一个基于 Model Context Protocol 的服务器,提供 MySQL 数据库操作功能。它通过标准化接口使 AI 模型能够与 MySQL 数据库进行交互,支持多种连接方式和丰富的数据库操作工具。
View on GitHub

Overview

基本能力

产品定位

mcp-mysql-server 是一个专门为 AI 模型设计的 MySQL 数据库操作接口服务器,旨在简化 AI 模型与数据库的交互过程。

核心功能

  • 提供多种 MySQL 数据库连接方式(URL、工作区路径、直接凭据)
  • 支持 SELECT 查询(query 工具)
  • 支持 INSERT/UPDATE/DELETE 操作(execute 工具)
  • 提供表结构管理功能(list_tables, describe_table, create_table, add_column)
  • 安全连接处理和自动清理
  • 预处理语句支持
  • 全面的错误处理和验证
  • TypeScript 支持
  • 自动工作区检测

适用场景

  • AI 模型需要与 MySQL 数据库交互的场景
  • 需要安全执行数据库查询的应用
  • 需要动态管理数据库结构的开发环境
  • 需要自动化数据库操作的 AI 工作流

工具列表

  1. connect_db: 使用 URL、工作区路径或直接凭据连接到 MySQL 数据库
  2. query: 执行 SELECT 查询,支持预处理语句参数
  3. execute: 执行 INSERT、UPDATE 或 DELETE 查询,支持预处理语句参数
  4. list_tables: 列出连接数据库中的所有表
  5. describe_table: 获取特定表的结构
  6. create_table: 创建具有指定字段和索引的新表
  7. add_column: 向现有表添加新列

常见问题解答

  • 连接问题:确保提供正确的数据库凭据或 URL
  • 查询错误:检查 SQL 语法和参数格式
  • 环境变量:确保 .env 文件配置正确
  • 路径问题:安装时注意使用绝对路径

使用教程

使用依赖

需要安装 Node.js 和 npm

安装教程

通过 Smithery 自动安装

npx -y @smithery/cli install @enemyrr/mcp-mysql-server --client claude

手动安装

  1. 克隆并构建项目:
git clone https://github.com/enemyrr/mcp-mysql-server.git
cd mcp-mysql-server
npm install
npm run build
  1. 在 Cursor IDE 中添加服务器:
  2. 打开命令面板 (Cmd/Ctrl + Shift + P)
  3. 搜索 "MCP: Add Server"
  4. 填写字段:
    • Name: mysql
    • Type: command
    • Command: node /absolute/path/to/mcp-mysql-server/build/index.js

注意:将 /absolute/path/to/ 替换为实际项目路径

数据库配置

有三种配置方式: 1. 在 .env 中使用数据库 URL:

DATABASE_URL=mysql://user:password@host:3306/database
  1. 在 .env 中使用单独参数:
DB_HOST=localhost
DB_USER=your_user
DB_PASSWORD=your_password
DB_DATABASE=your_database
  1. 通过工具直接连接:
use_mcp_tool({
  server_name: "mysql",
  tool_name: "connect_db",
  arguments: {
    url: "mysql://user:password@host:3306/database"
    // 或
    workspace: "/path/to/your/project" // 使用项目的 .env
    // 或
    host: "localhost",
    user: "your_user",
    password: "your_password",
    database: "your_database"
  }
});

调试方式

  1. 测试连接:
use_mcp_tool({
  server_name: "mysql",
  tool_name: "connect_db",
  arguments: {
    // 连接参数
  }
});
  1. 测试查询:
use_mcp_tool({
  server_name: "mysql",
  tool_name: "query",
  arguments: {
    sql: "SELECT * FROM users WHERE id = ?",
    params: [1]
  }
});
  1. 检查表结构:
use_mcp_tool({
  server_name: "mysql",
  tool_name: "list_tables"
});

许可证

该项目遵循 MIT 开源许可条款。