L

Legion-MCP 数据库查询服务器

@TheRaLabs/legion-mcp
0 Stars 706 次浏览 TheRaLabs 更新于 2026-08-23

一个帮助人们使用 Query Runner 访问和查询数据库中数据的服务器,集成了 Model Context Protocol (MCP) Python SDK。支持的数据库包括: PostgreSQL Redshift MySQL Microsoft SQL Server Google APIs Amazon Web Services(通过 boto3) CockroachDB SQLite

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

数据库 MCP 服务器(由 Legion AI 提供)

一个使用 Legion Query Runner 并集成 Model Context Protocol (MCP) Python SDK 来帮助人们访问和查询数据库中数据的服务器。

功能

  • 通过 Legion Query Runner 访问数据库
  • 为 AI 助手提供 Model Context Protocol (MCP) 支持
  • 将数据库操作暴露为 MCP 资源、工具和提示
  • 多种部署选项(独立 MCP 服务器,FastAPI 集成)
  • 查询执行和结果处理
  • 通过环境变量、命令行参数或 MCP 设置 JSON 进行灵活配置

支持的数据库

数据库 DB_TYPE 代码
PostgreSQL pg
Redshift redshift
CockroachDB cockroach
MySQL mysql
RDS MySQL rds_mysql
Microsoft SQL Server mssql
Big Query bigquery
Oracle DB oracle
SQLite sqlite

我们使用 Legion Query Runner 库作为连接器。您可以在他们的 api 文档 中找到更多信息。

什么是 MCP?

Model Context Protocol (MCP) 是一种用于在 AI 应用程序中维护上下文的规范。此服务器使用 MCP Python SDK 来:

  • 将数据库操作暴露为 AI 助手的工具
  • 提供数据库模式和元数据作为资源
  • 生成有用的数据库操作提示
  • 启用与数据库的状态交互

安装与配置

必需参数

所有安装方法都需要两个参数:

  • DB_TYPE:数据库类型代码(见上表)
  • DB_CONFIG:用于数据库连接的 JSON 配置字符串

DB_CONFIG 格式因数据库类型而异。请参阅 API 文档 获取特定于数据库的配置详情。

安装方法

选项 1:使用 UV(推荐)

当使用 uv 时,不需要特定的安装步骤。我们将直接使用 uvx 来运行 database-mcp

UV 配置示例:






REPLACE DB_TYPE and DB_CONFIG with your connection info.
{
    "mcpServers": {
      "database-mcp": {
        "command": "uvx",
        "args": [
          "database-mcp"
        ],
        "env": {
          "DB_TYPE": "pg",
          "DB_CONFIG": "{\"host\":\"localhost\",\"port\":5432,\"user\":\"user\",\"password\":\"pw\",\"dbname\":\"dbname\"}"
        },
        "disabled": true,
        "autoApprove": []
      }
    }
}

选项 2:使用 PIP

通过 pip 安装:

pip install database-mcp

PIP 配置示例:

{
  "mcpServers": {
    "database": {
      "command": "python",
      "args": [
        "-m", "database_mcp", 
        "--repository", "path/to/git/repo"
      ],
      "env": {
        "DB_TYPE": "pg",
        "DB_CONFIG": "{\"host\":\"localhost\",\"port\":5432,\"user\":\"user\",\"password\":\"pw\",\"dbname\":\"dbname\"}"
      }
    }
  }
}

运行服务器

开发模式

mcp dev mcp_server.py

生产模式

python mcp_server.py

配置方法

环境变量

export DB_TYPE="pg"  # or mysql, postgresql, etc.
export DB_CONFIG='{"host":"localhost","port":5432,"user":"username","password":"password","dbname":"database_name"}'
mcp dev mcp_server.py

命令行参数

python mcp_server.py --db-type pg --db-config '{"host":"localhost","port":5432,"user":"username","password":"password","dbname":"database_name"}'

或者使用 UV:

uv mcp_server.py --db-type pg --db-config '{"host":"localhost","port":5432,"user":"username","password":"password","dbname":"database_name"}'

暴露的 MCP 功能

资源

资源 描述
schema://all 获取完整的数据库模式

工具

工具 描述
execute_query 执行 SQL 查询并以 markdown 表格形式返回结果
execute_query_json 执行 SQL 查询并以 JSON 形式返回结果
get_table_columns 获取指定表的列名
get_table_types 获取指定表的列类型
get_query_history 获取最近的查询历史

提示

提示 描述
sql_query 创建针对数据库的SQL查询
explain_query 解释SQL查询的作用
optimize_query 优化SQL查询以提高性能

开发

测试

uv pip install -e ".[dev]"
pytest

发布

rm -rf dist/ build/ *.egg-info/ && python -m build
python -m build
python -m twine upload dist/*

许可证

本仓库采用GPL许可证

相关 MCP 服务