Skip to main content
Glama

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.

Documentation Python 3.12+ License: AGPL v3


Features

  • SQL — Run queries, DDL, stored procedures against any IRIS namespace

  • Documents — Upload, fetch, compile, and delete .cls, .mac, .inc files

  • Terminal — Execute ObjectScript via native (SuperServer) or WebSocket backend

  • Debugging — Interactive step-through debugger with breakpoints, variable inspection, and stack traces

  • Testing — Run %UnitTest test classes, list test methods, view historical results

  • MCP 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

Related MCP server: IBM i MCP Server

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 serve

Need an IRIS instance? Start one with Docker:

docker run -d --name iris -p 52773:52773 -p 1972:1972 intersystemsdc/iris-community:latest

CLI Commands

Command

Description

prism sql

Run an SQL query

prism terminal

Run ObjectScript via native SuperServer

prism ws

Run ObjectScript via WebSocket

prism put-doc

Upload a file to IRIS

prism get-doc

Fetch a document from IRIS

prism list-docs

List source documents

prism delete-doc

Delete a document

prism compile

Compile documents

prism info

Server version and namespaces

prism test

Run unit test classes

prism list-tests

Discover test classes

prism config

View or edit settings

prism cast

Run custom commands from Git repos

prism serve

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 shell

After 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_BASE_URL

http://localhost:52773

IRIS instance URL

IRIS_USERNAME

_SYSTEM

Authentication username

IRIS_PASSWORD

SYS

Authentication password

IRIS_NAMESPACE

USER

Default namespace

IRIS_WORKSPACE

(empty)

Local directory for MCP file I/O tools

IRIS_COMPILE_FLAGS

cuk

Compiler flags

IRIS_DEBUG_ENABLED

false

Enable debug tools (debug_*)

IRIS_TERMINAL_METHOD

native

Terminal backend: native or ws

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 .  # Lint

Full 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

prism-X.Y.Z-setup.exe

Windows installer (Inno Setup, adds to PATH)

prism.exe

Standalone Windows binary (PyInstaller)

prism-X.Y.Z-py3-none-any.whl

Python wheel (pip install prism)

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.

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ERNI-Academy/Prism-tooling'

If you have feedback or need assistance with the MCP directory API, please join our Discord server