关于 db2-mcp-server
面向 IBM DB2 数据库的 Python MCP 服务,支持只读表查询和元数据获取,并提供内置及可配置提示词,辅助数据库查询。
主要功能
- 01列出 DB2 表
- 02获取列及数据类型元数据
- 03从 JSON 配置加载提示词
- 04内置查询与架构分析提示词
- 05只读数据库访问
适用场景
- 01查看 DB2 数据库中的表
- 02检查表的列和数据类型
- 03配置 DB2 查询辅助提示词
MCP 相关
向 MCP 客户端提供 DB2 表列表、表元数据和提示词功能。数据库访问为只读。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
db2-mcp-server
概述
db2-mcp-server 是一个基于 Python 的服务,利用 MCP 框架与 IBM DB2 数据库进行交互。它提供用于列出表和获取表元数据的工具。
功能
- 列出表:获取已连接的 DB2 数据库中的表列表。
- 获取表元数据:获取特定表的元数据,包括列详情和数据类型。
- 动态加载提示词:从 JSON 配置文件加载自定义提示词,灵活地辅助查询。
- 内置提示词:预配置的 DB2 查询帮助和架构分析提示词。
要求
- Python 3.12
- FastMCP(最新稳定版本)
- IBM DB2 Python 驱动程序(
ibm_db) - Pydantic
设置说明
-
克隆仓库
git clone <repository-url> 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 格式记录,不包含敏感数据。
贡献
- 欢迎贡献。请遵循项目的编码标准和测试指南。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。