Token导航 LogoToken导航TokenDH.com
legion MCP logo
数据服务stdio官方级别未说明来源级核验

legion MCP

MCP Server

A server that helps people access and query data in databases using the Legion Query Runner with Model Context Protocol (MCP) in Python.

工具数

0

提示词数

0

GitHub Stars

91

资源数

0
数据分析多数据库支持Python

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

TheRaLabs

提供方

TheRaLabs

最后核验

2026/5/18 04:56

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install database-mcp

详细介绍

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

一种服务器,帮助人们使用Legion query Runner访问和查询数据库中的数据,并集成了模型上下文协议(MCP)Python SDK。

从这里开始生成

此工具由提供 军团AI。要使用功能齐全、功能齐全的人工智能数据分析工具,请访问该网站。如果您希望我们支持某个数据库,请发送电子邮件给我们。

在这里结束世代

为什么选择数据库MCP

数据库MCP从其他数据库访问解决方案中脱颖而出,原因有几个:

  • 统一多数据库接口:通过一个一致的API连接到PostgreSQL、MySQL、SQL Server和其他数据库-无需学习每种数据库类型的不同客户端库。
  • AI就绪集成:通过模型上下文协议(MCP)专门为人工智能助手交互而构建,支持自然语言数据库操作。
  • 零配置架构发现:自动发现和公开数据库架构,无需手动配置或映射。
  • 数据库诊断工具:使用相同的工具集查找表、探索模式和执行查询,而不管底层数据库技术如何。
  • 安全凭据管理:安全地处理数据库身份验证详细信息,将凭据与应用程序代码分离。
  • 简单部署:与LangChain、FastAPI等现代人工智能开发环境配合使用,只需最少的设置。
  • 可扩展设计:轻松添加自定义工具和提示,以增强特定用例的功能。

无论您是构建需要数据库访问的人工智能代理,还是只是想要一个到多个数据库的统一接口,database MCP都提供了一种简化的解决方案,大大减少了开发时间和复杂性。

特性

  • 多数据库支持-同时连接到多个数据库
  • 通过Legion Query Runner访问数据库
  • AI助手的模型上下文协议(MCP)支持
  • 将数据库操作作为MCP资源、工具和提示公开
  • 多种部署选项(独立MCP服务器、FastAPI集成)
  • 查询执行和结果处理
  • 通过环境变量、命令行参数或MCP设置JSON进行灵活配置
  • 用户驱动的多数据库设置数据库选择

支持的数据库

数据库DB_TYPE代码
PostgreSQLpg
红移红移
蟑螂DB蟑螂
MySQLMySQL
RDS MySQLRDS_MySQL
Microsoft SQL Servermssql
大查询bigquery
Oracle数据库Oracle
SQLiteSQLite

我们使用Legion Query Runner库作为连接器。你可以找到更多关于他们的信息 api文档.

什么是MCP?

模型上下文协议(MCP)是用于在AI应用程序中维护上下文的规范。此服务器使用 MCP Python SDK 致:

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

安装和配置

所需参数

对于单数据库配置:

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

对于多数据库配置:

  • DB_CONFIGS:数据库配置的JSON数组,每个配置包含:

- db_type:数据库类型代码 - 配置:数据库连接配置 - 描述:数据库的人类可读描述

配置格式因数据库类型而异。请参阅 API文档 有关特定于数据库的配置详细信息。

安装方法

选项1:使用紫外线(推荐)

使用时 uv,不需要特定的安装。我们将使用 uvx 直接运行 *数据库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": []
      }
    }
}

UV配置示例(多个数据库):

{
    "mcpServers": {
      "database-mcp": {
        "command": "uvx",
        "args": [
          "database-mcp"
        ],
        "env": {
          "DB_CONFIGS": "[{\"id\":\"pg_main\",\"db_type\":\"pg\",\"configuration\":{\"host\":\"localhost\",\"port\":5432,\"user\":\"user\",\"password\":\"pw\",\"dbname\":\"postgres\"},\"description\":\"PostgreSQL Database\"},{\"id\":\"mysql_data\",\"db_type\":\"mysql\",\"configuration\":{\"host\":\"localhost\",\"port\":3306,\"user\":\"root\",\"password\":\"pass\",\"database\":\"mysql\"},\"description\":\"MySQL Database\"}]"
        },
        "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\"}"
      }
    }
  }
}

运行服务器

生产模式

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"}'
uv run src/database_mcp/mcp_server.py

环境变量(多个数据库)

export DB_CONFIGS='[{"id":"pg_main","db_type":"pg","configuration":{"host":"localhost","port":5432,"user":"username","password":"password","dbname":"database_name"},"description":"PostgreSQL Database"},{"id":"mysql_users","db_type":"mysql","configuration":{"host":"localhost","port":3306,"user":"root","password":"pass","database":"mysql"},"description":"MySQL Database"}]'
uv run src/database_mcp/mcp_server.py

如果不指定ID,系统将根据数据库类型和描述自动生成一个ID:

export DB_CONFIGS='[{"db_type":"pg","configuration":{"host":"localhost","port":5432,"user":"username","password":"password","dbname":"database_name"},"description":"PostgreSQL Database"},{"db_type":"mysql","configuration":{"host":"localhost","port":3306,"user":"root","password":"pass","database":"mysql"},"description":"MySQL Database"}]'
# IDs will be generated as something like "pg_postgres_0" and "my_mysqldb_1"
uv run src/database_mcp/mcp_server.py

命令行参数(单个数据库)

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

命令行参数(多个数据库)

python mcp_server.py --db-configs '[{"id":"pg_main","db_type":"pg","configuration":{"host":"localhost","port":5432,"user":"username","password":"password","dbname":"database_name"},"description":"PostgreSQL Database"},{"id":"mysql_users","db_type":"mysql","configuration":{"host":"localhost","port":3306,"user":"root","password":"pass","database":"mysql"},"description":"MySQL Database"}]'

请注意,您可以使用 id 字段,或者让系统根据数据库类型和描述生成它们。

多数据库支持

连接到多个数据库时,您需要指定每个查询使用哪个数据库:

  1. 使用 list_databases 查看可用数据库及其ID的工具
  2. 使用 get_database_info 查看数据库的模式详细信息
  3. 使用 find_table 在所有数据库中查找表
  4. 提供 db_id 工具参数,如 execute_query, get_table_columns等等。

数据库连接在内部作为字典进行管理 DbConfig 对象,每个数据库都有一个唯一的ID。架构信息表示为表对象列表,其中每个表都包含其名称和列信息。

select_database prompt引导用户完成数据库选择过程。

模式表示

数据库模式表示为表对象列表,每个表都包含有关其列的信息:

[
  {
    "name": "users",
    "columns": [
      {"name": "id", "type": "integer"},
      {"name": "username", "type": "varchar"},
      {"name": "email", "type": "varchar"}
    ]
  },
  {
    "name": "orders",
    "columns": [
      {"name": "id", "type": "integer"},
      {"name": "user_id", "type": "integer"},
      {"name": "product_id", "type": "integer"},
      {"name": "quantity", "type": "integer"}
    ]
  }
]

这种表示方式使得以编程方式访问表和列信息变得容易,同时保持了干净的层次结构。

暴露的MCP能力

资源

资源描述
resource://schema/{database_id}获取一个或所有已配置数据库的架构

工具

工具说明
execute_query执行SQL查询并将结果作为markdown表返回
execute_query_json执行SQL查询并以JSON格式返回结果
get_table_columns获取特定表的列名
get_table_types获取特定表的列类型
get_query_history获取最近的查询历史记录
list_databases列出所有可用的数据库连接
get_database_info获取数据库的详细信息,包括模式
find_table查找包含特定表的数据库
describe_table获取表的详细描述,包括列名和类型
get_table_sample从表中获取数据样本

所有特定于数据库的工具(如 execute_query, get_table_columns等)需要 db_id 参数,指定要使用的数据库。

提示

提示描述
sql_query针对数据库创建SQL查询
explain_query解释SQL查询的作用
optimize_query优化SQL查询以获得更好的性能
select_database帮助用户选择要使用的数据库

发展

使用MCP检查器

运行此命令以启动检查器

npx @modelcontextprotocol/inspector uv run src/database_mcp/mcp_server.py

然后在命令输入字段中,设置如下内容

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

测试

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

出版

# Clean up build artifacts
rm -rf dist/ build/ 
# Remove any .egg-info directories if they exist
find . -name "*.egg-info" -type d -exec rm -rf {} + 2>/dev/null || true
# Build the package
uv run python -m build
# Upload to PyPI
uv run python -m twine upload dist/*

许可证

此存储库根据GPL许可

目录标签

目录标签

数据分析多数据库支持Pythonresearch-and-datadatabasemcpquery-buildermcp-serverlegion-ai本地部署AI集成统一API数据库查询MCP协议

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP