MySQL MCP Server

MySQL MCP Server

site icon
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 数据库

安装教程

  1. 克隆仓库 bash git clone https://github.com/kaulvimal/mysql-mcp cd mysql-mcp-server
  2. 安装依赖 bash npm install
  3. 构建项目 bash npm run build
  4. 使用服务器
    • 创建 shell 脚本(如 mysql-mcp.sh)并设置环境变量。
    • 使脚本可执行: bash chmod +x mysql-mcp.sh
    • 集成示例(Cursor) json { "mcpServers": { "mysql-mcp": { "command": "/path/to/your/mysql-mcp.sh" } } }

调试方式

  • 运行脚本并检查输出日志。
  • 使用 node build/index.js 直接运行服务器并查看调试信息。

许可证

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