MySQL数据库操作服务

MCP Server MySQL是一个基于Model Context Protocol(MCP)的服务,提供与MySQL数据库的交互功能,包括数据库管理、表操作、数据查询和数据修改等。

  • by nilsir
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 nilsir/mcp-server-mysql

使用说明

MCP服务器MySQL

提供MySQL数据库操作的模型上下文协议(MCP)服务器。该服务器使LLM能够通过标准化协议与MySQL数据库进行交互。

特性

  • 数据库管理:创建、删除、列出和切换数据库
  • 表操作:创建、更改、删除、描述和列出表
  • 数据查询:执行SELECT查询并检索结果
  • 数据修改:执行INSERT、UPDATE、DELETE语句
  • 索引管理:创建和删除索引

安装

npm install
npm run build

配置

设置数据库连接的环境变量:

export MYSQL_HOST=localhost
export MYSQL_PORT=3306
export MYSQL_USER=root
export MYSQL_PASSWORD=your-password
export MYSQL_DATABASE=your-database  # optional

权限控制

控制允许的写入操作(默认为 true):

export MYSQL_ALLOW_INSERT=true   # Set to "false" to disable INSERT
export MYSQL_ALLOW_UPDATE=true   # Set to "false" to disable UPDATE
export MYSQL_ALLOW_DELETE=false  # Set to "false" to disable DELETE

或者使用 connect 工具在运行时指定连接参数。

支持的AI应用程序

此MCP服务器可以与支持模型上下文协议(MCP)的任何应用程序一起使用:

  • 克劳德桌面版 -Anthropic的官方桌面应用程序
  • 克劳德代码 -Anthropic面向开发人员的官方CLI工具
  • 克莱恩 -AI编码助手VS代码扩展
  • 泽德 -内置AI的高性能代码编辑器
  • 任何与MCP兼容的应用程序 -MCP是Anthropic开发的一种开放协议

使用Claude Desktop

使用npx(推荐)

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "mysql": {
      "command": "npx",
      "args": ["-y", "@nilsir/mcp-server-mysql"],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "root",
        "MYSQL_PASSWORD": "your-password",
        "MYSQL_DATABASE": "your-database",
        "MYSQL_ALLOW_INSERT": "true",
        "MYSQL_ALLOW_UPDATE": "true",
        "MYSQL_ALLOW_DELETE": "false"
      }
    }
  }
}

使用本地安装

{
  "mcpServers": {
    "mysql": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-server-mysql/dist/index.js"],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "root",
        "MYSQL_PASSWORD": "your-password",
        "MYSQL_DATABASE": "your-database",
        "MYSQL_ALLOW_INSERT": "true",
        "MYSQL_ALLOW_UPDATE": "true",
        "MYSQL_ALLOW_DELETE": "false"
      }
    }
  }
}

可用工具

工具 说明
connect 连接到MySQL数据库
query 执行SELECT查询
execute 执行INSERT/UPDATE/DELETE查询
list_databases 列出所有数据库
list_tables 列出数据库中的表
describe_table 获取表结构
create_table 创建新表
alter_table 修改表结构
drop_table 放下一张桌子
create_database 创建新数据库
drop_database 删除数据库
use_database 切换到数据库
create_index 创建索引
drop_index 删除索引

例子

查询数据

Use the query tool with sql: "SELECT * FROM users WHERE active = ?"
and params: [true]

创建表

Use the create_table tool with:
- table: "users"
- columns: [
    {"name": "id", "type": "INT", "primaryKey": true, "autoIncrement": true},
    {"name": "email", "type": "VARCHAR(255)", "nullable": false},
    {"name": "created_at", "type": "TIMESTAMP", "default": "CURRENT_TIMESTAMP"}
  ]

插入数据

Use the execute tool with sql: "INSERT INTO users (email) VALUES (?)"
and params: ["user@example.com"]

许可证

麻省理工学院