关于 MySQL MCP Server
MySQL MCP Server 为 MCP 客户端提供 MySQL 和 PostgreSQL 的只读架构与查询访问。其工具涵盖元数据检查、架构关系、查询计划和架构可视化。
主要功能
- 01检查架构、索引和约束
- 02比较架构并发现关系
- 03执行只读 SQL 查询
- 04准备带参数的语句
- 05查看查询执行计划
- 06以 JSON、DOT 或 Mermaid 输出架构图
适用场景
- 01查询前检查数据库结构
- 02探索表之间的关系
- 03审查只读查询计划
- 04生成架构图
MCP 相关
它向 MCP 客户端提供 MySQL 和 PostgreSQL 的只读数据库检查及查询工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MySQL & PostgreSQL MCP 服务
概述
本项目提供一个只读的 Model Context Protocol(MCP)服务,用于与 MySQL & PostgreSQL 数据库交互。它允许兼容 MCP 的客户端检查数据库架构、获取元数据,并通过一组定义好的工具执行只读 SQL 查询。该服务在设计时充分考虑了可扩展性,并强制执行只读操作以确保安全。
功能与已实现的工具
该服务通过 MCP 提供多种数据库交互工具。所有工具都设计为只读操作。
架构与元数据工具
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,以显示查询执行计划(TEXT 或 JSON 格式)。get_query_history:占位工具。当前尚未实现服务端查询历史记录。
可视化工具
visualize_schema:以 JSON、DOT(Graphviz)或 Mermaid 语法生成架构表示(表、列、关系),适用于创建 ER 图。
性能工具
get_performance_metrics:获取 MySQL 中选定的全局状态变量(例如,Uptime、Threads、Queries)。不提供特定查询的历史记录。
设置与安装
-
前提条件:
- Node.js
- npm
- 可访问 MySQL 或 PostgreSQL 数据库
-
克隆代码库:
git clone https://github.com/kaulvimal/mysql-mcp cd mysql-mcp -
安装依赖项:
npm install -
构建项目:
npm run build这将创建一个包含编译后代码的
build目录。 -
使用服务
-
在项目根目录或方便的位置创建一个 Shell 脚本(例如,
mysql-mcp.sh):#!/bin/bash # 设置环境变量(如果不使用 .env 或希望覆盖其中的值) export MYSQL_HOST="" export MYSQL_USER="" export MYSQL_PASSWORD="" export MYSQL_PORT="" export PG_HOST="" export PG_USER="" export PG_PASSWORD="" export PG_PORT="" export PG_DATABASE="" node $(dirname "$0")/build/index.js -
将脚本设为可执行文件:
chmod +x mysql-mcp.sh -
集成示例(Cursor)
要将此服务集成到 Cursor 中,可配置客户端运行该服务的执行脚本:
{ "mcpServers": { "mysql-mcp": { "command": "/path/to/your/mysql-mcp.sh" // 替换为脚本的实际路径 } } }
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。