db2mcp服务器
](https://badge.fury.io/py/db2-mcp-server)  
概述
这 db2-mcp-server 是一个基于Python的服务器,利用MCP框架与IBM DB2数据库进行交互。它提供了列出表和检索表元数据的工具。
特性
- 列表表格:从连接的DB2数据库中检索表列表。
- 获取表元数据:获取特定表的元数据,包括列详细信息和数据类型。
- 动态提示加载:从JSON配置文件加载自定义提示,以获得灵活的查询帮助。
- 内置提示:DB2查询帮助和模式分析的预配置提示。
需求
- Python 3.12
- FastMCP(最新稳定版本)
- IBM DB2 Python驱动程序(
ibm_db) - 派丹蒂克
安装说明
- 克隆存储库
git clone
cd db2-mcp-server- 设置虚拟环境
uv v0.6.x
source uv/bin/activate- 再进行
pip install -r requirements.txt- 运行服务器
python src/db2_mcp_server/core.py动态提示
服务器支持从JSON配置文件动态提示加载。设置 PROMPTS_FILE 环境变量,用于指定自定义提示配置文件。
示例用法
export PROMPTS_FILE=/path/to/your/prompts_config.json
python src/db2_mcp_server/core.py配置格式
看 examples/prompts_config.json 对于一个完整的示例和 docs/DYNAMIC_PROMPTS.md 详细文档。
测试
- 使用
pytest(版本≥7.0.0)用于运行测试。 - 当前测试覆盖率: 92.98% (超过80%的要求)。
- 全面的测试套件包括:
- 核心功能测试(test_core.py) - 数据库工具测试(test_list_tables.py, test_metadata_retrieval.py) - 缓存机制测试(test_cache.py) - 记录配置测试(test_logger.py) - 动态瞬时加载试验(test_dynamic_loader.py, test_integration_dynamic_prompts.py)
- 使用以下工具运行测试:
pytest --cov=src/db2_mcp_server --cov-report=html tests/- 对于详细输出:
pytest --cov=src/db2_mcp_server --cov-report=term-missing -v安全和API限制
- 服务器是只读的,禁止SQL INSERT、UPDATE或DELETE操作。
- 使用仅具有SELECT权限的数据库用户。
日志记录
- 错误以JSON格式的结构化日志记录,不包括敏感数据。
贡献
- 欢迎捐款。请遵循项目的编码标准和测试指南。
