
MySQL MCP Server

2025.04.09
2
TypeScript数据库管理只读查询模式检查元数据检索数据库
MySQL MCP Server 是一个基于 Model Context Protocol (MCP) 的只读服务器,用于与 MySQL 数据库进行交互。它允许兼容 MCP 的客户端检查数据库模式、检索元数据以及通过一组定义的工具执行只读 SQL 查询。该服务器设计时考虑了可扩展性,并强制执行只读操作以确保安全性。
View on GitHub
Overview
基本能力
产品定位
MySQL MCP Server 是一个专为 MySQL 数据库设计的只读交互工具,提供模式检查、元数据检索和只读查询执行功能。
核心功能
模式与元数据工具
get_table_columns
: 获取特定表的列定义。get_schema
: 获取详细的模式信息,包括表、列、索引和约束。get_indexes
: 获取特定表或所有表的索引信息。get_constraints
: 获取特定表或所有表的约束信息(主键、外键、唯一、检查)。compare_schemas
: 比较两个不同数据库模式的结构。explain_schema
: 生成数据库模式的文本或结构化(JSON)描述。detect_schema_changes
: 返回当前模式的快照。find_relationships
: 发现显式外键关系,可选尝试基于命名约定发现隐式关系。find_navigation_paths
: 使用显式外键关系查找两个表之间的路径(BFS算法)。
查询执行工具
execute_query
: 执行给定的只读 SQL 查询(SELECT, SHOW, DESCRIBE, EXPLAIN)。execute_batch
: 顺序运行多个只读 SQL 查询。prepare_statement
: 准备并执行带参数的只读 SQL 语句。explain_query
: 对给定的 SQL 语句执行EXPLAIN
以显示查询执行计划。get_query_history
: 占位工具,当前未实现服务器端查询历史。
可视化工具
visualize_schema
: 生成适合创建 ER 图的模式表示(JSON, DOT, Mermaid 语法)。
性能工具
get_performance_metrics
: 从 MySQL 检索选定的全局状态变量(如运行时间、线程、查询)。
适用场景
- 数据库模式检查和元数据检索。
- 只读 SQL 查询执行和分析。
- 数据库模式可视化和关系分析。
- 性能监控和状态变量检查。
使用教程
使用依赖
- Node.js
- npm
- 访问 MySQL 数据库
安装教程
- 克隆仓库
bash git clone https://github.com/kaulvimal/mysql-mcp cd mysql-mcp-server
- 安装依赖
bash npm install
- 构建项目
bash npm run build
- 使用服务器
- 创建 shell 脚本(如
mysql-mcp.sh
)并设置环境变量。 - 使脚本可执行:
bash chmod +x mysql-mcp.sh
- 集成示例(Cursor)
json { "mcpServers": { "mysql-mcp": { "command": "/path/to/your/mysql-mcp.sh" } } }
- 创建 shell 脚本(如
调试方式
- 运行脚本并检查输出日志。
- 使用
node build/index.js
直接运行服务器并查看调试信息。