MySQL数据库管理平台

MySQL MCP是一个用于管理多个MySQL数据库的系统,支持自然语言查询,并基于FastMCP框架构建,便于与AI助手集成。

  • by ideaxy
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 ideaxy/mysql-mcp

使用说明

MySQL MCP(管理控制平面)

一个使用FastMCP框架构建的具有自然语言查询支持的管理多个MySQL数据库的系统。

特性

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

安装

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

设置

  1. 创建一个MySQL数据库来存储元数据:

    mysql -u root -p < init_metadata_db.sql
    
  2. 更新 config.ini 使用元数据数据库连接详细信息:

    [metadata_db]
    host = localhost
    port = 3306
    user = your_username
    password = your_password
    database = metadata_db
    
  3. 使用提供的SQL模式将数据库连接添加到元数据数据库。

用法

运行FastMCP服务器:

python mysql_mcp_server.py

服务器运行后,您可以在以下位置访问SSE端点:

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. 增强 natural_language_query 函数输入 mysql_mcp_server.py
  2. 添加更多模式以识别不同的查询类型
  3. 考虑与spaCy或NLTK等高级NLP库集成

与AI助手集成

此FastMCP服务器可以与支持模型上下文协议(MCP)的AI助手集成,使其能够:

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