MySQL Query MCP Server

by devakone
MIT License
40
1

Integrations

  • Enables read-only MySQL database queries for AI assistants, with support for SELECT, SHOW and DESCRIBE operations across multiple environments

MySQL 查询 MCP 服务器

模型上下文协议 (MCP) 服务器,为 AI 助手提供只读MySQL 数据库查询。您可以直接使用 AI 工具执行查询、探索数据库结构并调查数据。

支持的AI工具

该 MCP 服务器可与任何支持模型上下文协议的工具配合使用,包括:

  • Cursor IDE : 在.cursor/mcp.json中设置
  • Anthropic Claude :与兼容的 MCP 客户端一起使用
  • 其他兼容 MCP 的 AI 助手:请遵循工具的 MCP 配置说明

功能与限制

它的作用

  • ✅ 执行只读MySQL 查询(仅限 SELECT、SHOW、DESCRIBE)
  • ✅ 使用预定义环境(本地、开发、暂存、生产)
  • ✅ 提供数据库信息和元数据
  • ✅ 列出可用的数据库环境
  • ✅ 支持 SSL 连接以实现安全的数据库访问
  • ✅ 实现查询超时以防止长时间运行的操作

它不能做什么

  • ❌执行写操作(INSERT、UPDATE、DELETE、CREATE、ALTER 等)
  • ❌支持自定义环境名称(限于本地、开发、暂存、生产)
  • ❌ 提供数据库设计或模式生成功能
  • ❌ 充当完整的数据库管理工具

此工具专为通过只读查询进行数据调查和探索而设计。它不适用于数据库管理、架构管理或数据修改。

快速安装

# Install globally with npm npm install -g mysql-query-mcp-server # Or run directly with npx npx mysql-query-mcp-server

设置说明

配置您的 AI 工具以使用 MCP 服务器

创建或编辑您的 MCP 配置文件(例如,Cursor IDE 的.cursor/mcp.json ):

基本配置:

{ "mysql": { "name": "MySQL Query MCP", "description": "MySQL read-only query access through MCP", "type": "bin", "enabled": true, "bin": "mysql-query-mcp" } }

具有数据库凭证的综合配置:

{ "mysql": { "command": "npx", "args": ["mysql-query-mcp-server@latest"], "env": { "LOCAL_DB_HOST": "localhost", "LOCAL_DB_USER": "root", "LOCAL_DB_PASS": "<YOUR_LOCAL_DB_PASSWORD>", "LOCAL_DB_NAME": "your_database", "LOCAL_DB_PORT": "3306", "DEVELOPMENT_DB_HOST": "dev.example.com", "DEVELOPMENT_DB_USER": "<DEV_USER>", "DEVELOPMENT_DB_PASS": "<DEV_PASSWORD>", "DEVELOPMENT_DB_NAME": "your_database", "DEVELOPMENT_DB_PORT": "3306", "STAGING_DB_HOST": "staging.example.com", "STAGING_DB_USER": "<STAGING_USER>", "STAGING_DB_PASS": "<STAGING_PASSWORD>", "STAGING_DB_NAME": "your_database", "STAGING_DB_PORT": "3306", "PRODUCTION_DB_HOST": "prod.example.com", "PRODUCTION_DB_USER": "<PRODUCTION_USER>", "PRODUCTION_DB_PASS": "<PRODUCTION_PASSWORD>", "PRODUCTION_DB_NAME": "your_database", "PRODUCTION_DB_PORT": "3306", "DEBUG": "false", "MCP_MYSQL_SSL": "true", "MCP_MYSQL_REJECT_UNAUTHORIZED": "false" } } }

选择正确的配置方法

有两种方法可以配置 MySQL MCP 服务器:

  1. 二进制配置type: "bin"bin: "mysql-query-mcp"
    • 何时使用:当您全局安装软件包时( npm install -g mysql-query-mcp-server
    • 优点:配置更简单
    • 缺点:需要全局安装
  2. 命令配置command: "npx"args: ["mysql-query-mcp-server@latest"]
    • 何时使用:当您想使用最新版本而不进行全局安装时
    • 优点:无需全局安装,所有配置都在一个文件中
    • 缺点:配置更复杂

选择最适合您工作流程的方法。这两种方法均可与任何支持 MCP 的 AI 助手完美兼容。

重要配置说明

  • 您必须使用完整的环境名称:LOCAL_、DEVELOPMENT_、STAGING_、PRODUCTION_
  • DEV_ 或 PROD_ 等缩写不起作用
  • DEBUG、MCP_MYSQL_SSL 等全局设置适用于所有环境
  • 必须配置至少一个环境(通常是“本地”)
  • 您只需配置您计划使用的环境
  • 出于安全原因,请考虑使用环境变量或安全凭证存储来存储生产凭证

配置选项

环境变量描述默认
调试启用调试日志记录错误的
[环境]_DB_HOST环境的数据库主机-
[环境]_DB_USER数据库用户名-
[环境]_DB_PASS数据库密码-
[环境]数据库名称数据库名称-
[环境]_DB_PORT数据库端口3306
[环境]_DB_SSL启用 SSL 连接错误的
MCP_MYSQL_SSL为所有连接启用 SSL错误的
MCP_MYSQL_REJECT_UNAUTHORIZED验证 SSL 证书真的

与人工智能助手集成

您的 AI 助手可以通过 MCP 服务器与 MySQL 数据库进行交互。以下是一些示例:

示例查询:

Can you use the query tool to show me the first 10 users from the database? Use the local environment.
I need to analyze our sales data. Can you run a SQL query to get the total sales per region for last month from the development database?
Can you use the info tool to check what tables are available in the staging database?
Can you list all the available database environments we have configured?

使用 MySQL MCP 工具

MySQL Query MCP 服务器提供了三个主要工具供您的 AI 助手使用:

1. 查询

针对特定环境执行只读 SQL 查询:

Use the query tool to run: SELECT * FROM customers WHERE signup_date > '2023-01-01' LIMIT 10; on the development environment
2. 信息

获取有关数据库的详细信息:

Use the info tool to check the status of our production database.
3. 环境

列出配置中所有已配置的环境:

Use the environments tool to show me which database environments are available.

可用工具

MySQL Query MCP 服务器提供了三个主要工具:

1. 查询

执行只读 SQL 查询:

-- Example query to run with the query tool SELECT * FROM users LIMIT 10;

支持的查询类型(严格限制为)

  • SELECT 语句
  • SHOW 命令
  • DESCRIBE/DESC 表

2. 信息

获取有关数据库的详细信息:

  • 服务器版本
  • 连接状态
  • 数据库变量
  • 进程列表
  • 可用数据库

3. 环境

列出配置中所有已配置的环境:

Use the environments tool to show me which database environments are available.

安全注意事项

  • ✅ 只允许只读查询(SELECT、SHOW、DESCRIBE)
  • ✅ 每个环境都有自己独立的连接池
  • ✅ 生产环境支持 SSL 连接
  • ✅ 查询超时可防止失控操作
  • ⚠️考虑使用安全凭证管理来管理数据库凭证

故障排除

连接问题

如果您在连接时遇到问题:

  1. 在 MCP 配置中验证数据库凭据
  2. 确保 MySQL 服务器正在运行并且可以访问
  3. 检查防火墙规则是否阻止连接
  4. 通过在配置中设置 DEBUG=true 来启用调试模式

常见错误

错误:环境没有可用的连接池

  • 确保已为该环境定义了所有必需的环境变量
  • 检查您是否正在使用受支持的环境名称之一(本地、开发、暂存、生产)

错误:查询执行失败

  • 验证 SQL 语法
  • 检查您是否仅使用受支持的查询类型(SELECT、SHOW、DESCRIBE)
  • 确保您的查询确实是只读的

有关更全面的故障排除,请参阅故障排除指南

有关如何与 AI 助手集成的示例,请参阅集成示例

有关 MCP 协议的实现细节,请参阅MCP README

贡献

欢迎贡献代码!欢迎提交 Pull 请求。

CI/CD 和发布流程

该项目使用 GitHub Actions 进行持续集成和自动发布。

CI/CD 工作流程

CI/CD 管道包括:

  1. 构建和测试:在每次推送到maindevelop分支时运行,并在对这些分支的拉取请求时运行
    • 使用 Node.js 16.x 和 18.x 测试代码库
    • 确保包正确构建
    • 验证所有测试通过
  2. 发布:当更改被推送到main分支并且构建/测试作业成功时运行
    • 使用release-please来管理版本升级和变更日志更新
    • 根据常规提交创建包含版本变更的发布 PR
    • 合并发布 PR 时自动发布到 npm

发布流程

该项目遵循语义版本控制

  • 主要版本:重大变更(不向后兼容)
  • 次要版本:新功能(向后兼容)
  • 补丁版本:错误修复和小改进

提交应遵循常规提交格式:

  • feat: add new feature - 小版本升级
  • fix: resolve bug - 补丁版本升级
  • docs: update documentation - 无版本升级
  • chore: update dependencies - 无版本升级
  • BREAKING CHANGE: change API - 主要版本升级

当您推送到main时, release-please将分析提交并自动创建或更新具有适当版本提升和变更日志条目的发布 PR。

执照

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。

作者

Abou Koné - 工程主管兼首席技术官


如需更多信息或支持,请在 GitHub 存储库上打开一个问题

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol (MCP) server that enables AI assistants to interact with MySQL databases by executing SQL queries and checking database connectivity.
    Last updated -
    TypeScript
    MIT License
    • Apple
    • Linux
  • -
    security
    -
    license
    -
    quality
    A Model Context Protocol server that enables AI models to interact with MySQL databases, providing tools for querying, executing statements, listing tables, and describing table structures.
    Last updated -
    MIT License
  • -
    security
    -
    license
    -
    quality
    A Model Context Protocol server that enables AI models to interact with MySQL databases through a standardized interface, providing tools for querying, executing commands, and managing database schemas.
    Last updated -
    JavaScript
  • -
    security
    F
    license
    -
    quality
    A Model Context Protocol server that enables AI models to interact with MySQL databases through natural language, supporting SQL queries, table creation, and schema exploration.
    Last updated -
    1
    Python
    • Linux
    • Apple

View all related MCP servers

ID: 4kr6r7qj4s