Mysql Mcp Server Qrx

Mysql Mcp Server Qrx

🚀 只读的模型上下文协议(MCP)服务器

本项目提供了一个只读的模型上下文协议(MCP)服务器,用于与 MySQL 和 PostgreSQL 数据库进行交互。借助该服务器,兼容 MCP 的客户端能够通过一组定义好的工具,检查数据库架构、检索元数据并执行只读 SQL 查询。同时,该服务器具备可扩展性,且强制执行只读操作,充分保障了使用安全。

🚀 快速开始

此只读的 MCP 服务器允许兼容 MCP 的客户端对数据库架构进行检查、检索元数据并执行只读 SQL 查询。以下是使用该服务器的快速步骤:

  1. 确保满足先决条件,包括安装 Node.js、npm,并具有对 MySQL 或 PostgreSQL 数据库的访问权限。
  2. 克隆项目仓库并安装依赖项。
  3. 构建项目以生成编译后的代码。
  4. 创建 shell 脚本并设置环境变量,即可启动使用服务器。

✨ 主要特性

架构与元数据工具

  • get_table_columns:获取特定表的列定义。
  • get_schema:检索详细的架构信息,涵盖表、列、索引和约束,并可提供不同级别的细节。
  • get_indexes:获取特定表或所有表的索引信息。
  • get_constraints:检索特定表或所有表的约束信息(主键、外键、唯一、检查)。
  • compare_schemas:比较两个不同数据库架构的结构(表和列)。
  • explain_schema:生成文本格式或结构化(JSON)的数据库架构描述。
  • detect_schema_changes:返回当前架构的快照。(注意:不与特定过去时间进行比较)。
  • find_relationships:发现显式的外键关系。可选地尝试基于命名约定发现隐式关系(谨慎使用)。
  • find_navigation_paths:使用显式外键关系通过广度优先搜索算法查找两个表之间的路径。

查询执行工具

  • execute_query:执行给定的只读 SQL 查询(SELECT、SHOW、DESCRIBE、EXPLAIN)。
  • execute_batch:顺序运行多个只读 SQL 查询。可以在第一个错误时停止或尝试全部执行。
  • prepare_statement:准备并执行带有参数的只读 SQL 语句。
  • explain_query:对给定的 SQL 语句执行 EXPLAIN 以显示查询执行计划(文本或 JSON 格式)。
  • get_query_history:占位符工具。服务器端查询历史尚未实现。

可视化工具

  • visualize_schema:生成架构表示(表、列、关系)为 JSON、DOT(Graphviz)或 Mermaid 语法,适用于创建 ER 图。

性能工具

  • get_performance_metrics:从 MySQL 检索选定的全球状态变量(例如,运行时间、线程、查询)。不提供特定查询的历史记录。

📦 安装指南

先决条件

  • 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=""
  • 0 关注
  • 0 收藏,10 浏览
  • system 提出于 2025-09-24 17:18

相似服务问题