MySQL Database Access MCP Server

MySQL Database Access MCP Server

site icon
2025.04.17 9
JavaScript数据库服务数据查询数据库
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. 确保查询是只读的且格式正确

使用教程

使用依赖

确保已安装Node.js和npm。

安装教程

选项1:从NPM安装(推荐)

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

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

选项2:从源代码构建

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

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

配置环境变量

需要以下环境变量: - MYSQL_HOST:数据库服务器主机名 - MYSQL_PORT:数据库服务器端口(默认:3306) - MYSQL_USER:数据库用户名 - MYSQL_PASSWORD:数据库密码 - MYSQL_DATABASE:默认数据库名称(可选)

添加到MCP设置

根据安装方式添加相应的配置到MCP设置文件。

调试方式

1. 设置测试数据库

export MYSQL_HOST=localhost
export MYSQL_PORT=3306
export MYSQL_USER=your_username
export MYSQL_PASSWORD=your_password
npm run test:setup

2. 测试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

3. 运行所有测试

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

许可证

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