mcp-for-db

flyboy711/mcp-for-db
0 Stars 20 次浏览 更新于 2026-08-23

本服务提供自然语言操作数据库的功能,让您直接使用自然语言实现对数据库操作的需求,比如描述查询需求,分析数据库健康状态,分析复杂SQL语句,慢查询等,但是做了鉴权哦,没有权限是会执行失败的。

MCP 服务配置

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

{
  "mcpServers": {
    "mcp_db": {
      "args": [
        "run",
        "-m",
        "server.mcp.server_mysql",
        "--mode",
        "stdio"
      ],
      "command": "uv",
      "disabled": true,
      "env": {
        "MYSQL_DATABASE": "mcp_db",
        "MYSQL_HOST": "localhost",
        "MYSQL_PASSWORD": "password",
        "MYSQL_PORT": "3306",
        "MYSQL_ROLE": "admin",
        "MYSQL_USER": "root",
        "PYTHONPATH": "/Users/admin/Downloads/Codes/MCP/MCP-DB/"
      },
      "timeout": 60,
      "type": "stdio"
    },
    "mcp_mysql": {
      "disabled": false,
      "timeout": 60,
      "type": "streamableHttp",
      "url": "http://localhost:3000/mcp/"
    },
    "mysql_mcp_server_pro": {
      "disabled": true,
      "timeout": 60,
      "type": "sse",
      "url": "http://localhost:9000/sse"
    }
  }
}

该服务需要配置环境变量:MYSQL_DATABASE、MYSQL_HOST、MYSQL_PASSWORD、MYSQL_PORT、MYSQL_ROLE、MYSQL_USER

服务介绍

工具列表

工具 功能说明
sql_executor 执行单条SQL语句,但集成了SQL安全分析器、范围检查和权限控制,且只允许使用安全的参数化查询防止SQL注入攻击。
get_table_desc 根据表名搜索数据库中对应的表字段
get_table_index 根据表名搜索数据库中对应的表索引
get_table_name 根据表中文名或表描述搜索数据库中对应的表名
get_database_info 获取数据库基本信息
get_database_tables 获取数据库所有表和对应的表注释
analyze_table_stats 分析表统计信息和列统计信息
check_table_constraints 检查表约束信息
get_table_lock 获取当前 MySQL 服务器行级锁、表级锁情况
mysql_show_columns 获取表的列信息
mysql_show_create_table 获取表的创建语句
get_db_health_running 获取当前 MySQL 的健康状态
get_db_health_index_usage 获取当前连接的MySQL库的索引使用情况,包含冗余索引情况、性能较差的索引情况、未使用索引且查询时间大于30秒top10情况
get_process_list 获取当前进程列表
switch_database 动态切换数据库连接配置

相关 MCP 服务