README
🚀 数据库 MCP 服务器(由 Legion AI 提供)
数据库 MCP 服务器由 Legion AI 提供,它能帮助用户访问和查询数据库数据,还可借助 Legion 查询运行器与 Model Context Protocol (MCP) Python SDK 实现集成。
🚀 快速开始
数据库 MCP 服务器为用户提供了便捷的数据访问与查询途径,集成了 Legion 查询运行器与 MCP Python SDK,让数据库操作更为高效。以下将详细介绍其安装、配置和运行方法。
✨ 主要特性
- 数据库访问:可使用 Legion Query Runner 访问数据库。
- 协议支持:支持 Model Context Protocol (MCP)。
- 资源暴露:将数据库操作作为 MCP 资源、工具和提示暴露出来。
- 灵活部署:具备多种部署选项,如独立 MCP 服务器、FastAPI 集成。
- 查询处理:实现查询执行与结果处理。
- 多样配置:支持通过环境变量、命令行参数或 MCP 设置 JSON 进行灵活配置。
📦 安装指南
必要参数
所有安装方法都需要两个参数:
- DB_TYPE:数据库类型代码(见下表)
- DB_CONFIG:数据库配置信息
安装方法
使用 UV 安装
uv pip install package_name
使用 PIP 安装
pip install package_name
📚 详细文档
支持的数据库
| 属性 | 详情 | |------|------| | 支持的数据库类型 | PostgreSQL、Redshift、CockroachDB、MySQL、RDS MySQL、Microsoft SQL Server、Big Query、Oracle DB、SQLite | | 对应 DB_TYPE 代码 | pg、redshift、cockroach、mysql、rds_mysql、mssql、bigquery、oracle、sqlite |
我们使用 Legion Query Runner 库作为连接器。更多详细信息请参阅其 API 文档。
什么是 MCP?
Model Context Protocol (MCP) 是 AI 应用中维护上下文的一种规范。此服务器使用 MCP Python SDK 来:
- 将数据库操作作为 AI 助手的工具暴露出来
- 提供数据库架构和元数据作为资源
- 生成有用的提示以执行数据库操作
- 启用与数据库的状态交互
运行服务器
开发模式
uv config.yaml
生产模式
python -m module_name
配置方法
环境变量配置
设置以下环境变量:
export DB_TYPE="pg"
export DB_CONFIG="your_config_here"
命令行参数配置
运行时指定参数:
--db_type pg --db_config "your_config_here"
MCP 功能
资源
- 执行查询:
execute_query - 返回 JSON 结果:
execute_query_json - 获取表列名:
get_table_columns - 获取列类型:
get_table_types - 获取查询历史:
get_query_history
工具
- 生成 SQL 查询:
sql_query - 解释 SQL 查询:
explain_query - 优化 SQL 查询:
optimize_query
开发
测试
uv pip install -e ".[dev]" && pytest
发布
rm -rf dist/ build/ *.egg-info/ && python -m build
python -m build
python -m twine upload dist/*
📄 许可证
此仓库使用 GPL 协议。
扫码联系在线客服