InteropMCP
Turns validated InterSystems IRIS Interoperability Productions into an MCP server: it scans a running production for annotated Business Services and publishes each as an MCP tool with a typed input schema derived from its request message. Tool calls are dispatched as real messages through the production (Business Service → Business Process → Business Operation), producing Ens.MessageHeader rows and Visual Trace chains, while the gateway keeps its own separate audit store. It supports per-tool guardrails (readonly, write requiring authorization, critical requiring recorded human approval via an Approvals API), asynchronous/long-running tools with polling through GetInvocationStatus, self-service credential issuance with hashed tokens, and an operator portal for listing, auditing and revoking credentials.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@InteropMCPSubmit a patient admission to the ADT business service"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
IRIS InteropMCP
IRIS InteropMCP turns InterSystems Interoperability Productions into native Model Context Protocol (MCP) servers. AI agents, corporate assistants and LLM-based tools can invoke legacy Business Services through natural language — with per-tool security guardrails and full audit — without rewriting a single line of integration code.
Built on the InterSystems AI HUB framework in ObjectScript and deployed as a containerized workload.
Quick start
The AI Hub image is not on Docker Hub — you must download it from the InterSystems EAP Portal first, then load it locally.
Download the AI Hub image
Go to https://evaluation.intersystems.com/Eval/early-access/AIHub
Download the
.docker.tar.gzfor your platform:arm64 for macOS (Apple Silicon)
amd64 for Linux/Windows
Load the image into Docker
You can download any AI Hub version from the EAP Portal. For convenience, use the same version as this repo (
2026.3.0AI.154.0) — then skip step 3.docker load -i /path/to/iris-community-2026.3.0AI.154.0-docker.tar.gzTip: The filename matches the tag, e.g.,
iris-community-2026.3.0AI.154.0-docker.tar.gzUpdate the Dockerfile (only if using a different version)
The repo's
Dockerfiledefaults to2026.3.0AI.154.0:ARG IMAGE=docker.iscinternal.com/docker-intersystems/intersystems/iris-community:2026.3.0AI.154.0If you downloaded
2026.3.0AI.154.0above, skip this step — nothing to edit.Otherwise, edit
Dockerfileand change theARG IMAGE=...line to match your loaded image tag.Start the container
docker compose up -d --buildConnect your AI coding assistant to the MCP endpoint
The MCP server runs at
http://localhost:8080/mcp/interopmcp. Configure your preferred tool:opencode (pre-configured in this repo)
The repo already includes
opencode.jsonwith InteropMCP configuredJust run:
opencodeConfig (
opencode.json):"InteropMCP": { "type": "remote", "url": "http://localhost:8080/mcp/interopmcp", "enabled": true }
Claude Code
Create
.mcp.jsonin the repo root:{ "mcpServers": { "interopmcp": { "url": "http://localhost:8080/mcp/interopmcp" } } }Restart Claude Code
GitHub Copilot (VS Code)
Add to VS Code
settings.json:"mcp": { "servers": { "interopmcp": { "url": "http://localhost:8080/mcp/interopmcp" } } }Reload VS Code window (Ctrl+Shift+P → "Developer: Reload Window")
Test it
6.1 Invoke a tool — in your AI assistant's chat:
Use the PayLookup tool with OrderId 88201 and CustomerId C-16.2 Verify in IRIS Management Portal
Access the Message Viewer at http://localhost:52773/csp/irisapp/EnsPortal.MessageViewer.zen?$NAMESPACE=IRISAPP&
Login: _SYSTEM / SYS — namespace: IRISAPP
Filter messages by today → see the
Ens.MessageHeaderentry with the BS→BP→BO chainClick Visual Trace on that message to see the full flow:
Demo.PayLookupService→Demo.AuditProcess→Demo.AuditOperation
6.3 Verify audit store (SQL):
Access the SQL portal at http://localhost:52773/csp/sys/exp/%25CSP.UI.Portal.SQL.Home.zen?$NAMESPACE=IRISAPP
SELECT * FROM br_musketeers_InteropMCP.Invocations ORDER BY InvocationId DESC6.4 Verify demo audit payload:
docker exec -it ai-hub-dev-template-iris-1 iris session iris -U IRISAPPThen run:
zwrite ^InteropMCP.Demo.AuditD halt
MCP endpoint: http://localhost:8080/mcp/interopmcp
Related MCP server: Company API MCP Server
Features
Automatic tool discovery — scans a running production for Business Services enabled via class annotations and publishes each one as an MCP tool with a typed input schema generated from its request message.
Per-tool security guardrails — every tool is classified as
readonly(autonomous),write(requires authorization) orcritical(requires explicit human approval before execution). Critical calls are queued and never run without a recorded approval.Native traceability — every tool call drives a real message flow through the production (Business Service → Business Process → Business Operation), producing
Ens.MessageHeaderrows and a Visual Trace chain. The gateway keeps its own audit store (br.musketeers.InteropMCP.Invocations) and never writes into production structures.Sync-over-async support — tools flagged as long-running return a processing reference; agents poll
GetInvocationStatusfor the outcome.Container-oriented — image builds provision the MCP endpoint, demo production and tool catalog; production autostarts with IRIS; a sidecar supervises the MCP bridge.
Governance split — the IPM module ships only the gateway application; the demo production lives only in the container build.
Architecture at a glance
flowchart TD
subgraph Client["MCP Client"]
A[MCP client / opencode]
end
subgraph Bridge["MCP Bridge"]
B[iris-mcp-server bridge :8080]
end
subgraph Gateway["MCP Gateway (Web app /mcp/interopmcp)"]
C[Web app /mcp/interopmcp - Type 18]
D[br.musketeers.InteropMCP.MCPService - %AI.MCP.Service]
E[br.musketeers.InteropMCP.ToolSet]
F[GeneratedTools + InvocationStatusTools]
G[Guardrails]
H[Invoker]
end
subgraph Production["Interop Production"]
I[Business Service]
J[AuditProcess - BP]
K[AuditOperation - BO]
end
subgraph Storage["Storage & Audit"]
L[^InteropMCP.Demo.AuditD payload]
M[Ens.MessageHeader + Visual Trace]
N[Invocations audit store]
end
A -->|JSON-RPC| B
B --> C
C --> D
D --> E
E --> F
F --> G
G -->|proceed| H
H -->|fires BS only| I
I -->|SendRequestSync| J
J -->|SendRequestSync| K
K --> L
I -.-> M
H -.-> NThe MCP gateway only fires Business Services — it never writes into production structures. The trace is produced by the production components themselves.
Project layout
src/
br/
musketeers/
InteropMCP/ Gateway application (13 ObjectScript classes)
InteropMCP/Demo/ Demo production + request/response classes (container demo only)
tests/
br/
musketeers/
InteropMCP/ %UnitTest suites
python/
smoke/ External MCP client smoke harness
docs/
interop-mcp/ Detailed documentation
specs/
001-interop-mcp/ Specification artifacts (spec, plan, contracts, tasks)Documentation
Document | Content |
Component map, request lifecycle, traceability and security models, deployment topology | |
Deploy/teardown, onboarding new Business Services, approval workflow, monitoring, testing | |
MCP tool contract and ObjectScript class/method reference | |
Runbook, UDL dialect rules for this build, diagnostic queries and globals map |
IPM module
module.xml packages only the gateway (br.musketeers.InteropMCP.PKG). To deploy the application
without the demo, install the module and provision the endpoint in production mode:
Do ##class(br.musketeers.InteropMCP.Setup).Run("prod")prod mode requires platform authentication and a least-privilege role
(InteropMCPRoles); dev mode (used by the container demo) runs unauthenticated on
localhost only.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
Unified MCP Server is a remote MCP connector for AI agents and vertical AI products that provides access to 22,000+ authorized SaaS tools across 400+ integrations and 24 categories directly inside LLMs (Claude, GPT, Gemini, Cohere). Tools operate only on explicitly authorized customer connections, enabling agents to safely read and write against live third-party systems.
Find, vet, and run MCP tools through a secure audited gateway with prompt-injection risk scoring
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA secure MCP gateway for enterprise AI tool execution, enabling governed invocation of business tools with authentication, RBAC, audit logging, PII redaction, and async processing.Apache 2.0
- FlicenseNot gradedqualityDmaintenanceExposes internal company services as LLM-callable MCP tools, enabling AI agents to perform business operations like customer management, order processing, and support ticketing through natural language.-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to safely call enterprise tools through a governed MCP gateway with permission enforcement, blast-radius controls, input validation, and a full audit trail for every invocation.MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to securely call enterprise MCP tools with tenant-scoped RBAC, human approvals, audit logging, and multi-tool workflows across customer, order, document, and ticket data.-