MySQL MCP Server

MySQL MCP Server

site icon
2025.04.04 0
JavaScript数据库交互SQL 操作数据库
MySQL MCP Server 是一个基于 Model Context Protocol (MCP) 的服务,用于与 MySQL 数据库进行交互。它允许 MCP 客户端(如 AI 助手)查询和修改配置的 MySQL 数据库中的数据。
View on GitHub

Overview

基本能力

产品定位

MySQL MCP Server 是一个数据库交互服务,通过 MCP 协议提供对 MySQL 数据库的读写操作能力。

核心功能

  • 连接到 MySQL 数据库,使用标准连接参数。
  • 提供 MCP 工具执行 SQL 查询和语句。
  • 支持只读查询(SELECT, SHOW, DESCRIBE)。
  • 通过环境变量 MYSQL_ALLOW_WRITE_OPS 控制是否支持写操作(INSERT, UPDATE, DELETE)。
  • 通过标准输入/输出(stdio)进行通信。

适用场景

  • AI 助手需要查询或修改 MySQL 数据库的场景。
  • 需要通过 MCP 协议与 MySQL 数据库交互的开发项目。
  • 需要限制或开放数据库写操作的安全敏感场景。

工具列表

  1. query: 执行只读 SQL 查询(SELECT, SHOW, DESCRIBE)。
  2. insert: 执行 INSERT SQL 语句(需启用 MYSQL_ALLOW_WRITE_OPS)。
  3. update: 执行 UPDATE SQL 语句(需启用 MYSQL_ALLOW_WRITE_OPS)。
  4. delete: 执行 DELETE SQL 语句(需启用 MYSQL_ALLOW_WRITE_OPS)。

常见问题解答

  • 如何启用写操作? 设置环境变量 MYSQL_ALLOW_WRITE_OPS=true
  • 如何配置数据库连接? 通过环境变量 MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD, MYSQL_DATABASE 等配置。

使用教程

使用依赖

确保已安装 Node.js 和 npm。

安装教程

# 作为项目依赖安装(推荐)
npm install

# 或作为全局工具安装
npm run build
npm link

配置

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

export MYSQL_HOST=your_host
export MYSQL_USER=your_user
export MYSQL_PASSWORD=your_password
export MYSQL_DATABASE=your_database
# 可选
export MYSQL_PORT=3306
export MYSQL_ALLOW_WRITE_OPS=true

调试方式

# 运行服务器
mysql-server
# 或
node build/index.js

# 开发时自动重新编译
npm run watch

# 运行 MCP Inspector 进行本地测试
npm run inspector

许可证

None