MySQL Database Access MCP Server

MySQL Database Access MCP Server

site icon
2025.04.21 0
JavaScriptMySQL数据库访问只读查询数据库
MySQL Database Access MCP Server 是一个提供MySQL数据库只读访问的MCP服务。它允许用户列出可用的数据库、列出数据库中的表、描述表结构以及执行只读SQL查询。该服务具有多种安全特性,包括只读访问、查询验证、查询超时和行限制,以确保数据安全和系统稳定性。
View on GitHub

Overview

基本能力

产品定位

MySQL Database Access MCP Server 是一个专门为MySQL数据库提供只读访问的MCP服务,旨在安全地查询和分析数据库内容。

核心功能

  • 列出可用的数据库
  • 列出指定数据库中的表
  • 描述表的结构
  • 执行只读SQL查询(仅支持SELECT, SHOW, DESCRIBE, EXPLAIN语句)

安全特性

  • 只读访问:防止数据被修改
  • 查询验证:防止SQL注入和阻止数据修改尝试
  • 查询超时:防止长时间运行的查询消耗资源
  • 行限制:防止返回过多数据

适用场景

  • 数据分析
  • 数据库内容检查
  • 数据库结构分析
  • 只读查询执行

工具列表

  1. list_databases:列出MySQL服务器上所有可访问的数据库。
  2. list_tables:列出指定数据库中的所有表。
  3. describe_table:显示特定表的结构。
  4. execute_query:执行只读SQL查询。

常见问题解答

  1. 如何解决连接问题?
  2. 检查服务器日志中的错误消息
  3. 验证MySQL凭据和连接详细信息
  4. 确保MySQL用户具有适当的权限
  5. 为什么我的查询被拒绝?
  6. 确保查询是只读的(仅SELECT, SHOW, DESCRIBE, EXPLAIN语句)
  7. 检查查询格式是否正确

使用教程

使用依赖

  • Node.js环境
  • npm包管理器

安装教程

从NPM安装

# 全局安装
npm install -g mysql-mcp-server

# 或在项目中本地安装
npm install mysql-mcp-server

从源代码构建

# 克隆仓库
git clone https://github.com/allizwellai/mysql-mcp-server.git
cd mysql-mcp-server

# 安装依赖并构建
npm install
npm run build

配置环境变量

  • MYSQL_HOST:数据库服务器主机名
  • MYSQL_PORT:数据库服务器端口(默认:3306)
  • MYSQL_USER:数据库用户名
  • MYSQL_PASSWORD:数据库密码(可选,但建议用于安全连接)
  • MYSQL_DATABASE:默认数据库名称(可选)

调试方式

测试数据库设置

export MYSQL_HOST=localhost
export MYSQL_PORT=3306
export MYSQL_USER=your_username
export MYSQL_PASSWORD=your_password

npm run test:setup

测试MCP工具

export MYSQL_HOST=localhost
export MYSQL_PORT=3306
export MYSQL_USER=your_username
export MYSQL_PASSWORD=your_password
export MYSQL_DATABASE=mcp_test_db

npm run test:tools

运行所有测试

export MYSQL_HOST=localhost
export MYSQL_PORT=3306
export MYSQL_USER=your_username
export MYSQL_PASSWORD=your_password

npm test

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。