# DRG医保控费预警系统 - MCP服务器配置指南 ## 概述 本文档指导您如何配置MCP(Model Context Protocol)服务器,连接内网服务器(172.16.2.15)上的InterSystems IRIS数据库,为DRG医保控费预警系统提供数据访问服务。 --- ## 1. 已创建的配置文件 ### 1.1 CodeBuddy MCP配置 - **位置**: `c:\Users\83739\.codebuddy\mcp.json` - **功能**: CodeBuddy IDE的MCP服务器配置,包含三个服务器: - `iris`: 连接到IRIS数据库的通用MCP服务器 - `drg-api`: DRG专用MCP服务器(Node.js实现) - `drg-python`: DRG专用MCP服务器(Python实现) ### 1.2 项目文件 - **`mcp-server-config.yaml`**: 完整的MCP服务器配置 - **`mcp-client-config.json`**: MCP客户端配置 - **`mcp-drg-server.js`**: Node.js MCP服务器实现 - **`mcp-drg-iris-python.py`**: Python MCP客户端示例 - **`mcp-drg-iris-nodejs.js`**: Node.js MCP客户端示例 - **`package.json`**: Node.js项目依赖配置 - **`start-mcp-server.bat`**: Windows一键启动脚本 --- ## 2. 配置详情 ### 2.1 服务器连接参数 ```yaml 服务器地址: http://172.16.2.15:52773 命名空间: DRG 账户信息: - 用户名: _SYSTEM - 密码: pryk@2020 API密钥: drg-mcp-access-key-2026 ``` ### 2.2 支持的接口服务 | 模块 | 接口代码 | 功能 | |------|----------|------| | DRG分组 | 02010001 | DRG分组器 | | 费用预警 | 02010101-02010106 | 预警规则和记录管理 | | 盈亏分析 | 02010201-02010206 | 科室、医生、病种盈亏分析 | | 系统管理 | 02010401-02010415 | 用户、菜单、角色管理 | --- ## 3. 快速启动指南 ### 3.1 步骤一:安装依赖 ```bash # 确保已安装Node.js 18.0+ node --version # 安装依赖包 cd "d:/AI开发/CodeBuddy/DRG医保控费预警系统开发项目" npm install ``` ### 3.2 步骤二:启动MCP服务器 #### 方法一:使用批处理脚本(推荐) 1. 双击 `start-mcp-server.bat` 2. 脚本将自动检查环境并启动服务器 3. 保持命令行窗口打开(不要关闭) #### 方法二:手动启动 ```bash cd "d:/AI开发/CodeBuddy/DRG医保控费预警系统开发项目" node mcp-drg-server.js ``` #### 方法三:使用Python客户端 ```bash python mcp-drg-iris-python.py ``` ### 3.3 步骤三:在CodeBuddy中启用 1. **重启CodeBuddy IDE** 2. **检查MCP连接状态**: - 在CodeBuddy中查看"连接状态"或"MCP集成" - 确认 `iris`、`drg-api`、`drg-python` 三个服务器状态为"已连接" 3. **测试连接**: - 在CodeBuddy中使用MCP工具查询数据 - 例如: 查询医院列表、预警记录等 --- ## 4. 接口使用示例 ### 4.1 查询医院信息 ```python from mcp_drg_iris import DRGIRISMCPClient client = DRGIRISMCPClient() result = client.query_system_users(filters={"hospitalCode": "H03"}) ``` ### 4.2 查询预警记录 ```javascript const { DRGIRISMCPClient } = require('./mcp-drg-iris-nodejs.js'); const client = new DRGIRISMCPClient({ baseURL: 'http://172.16.2.15:52773', apiKey: 'drg-mcp-access-key-2026' }); client.queryWarningRecords({ startDate: '2026-01-01', endDate: '2026-04-09', warningLevel: '高' }).then(result => { console.log(result); }); ``` ### 4.3 调用通用接口 ```javascript const result = await client.invokeInterface('02010404', []); // 02010404: 查询接口服务列表 ``` --- ## 5. 工具和资源 ### 5.1 可用工具(通过MCP调用) | 工具名称 | 描述 | |----------|------| | `invoke_drg_interface` | 调用任意IRIS接口 | | `query_warning_records` | 查询预警记录 | | `query_hospitals` | 查询医院信息 | | `query_basic_data` | 查询基础数据(省份、城市、区域、政策类型) | | `test_connection` | 测试服务器连接 | ### 5.2 可用资源(通过MCP访问) | 资源名称 | URI | 描述 | |----------|-----|------| | 服务器信息 | `iris://server-info` | IRIS服务器连接信息 | | 接口文档 | `drg://interface-docs` | DRG系统接口文档 | | 数据模型 | `drg://data-model` | DRG系统数据模型定义 | --- ## 6. 故障排除 ### 6.1 常见问题 | 问题 | 可能原因 | 解决方案 | |------|----------|----------| | 无法连接IRIS服务器 | 网络不通或服务器宕机 | 1. 检查网络连接
2. 确认IRIS服务器状态
3. 检查防火墙设置 | | 认证失败 | 用户名或密码错误 | 1. 验证账户信息
2. 检查命名空间权限 | | API调用返回错误 | 接口代码或参数格式错误 | 1. 确认接口代码
2. 检查参数格式
3. 查看错误信息详情 | | MCP服务器无法启动 | Node.js版本过低或依赖缺失 | 1. 升级Node.js到18.0+
2. 运行 `npm install` | ### 6.2 连接测试 #### 手动测试IRIS连接: ```bash # 测试HTTP连接 curl -I http://172.16.2.15:52773/csp/drg/sysInternalMutiple # 测试认证(注意:在命令行中执行时需注意安全) curl -u "_SYSTEM:pryk@2020" http://172.16.2.15:52773/csp/drg/sysInternalMutiple -X POST -H "Content-Type: application/json" -d '{"code":"02010404","params":[]}' ``` #### 通过浏览器访问管理门户: ``` http://172.16.2.15:52773/csp/sys/UtilHome.csp ``` --- ## 7. 安全注意事项 ### 7.1 凭证管理 - **API密钥**: 在生产环境中定期更换 - **IRIS账户**: 使用专用的服务账户,而非 `_SYSTEM` 账户 - **环境变量**: 敏感信息通过环境变量传递 ### 7.2 访问控制 - **网络隔离**: 限制MCP服务器访问范围 - **API限流**: 防止接口滥用 - **日志审计**: 记录所有访问日志 ### 7.3 生产部署建议 1. **使用专用服务器账户** ```yaml # 创建专用账户 用户名: drg_mcp_service 权限: 只读访问必要的表和类 ``` 2. **配置SSL/TLS** ```yaml security: ssl: enabled: true cert_path: "/path/to/cert.pem" key_path: "/path/to/key.pem" ``` 3. **启用访问日志** ```yaml monitoring: access_log: enabled: true format: "combined" retention_days: 30 ``` --- ## 8. 维护和监控 ### 8.1 健康检查 ``` # 通过HTTP接口检查 curl http://localhost:8090/health # 通过MCP工具检查 test_connection() ``` ### 8.2 性能监控 #### 关键指标: - 接口调用成功率 - 平均响应时间 - 并发连接数 - 错误率统计 #### 日志位置: - 控制台输出(启动时可见) - 应用日志(可通过配置输出到文件) - 系统日志(Windows事件查看器) --- ## 9. 技术支持 ### 9.1 联系方式 - **邮箱**: drg-support@yourcompany.com - **内部文档**: http://docs.drg-project.com - **紧急联系人**: 内部通讯录中的DRG技术支持 ### 9.2 问题报告 当遇到问题时,请提供以下信息: 1. 错误消息详情 2. 操作步骤 3. 服务器日志片段 4. 环境信息(操作系统、Node.js版本等) ### 9.3 文档更新 本文档将随系统更新而更新,最新版本请参考项目文档仓库。 --- ## 10. 附录 ### 10.1 接口调用格式 ```json { "code": "02010404", "params": [ { "searchText": "关键词", "page": 1, "limit": 20 } ], "session": [ { "userID": "158", "userCode": "admin", "locID": "2300", "hospID": "25" } ] } ``` ### 10.2 错误码参考 | 错误码 | 描述 | |--------|------| | 0 | 成功 | | -1 | 业务逻辑失败 | | -99 | 系统异常 | | 1001 | 参数错误 | | 1002 | 会话过期 | | 1003 | 权限不足 | | 2001 | 数据不存在 | | 2002 | 数据已存在 | | 3001 | 服务器内部错误 | ### 10.3 相关文件 - `MCP_IMPLEMENTATION_GUIDE.md` - 详细实现指南 - `mcp-server-config.yaml` - 完整服务器配置 - `mcp-client-config.json` - 客户端配置示例