mcpField
M
MySQL MCP Server

MySQL MCP Server

本地服务
github.com/kaulvimal数据库428 周前更新

关于 MySQL MCP Server

MySQL MCP Server 为 MCP 客户端提供 MySQL 和 PostgreSQL 的只读架构与查询访问。其工具涵盖元数据检查、架构关系、查询计划和架构可视化。

主要功能

  1. 01检查架构、索引和约束
  2. 02比较架构并发现关系
  3. 03执行只读 SQL 查询
  4. 04准备带参数的语句
  5. 05查看查询执行计划
  6. 06以 JSON、DOT 或 Mermaid 输出架构图

适用场景

  1. 01查询前检查数据库结构
  2. 02探索表之间的关系
  3. 03审查只读查询计划
  4. 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)。不提供特定查询的历史记录。

设置与安装

  1. 前提条件:

    • Node.js
    • npm
    • 可访问 MySQL 或 PostgreSQL 数据库
  2. 克隆代码库:

    git clone https://github.com/kaulvimal/mysql-mcp
    cd mysql-mcp
    
  3. 安装依赖项:

    npm install
    
  4. 构建项目:

    npm run build
    

    这将创建一个包含编译后代码的 build 目录。

  5. 使用服务

  • 在项目根目录或方便的位置创建一个 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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。