mcp-server-db2i
 ](https://www.npmjs.com/package/mcp-server-db2i)     ](https://nodejs.org/) ](docs/docker.md) ](https://www.npmjs.com/package/mcp-server-db2i)  ](https://github.com/Strom-Capital/mcp-server-db2i/commits/main)
A. 模型上下文协议(MCP) IBM DB2 for i(DB2i)服务器。该服务器使Claude和Cursor等AI助手能够使用JT400 JDBC驱动程序查询和检查IBM i数据库。
建筑
AI客户端通过stdio(IDE)或HTTP(代理)连接到MCP服务器,后者使用JT400 JDBC驱动程序对DB2 for i执行只读查询。
graph LR
subgraph clients ["AI Clients"]
claude("Claude")
cursor("Cursor IDE")
agents("Custom Agents")
end
subgraph server ["MCP Server"]
stdio["stdio"]
http["HTTP + Auth"]
tools[["MCP Tools"]]
jdbc["JT400 JDBC"]
end
subgraph ibmi ["IBM i"]
db2[("DB2 for i")]
end
claude & cursor -->|MCP Protocol| stdio
agents -->|REST API| http
stdio & http --> tools
tools --> jdbc
jdbc -->|JDBC| db2特性
- 只读SQL查询 -使用自动结果限制安全执行SELECT语句
- 模式检查 -列出所有具有可选筛选的架构/库
- 表元数据 -列出表、描述列、查看索引和约束
- 查看检查 -列出并浏览数据库视图
- 设计安全 -只允许SELECT查询,通过环境变量进行凭据
- Docker支持 -作为容器运行,便于部署
- HTTP传输 -用于web/代理集成的带有令牌身份验证的REST API
- 双重运输 -同时运行stdio和HTTP
快速开始
安装
npm install -g mcp-server-db2i或者使用Docker:
docker build -t mcp-server-db2i .配置
创建一个 .env 包含您的IBM i凭据的文件:
DB2I_HOSTNAME=your-ibm-i-host.com
DB2I_USERNAME=your-username
DB2I_PASSWORD=your-password
DB2I_SCHEMA=your-default-schema # Optional客户端设置
添加到您的MCP客户端配置中(例如。, ~/.cursor/mcp.json):
{
"mcpServers": {
"db2i": {
"command": "npx",
"args": ["mcp-server-db2i"],
"env": {
"DB2I_HOSTNAME": "${env:DB2I_HOSTNAME}",
"DB2I_USERNAME": "${env:DB2I_USERNAME}",
"DB2I_PASSWORD": "${env:DB2I_PASSWORD}"
}
}
}
}这使用环境变量扩展来防止凭据进入配置文件。在shell配置文件中设置变量(~/.zshrc 或 ~/.bashrc).
看 客户端设置指南 用于Cursor、Claude Desktop、Claude Code和Docker设置选项。
可用工具
| 工具 | 说明 |
|---|---|
execute_query | 执行只读SELECT查询 |
list_schemas | 列出架构/库(带可选过滤器) |
list_tables | 列出架构中的表(带可选筛选器) |
describe_table | 获取详细的列信息 |
list_views | 列出架构中的视图(带可选筛选器) |
list_indexes | 列出表的SQL索引 |
get_table_constraints | 获取主键、外键、唯一约束 |
筛选器语法
列表工具支持模式匹配:
CUST-包含“CUST”CUST*-以“CUST”开头*LOG-以“LOG”结尾
示例用法
连接后,您可以询问AI助手:
- “列出包含'PROD'的所有架构”
- “显示架构MYLIB中的表”
- “描述MYLIB/CUSTOMERS中的列”
- “ORDERS表上存在哪些索引?”
- “运行此查询:从MYLIB.CUSTOMERS中选择\*,状态='A'”
文档
兼容性
- IBM i V7R3及更高版本(建议使用V7R5)
- Node.js 20.6或更高版本
- Java运行时环境(JRE)11或更高版本
相关项目
贡献
欢迎投稿!看 开发指南 有关设置说明。
许可证
MIT许可证-请参阅 许可证 了解详情。
致谢
- 节点-jt400 -用于Node.js的JT400 JDBC驱动程序包装器
- 模型上下文协议 -协议规范
- @模型上下文协议/sdk -TypeScript官方SDK
