MCP-IRIS-INTEROP项目
使用InterSystems IRIS从Claude Code中吸取所有精华
描述
这是一个多步骤的项目,我们最大限度地利用Claude Code和InterSystems IRIS在互操作性生产中开发集成的好处。
项目状态
- ✅ 步骤1:GitHub存储库已创建
- ✅ 步骤2:InterSystems IRIS开发环境设置完成
- ✅ 步骤3:VSCode插件分析和TypeScript原型完成
- ✅ 步骤4:具有类管理功能的扩展原型
- ✅ 副项目第1步:通过SQL存储过程执行ObjectScript
- ✅ 副项目第二步:通过存储过程部署REST API
- ✅ 步骤5:用于互操作性生产管理的REST API
- ✅ 步骤6.1:执行ObjectScript代码功能
- ✅ 步骤6.2:生产启动功能
- ✅ 步骤6.3:生产更新功能
- ✅ 步骤6.4:生产停止和清洁功能
- ✅ 步骤6.5:测试服务功能
- ✅ 步骤6.6:事件日志导出功能
- ✅ 步骤6.7:消息跟踪导出功能
- ⏳ 步骤7:MCP服务器实现
- ⏳ 步骤8:跳过(手动步骤)
- ⏳ 步骤9:源代码分析
- ⏳ 步骤10:ICUMED电路实现
入门指南
该项目使用InterSystems IRIS和Docker容器进行开发。按照以下步骤开始:
先决条件
- Docker桌面
- Node.js和npm
- Git
- GitHub CLI(gh)
- 带InterSystems ObjectScript扩展包的VSCode
初始设置
- 克隆此存储库
- 按照记录的每个步骤的设置说明进行操作
存储库结构
mcp-iris-interop/
├── README.MD # This file - main project documentation
├── CLAUDE.md # Project instructions and step definitions
├── WorkLog.MD # Development log and progress tracking
├── Dev-Status.MD # Step completion status and details
├── client-proto/ # TypeScript prototype (Steps 3-4)
│ ├── README.md # Client prototype documentation
│ └── IRIS-Interoperability-API-Analysis.md # Interoperability API analysis
├── curl-test/ # IRIS API validation scripts (Steps 3-4)
│ ├── README.md # cURL test suite documentation
│ └── TEST-RESULTS.md # Test execution results
├── exec-proto/ # ObjectScript execution prototype (Side Project)
│ ├── README.md # Execution prototype documentation
│ └── DEPLOYMENT-NOTES.md # Critical deployment patterns and procedures
├── iris-samples/ # Sample IRIS classes for testing
│ ├── README.md # Sample classes documentation
│ ├── csv-to-xml/ # Complete CSV to XML conversion workflow
│ ├── simple-production-test/ # Basic file passthrough test
│ ├── demo-components/ # Basic demonstration components
│ ├── step5-production-api/ # Production API testing
│ ├── download/ # Downloaded classes for testing
│ └── upload/ # Test classes for upload validation
├── legacy/ # Downloaded sample classes from IRIS
│ ├── README.md # Legacy classes overview
│ ├── cacheensdemo/ # ENSDEMO namespace classes (203 interoperability samples)
│ │ └── README.md # ENSDEMO classes documentation
│ ├── ensLib/ # Ens/EnsLib/EnsPortal classes from IRISAPP (1,276 classes, 14MB)
│ └── system/ # % system classes from SAMPLES namespace (3,458 classes)
├── intersystems-iris-dev-template/ # Docker development environment (Step 2)
│ ├── README.md # Docker environment setup
│ └── dev.md # Development instructions
├── vscode-objectscript/ # VSCode plugin source code (Step 3)
│ ├── README.md # VSCode plugin documentation
│ └── CHANGELOG.md # Plugin change history
└── Documentation Files:
├── InterSystems-VSCode-API-Inventory.md # Complete API analysis (70+ endpoints)
├── Claude-SideProject.md # Side project specifications
├── Exec-Proto-Bootstrap-Success.md # Bootstrap implementation success
├── Side-Project-Step2-Complete.md # REST API deployment completion
├── Side-Project-Step2-Plan.md # REST API deployment plan
├── SQL-StoredProcedure-Analysis.md # SQL stored procedure analysis
└── StoredProcedure-Examples.md # Stored procedure examples副项目:exec proto
这 exec-proto/ 目录包含一个单独的原型,演示如何通过SQL存储过程执行ObjectScript代码:
- 目的:用于远程执行ObjectScript的Bootstrap系统
- 主要特点:
- 通过SQL DDL动态创建存储过程 - 通过CALL语句执行任意ObjectScript代码 - 为REST API安装提供基础
- 关键文件:
- Bootstrap.Simple.cls -带有SqlProc方法的简单引导类 - server-classes/Side.Mcp.Deploy.cls -REST API部署类 - step1-demo.sh -工作演示脚本 - test-stored-procedure.sh -全面的测试套件
当前状态
步骤1完成:GitHub存储库 mcp-iris-interop 已成功创建并初始化。
第2步完成:InterSystems IRIS开发环境现在使用42000个固定端口的Docker容器运行。
第3步完成:分析了VSCode插件,创建了全面的API文档,构建并测试了TypeScript原型,并为API验证实现了完整的curl测试套件。
第三步可交付成果
- API文档:
InterSystems-VSCode-API-Inventory.md-70+REST API端点的完整分析 - TypeScript原型:
client-proto/-带有CLI界面的完整IRIS Atelier API客户端 - API测试套件:
curl-test/-7个全面的测试脚本,验证所有主要端点 - 连接验证:所有API都针对运行IRIS Docker实例进行了测试
连接测试说明
验证IRIS环境是否正常工作:
- 系统管理门户: http://localhost:42002/csp/sys/UtilHome.csp
- 默认用户名: _SYSTEM - 默认密码: SYS
- 互操作性门户: http://localhost:42002/csp/irisapp/EnsPortal.ProductionConfig.zen
- 访问IRISAPP命名空间互操作性功能
- 命令行测试:
# Test system management portal
curl -s -o /dev/null -w "%{http_code}" http://localhost:42002/csp/sys/UtilHome.csp
# Should return: 200
# Test interoperability portal
curl -s -o /dev/null -w "%{http_code}" http://localhost:42002/csp/irisapp/EnsPortal.ProductionConfig.zen
# Should return: 200- 端口映射:
- 端口42001:IRIS超级服务器(1972) - 端口42002:IRIS Web服务器(52773) - 端口42003:IRIS镜像服务器(53773)
API测试套件使用情况
卷曲测试套件提供了对所有IRIS Atelier API端点的全面验证:
# Run individual tests
cd curl-test
./01-test-connection.sh
./02-server-info.sh
# ... etc
# Run complete test suite
./run-all-tests.sh环境变量:
IRIS_HOST(默认值:localhost)IRIS_PORT(默认值:42002)IRIS_USER(默认值:\_SYSTEM)IRIS_PASS(默认值:SYS)IRIS_NS(默认:irisapp)
TypeScript原型使用(首选方法)
⭐ 重要:The client-proto/ TypeScript客户端是 首选方法 用于与IRIS服务器交互。对于IRIS API操作,始终使用client-proto而不是curl或其他方法。
该原型为IRIS提供了一个全面的命令行界面:
cd client-proto
npm install
npm run build
# Basic connectivity and server info
npm start test # Test connectivity
npm start server-info # Get server information
npm start namespaces # List namespaces
npm start docs [namespace] # List documents
# Class management (Step 4)
npm start classes # List classes in namespace
npm start packages # List packages in namespace
npm start upload # Upload class to IRIS
npm start download # Download class from IRIS
npm start compile # Compile class in IRIS
npm start upload-compile # Upload and compile
# Production management (Step 5)
npm start prod-check # Check production API availability
npm start prod-status # Get production API status
npm start prod-list # List all productions
npm start prod-test # Test production API
# Execute ObjectScript code (Step 6.1)
npm start execute # Execute ObjectScript code remotely
# Note: Use single quotes to prevent shell variable expansion:
# npm start execute 'Set ^MyGlobal=$H'
# Bootstrap API (First-time setup)
npm start bootstrap-api # Upload and deploy the production management API配置:编辑 client-proto/config.json 指定您的IRIS连接详细信息。
样本类别(虹膜样本/)
这 iris-samples/ 目录包含用于测试各种IRIS功能的有组织的ObjectScript类:
csv-to-xml/:完成CSV到XML的转换工作流程
- CSV.PersonRecord.cls -人员数据的消息类 - CSV.FileService.cls -CSV处理业务服务 - CSV.XMLFileOperation.cls -XML输出的业务操作 - CSV.ProcessingProduction.cls -生产配置 - sample-people.csv -测试数据文件
simple-production-test/:基本文件直通生产
- Test.SimpleProduction.cls -API测试的简单生产
demo-components/:基本演示组件
- Demo.FileService.cls -基本文件输入服务 - Demo.FileOperation.cls -基本文件输出操作
step5-production-api/:生产API测试组件
- Sample.Production.Step5.cls -API验证样品生产
upload/:示例类已准备好上传到IRIS
- Test.Sample.cls -具有属性和方法的基本ObjectScript类 - Test.REST.cls -REST API类扩展%CSP。表征状态转移 - Test.Utility.cls -具有静态方法的实用程序类
download/:从IRIS下载课程进行验证
这些示例演示了各种IRIS互操作性模式,并被TypeScript原型用于测试。
文档索引
项目管理
技术文档
- InterSystems-VSCode-API-库存.md -70+IRIS Atelier REST API端点综合分析
- 执行原型/部署-注释.md - ⭐ 关键的:通过存储过程部署REST API的模式
- SQL存储程序分析.md -IRIS中SQL存储过程能力分析
- 存储程序示例.md -存储过程实现的工作示例
副项目文件
- Claude-Side项目.md -副项目规范和要求
- 执行-原型-引导-成功.md -Bootstrap实现成功报告
- 侧边项目-步骤2-Complete.md -REST API部署完成报告
- 侧边项目-第2步-计划.md -REST API部署实施计划
组件文档
- 客户端proto/README.md -TypeScript IRIS API客户端文档
- client-proto/IRIS-互操作性-API-Analysis.md -特定于互操作性的API分析
- curl测试/README.md -cURL测试套件文档和使用
- 卷曲试验/试验结果.md -测试执行结果和验证
- exec proto/README.md -ObjectScript执行原型文档
- 虹膜样本/README.md -示例类文档和测试指南
样品收集
- 遗留/README.md -下载的IRIS示例类概述
- legacy/cacheensdemo/README.md -ENSDEMO互操作性示例(203类)
- 遗留/ensLib/ -完整的Ens/EnsLib/EnsPortal框架(1276个类)和测试服务类
外部组件
- 系统间iris开发模板/README.md -Docker开发环境设置
- vscode对象脚本/README.md -VSCode插件文档
样本采集摘要
该存储库包括来自InterSystems IRIS的全面示例类集合:
- 示例命名空间:406个非%类(3.0MB)+3458%系统类(47MB)
- ENSDEMO命名空间:203个非互操作性类(1.2MB)
- IRISAPP命名空间: 1276 Ens/EnsLib/EnsPortal 类 (14MB) - 完整的互操作性框架
- 定制样品:上传/下载测试课程
iris-samples/
这些藏品为以下方面提供了广泛的例子:
- IRIS互操作性开发
- 业务服务、流程和运营
- 数据转换和消息路由
- Web服务和REST API实现
- 仪表板和UI组件(CSPX.Dashboard.\*)
开发指南
🔧 IRIS服务器交互
⭐ 始终使用 client-proto/ 用于IRIS服务器交互:
- 客户端原型是所有IRIS操作的标准化、经过测试的方法
- 使用客户端原型命令而不是curl、直接REST调用或其他方法
- 客户端原型一致地处理身份验证、错误处理和响应格式
📚 传统目录咨询要求
⭐ 在实施新的API功能之前:
- 搜索
legacy/ensLib/(1276个班级)为现任EnsLib的Ens主任。*以及Ens。* 实现 - 审查
legacy/cacheensdemo/(203类)用于工作互操作性示例 - 检查
legacy/system/(3458类)用于系统级功能 - 了解现有模式 在编写新的API端点之前
示例:实施生产管理前,检查:
legacy/ensLib/Ens.Director.cls-生产管理方法legacy/ensLib/EnsLib.Testing.Service.cls-测试服务实施legacy/cacheensdemo/EnsPortal.TestingService.cls-测试服务UI模式
这确保了新的API使用经过验证的InterSystems模式,并避免重新发明现有功能。
主要成就
✅ 功能性REST API部署:从SQL查询到部署的REST API的完整工作流程\ ✅ API综合分析:记录了70多个IRIS Atelier API端点\ ✅ 原型产品:TypeScript客户端和ObjectScript执行系统\ ✅ 广泛的测试覆盖范围:cURL和TypeScript测试套件用于验证\ ✅ 示例代码库:4000多个InterSystems IRIS课程供参考\ ✅ 关键文件:保留部署模式以供将来使用
