MySQL MCP (Management Control Plane)

EINTR0/Dbmcp
0 Stars 48 次浏览 更新于 2026-08-23

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "mysql-mcp": {
      "args": [
        "/home/lxy/code/python/mysql_mcp/mysql_mcp_server.py"
      ],
      "command": "python",
      "env": {}
    }
  }
}

服务介绍

MySQL MCP (管理控制平面)

一个支持自然语言查询的多MySQL数据库管理系统,基于FastMCP框架构建。

功能

  • 管理多个MySQL数据库连接
  • 在中央元数据数据库中存储所有被管理数据库的元数据
  • 使用自然语言查询数据
  • 基于FastMCP框架构建,易于与AI助手集成

安装

  1. 安装Python 3.7+
  2. 安装所需包:
    bash
    pip install -r requirements.txt
    

设置

  1. 创建一个用于存储元数据的MySQL数据库:
    sql
    mysql -u root -p < init_metadata_db.sql
    
  2. 使用您的元数据数据库连接详情更新config.ini
    ini
    [metadata_db]
    host = localhost
    port = 3306
    user = your_username
    password = your_password
    database = metadata_db
    
  3. 使用提供的SQL模式将您的数据库连接添加到元数据数据库中。

使用

运行FastMCP服务器:
bash

python mysql_mcp_server.py

一旦服务器运行起来,您可以通过以下地址访问SSE端点:
plaintext

http://localhost:8000/sse

服务器公开了以下工具:

  1. list_databases() - 列出所有已注册的数据库
  2. execute_query(database_id, query) - 在特定数据库上执行SQL查询
  3. natural_language_query(database_id, natural_query) - 在特定数据库上执行自然语言查询
  4. get_database_tables(database_id) - 获取特定数据库中的表列表

配置

所有配置都存储在config.ini中:

  • metadata_db: 元数据数据库的连接详情
  • app: 应用程序设置

架构

  • mysql_mcp_server.py: FastMCP服务器实现
  • db_manager.py: 数据库连接和管理逻辑
  • nlp_processor.py: 将查询转换为SQL的自然语言处理
  • database_models.py: 表示数据库实体的数据类
  • config.ini: 配置文件
  • init_metadata_db.sql: 元数据数据库的模式
  • requirements.txt: Python依赖项

扩展系统

为了提高自然语言处理能力:

  1. mysql_mcp_server.py中增强natural_language_query函数
  2. 添加更多模式以识别不同类型的查询
  3. 考虑与更高级的NLP库(如spaCy或NLTK)集成

与AI助手集成

此FastMCP服务器可以与支持模型上下文协议(MCP)的AI助手集成,允许它们:

  • 列出可用数据库
  • 执行SQL查询
  • 处理自然语言查询
  • 探索数据库模式

相关 MCP 服务