Prism MCP Server
Prism
Prism lets AI see through IRIS.
MCP server and CLI for InterSystems IRIS development — SQL queries, document management, compilation, debugging, testing, and ObjectScript execution via the Atelier REST API.
Features
SQL — Run queries, DDL, stored procedures against any IRIS namespace
Documents — Upload, fetch, compile, and delete
.cls,.mac,.incfilesTerminal — Execute ObjectScript via native (SuperServer) or WebSocket backend
Debugging — Interactive step-through debugger with breakpoints, variable inspection, and stack traces
Testing — Run
%UnitTesttest classes, list test methods, view historical resultsMCP Server — Expose all tools to AI assistants (Claude Code, Claude Desktop, Cursor, GitHub Copilot)
Cast Plugins — Extend Prism with custom commands from any Git repository
Cross-platform — Windows installer, Linux/macOS via pip/uv
Quick Start
# Install
uv sync
# Configure (or use environment variables)
uv run prism config -u _SYSTEM -p SYS -U http://localhost:52773 -n USER
# Run a SQL query
uv run prism sql "SELECT TOP 5 Name FROM %Dictionary.ClassDefinition"
# Start the MCP server
uv run prism serveNeed an IRIS instance? Start one with Docker:
docker run -d --name iris -p 52773:52773 -p 1972:1972 intersystemsdc/iris-community:latestCLI Commands
Command | Description |
| Run an SQL query |
| Run ObjectScript via native SuperServer |
| Run ObjectScript via WebSocket |
| Upload a file to IRIS |
| Fetch a document from IRIS |
| List source documents |
| Delete a document |
| Compile documents |
| Server version and namespaces |
| Run unit test classes |
| Discover test classes |
| View or edit settings |
| Run custom commands from Git repos |
| Start the MCP server |
Global option: prism --format toon for TOON output.
Shell completion
Tab completion is available for bash, zsh, fish, and PowerShell:
prism --install-completion # auto-detect shellAfter running, restart your terminal. Then prism conf + Tab auto-completes
to prism config, prism s + Tab cycles through sql and serve, etc.
See the commands overview for details.
MCP Tools
10 tools are always available, 2 workspace-gated (put_document, put_and_compile),
and 9 debug-gated (debug_*) — up to 21 total.
See the full tool reference for details.
MCP Client Configuration
Claude Code
Add to ~/.claude/settings.json or .claude/settings.json:
{
"mcpServers": {
"iris": {
"url": "http://localhost:3000/mcp"
}
}
}Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"iris": {
"command": "uv",
"args": ["run", "--directory", "/path/to/prism", "prism", "serve"]
}
}
}GitHub Copilot (VS Code)
Add to .vscode/mcp.json:
{
"servers": {
"iris": {
"type": "http",
"url": "http://localhost:3000/mcp"
}
}
}Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"iris": {
"url": "http://localhost:3000/mcp"
}
}
}Environment Variables
Variable | Default | Description |
|
| IRIS instance URL |
|
| Authentication username |
|
| Authentication password |
|
| Default namespace |
| (empty) | Local directory for MCP file I/O tools |
|
| Compiler flags |
|
| Enable debug tools ( |
|
| Terminal backend: |
See the configuration guide for all 21 settings.
Project Structure
src/prism/
├── settings.py # Pydantic settings (env, .env, config.json)
├── iris/
│ ├── sdk/ # HTTP client, workspace, debug protocols, terminal
│ └── api/ # Thin IRIS REST API wrappers (sql, docs, compile, debug)
├── mcp/ # MCP tools with @logged_tool decorator
│ ├── _decorator.py # Logging + auto-discovery
│ ├── server.py # FastMCP server
│ └── *.py # One module per tool domain
├── cast/ # Cast plugin system (import-based Typer plugins)
│ └── manager.py # Clone, import, cache, run commands
└── cli/ # Typer CLI commands (async wrappers)Testing
uv run pytest tests/unit/ -v # No IRIS needed (276 tests)
IRIS_BASE_URL=http://localhost:52773 \
uv run pytest tests/integration/ -v # Needs IRIS (72 tests)
uv run ruff check . && uv run ruff format --check . # LintFull testing guide: docs/testing.md
Releases
Prism follows a Git Flow
release workflow with two protected branches: development (active work)
and main (stable releases).
Download the latest Windows installer or standalone exe from GitHub Releases.
Artifact | Description |
| Windows installer (Inno Setup, adds to PATH) |
| Standalone Windows binary (PyInstaller) |
| Python wheel ( |
See the release guide for the full release workflow, branch model, hotfix procedure, and CI pipeline details.
Documentation
Full documentation at adriaerni.github.io/Prism
License
Copyright © 2026 Adria Sanchez.
Licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). You may use, modify, and distribute this software freely, including for commercial purposes, as long as you share your source code under the same license. SaaS/hosting providers must also share their source code (network clause).
See LICENSE for full terms.