IRIS MCP Blueprint
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| IRIS_PORT | No | SuperServer TCP port | 9091 |
| FASTMCP_HOST | No | Host for SSE transport | 127.0.0.1 |
| FASTMCP_PORT | No | Port for SSE transport | 8000 |
| IRIS_HOSTNAME | No | IRIS host | localhost |
| IRIS_PASSWORD | No | IRIS password | SYS |
| IRIS_USERNAME | No | IRIS username | _SYSTEM |
| IRIS_WEB_PORT | No | Management Portal / REST APIs port | 9092 |
| MCP_TRANSPORT | No | Transport mode: stdio or sse | stdio |
| IRIS_NAMESPACE | No | IRIS namespace | USER |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| fetch_dataB | Execute SQL and return results as a table. For DDL/DML with no result set, returns a short status line. Args: ctx: The context of the tool call. sql: The SQL query to execute. parameters: The parameters to pass to the SQL query. |
| insert_dataC | Insert a single row into a table. Args: ctx: The context of the tool call. table_name: The name of the table to insert the data into. values: The values to insert into the table. table_schema: The schema of the table to insert the data into. |
| get_tablesC | List all tables in a specific schema. Args: ctx: The context of the tool call. table_schema: The schema of the tables to list. |
| describe_tableC | Show columns and types for a table. Args: ctx: The context of the tool call. table_name: The name of the table to describe. table_schema: The schema of the table to describe. |
| create_indexC | Creates a standard index to speed up queries. Args: ctx: The context of the tool call. table_name: The name of the table to create the index on. column_name: The name of the column to create the index on. index_name: The name of the index to create. table_schema: The schema of the table to create the index on. |
| import_csv_to_irisB | Creates a table and imports data from a CSV string. The first row of the CSV must be the header (column names). All columns will be created as VARCHAR(255) for this blueprint. Args: ctx: The context of the tool call. table_name: The name of the table to import the data into. csv_content: The content of the CSV file to import. table_schema: The schema of the table to import the data into. |
| export_tableA | Export rows from an existing IRIS table as JSON, CSV, or TXT (pipe-separated). The result is returned as a single string the caller can preview, copy to a file,
or stream to a downstream client. For large tables narrow the result with
|
| check_globalB | Check if a global exists (e.g., 'MCPData'). Args: ctx: The context of the tool call. global_name: The name of the global to check. |
| save_globalB | Save a value to a global node. Use subscripts for ^g(1,"a") style paths (e.g. [1, "Prova"]). Args: ctx: The context of the tool call. global_name: The name of the global to save the value to. value: The value to save to the global. subscripts: The subscripts of the global to save the value to. |
| check_global_contentC | Read a global node (same subscript rules as save_global). Args: ctx: The context of the tool call. global_name: The name of the global to read. subscripts: The subscripts of the global to read. |
| list_global_subscriptsA | List subscript keys under a global path using the IRIS node iterator (ZORDER-style). Args: ctx: The context of the tool call. global_name: top global without ^ (e.g. BTHo). subscripts: path into the global, e.g. ["DufT", 3] for ^BTHo("DufT",3,... recursive: if True, each line is a full path from the start node; max_depth is how many subscript levels to descend below the starting path (1 = only immediate children). max_depth: how many subscript levels to descend below the starting path (1 = only immediate children). max_nodes: maximum number of nodes to return (default: 2000). include_values: if True, include the values of the nodes. |
| run_class_methodC | Run an ObjectScript ClassMethod. Args: ctx: The context of the tool call. class_name: The name of the class to run the method on. method_name: The name of the method to run. args: The arguments to pass to the method. |
| search_codeA | Search for a string across IRIS source documents (Atelier Calls |
| get_class_sourceA | Read .cls source code using Atelier REST API. |
| get_active_productionA | Return the name of the currently active Interoperability production on the current namespace. |
| start_productionA | Start an Interoperability production by class name (must already exist and be compiled). Calls |
| stop_productionA | Stop the currently running Interoperability production in this namespace. Calls |
| create_empty_productionA | Create and compile a new empty Uses the Atelier REST API ( |
| list_production_itemsB | List the items currently configured in a production on the current namespace. |
| add_production_itemB | Add a Business Host (Service / Process / Operation) to a production on the current namespace. |
| remove_production_itemC | Remove a Business Host from a production. |
| get_production_item_settingsA | List the configured setting overrides on a Business Host (Service / Process / Operation) inside a production. Only settings explicitly stored on the |
| update_production_item_settingsA | Update (or create) one or more setting overrides on an existing Business Host inside a production. For each
The production is then persisted with |
| update_productionA | Apply pending configuration changes to the running production (equivalent to clicking 'Update' in the Management Portal). Calls |
| register_web_applicationA | Create or update a CSP web application that exposes an HTTP-based Business Service (typically EnsLib.REST.GenericService) to the outside world. Delegates to the ObjectScript helper because 'Security.Applications' requires switching to the %SYS namespace, which is cleaner to do in ObjectScript than over the Native SDK. Authentication is set to Unauthenticated for development convenience. Tighten this before going to production. |
| remove_web_applicationA | Delete a CSP web application by URL path (delegates to ObjectScript). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| analyze-table | Creates a prompt that tells the AI to investigate a table's structure and suggest optimizations. Args: table_name: The name of the table to analyze. schema_name: The name of the schema to analyze. |
| explore-class | Creates a prompt that tells the AI to study a class and suggest a new method for it. Args: query: The name of the class to analyze. |
| import-csv-workflow | A guided workflow for the AI to handle CSV imports securely. Args: table_name: The name of the table to import data into. csv_sample: A sample of the CSV data to import. table_schema: The name of the schema to import data into. |
| export-table | Guided workflow that helps the AI export an existing IRIS table to JSON, CSV, or TXT. The AI inspects the table first, helps the user pick a sensible scope (full table vs. filtered subset), then calls the 'export_table' tool and previews the result. |
| search-for-code | Creates a prompt that tells the AI to search for a particular string all across the classes and to analyze the classes that match the research. Args: query: The string to search for. |
| analyze-table-globals-content | Creates a prompt that tells the AI to extract the globals related to a specified table and show their content. The persistent class is typically f"{table_schema}.{table_name}" when SqlTableName matches the SQL name. Args: table_name: The name of the table to analyze. table_schema: The name of the schema to analyze. |
| create-rest-bp-endpoint | Guided workflow that drives the AI through the standard pattern of exposing an InterSystems IRIS Business Process as an HTTP endpoint: Web Application ---> Business Service (EnsLib.REST.GenericService) ---> Business Process |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| res_version | Return the system metrics. Args: ctx: The context of the resource call. |
| res_tables_all | Return every base table across all SQL schemas. Read this resource via ``resource://iris/tables``. To restrict to a single schema, use the template ``resource://iris/tables/{table_schema}`` (e.g. ``resource://iris/tables/SQLUser``). Args: ctx: The context of the resource call. |
| res_atelier_info | Return Atelier REST API server info: highest supported API version, IRIS build, available namespaces, and feature flags. Useful to decide which value to set for the `IRIS_ATELIER_API_VERSION` env var. The MCP server's URLs are built as `/api/atelier/<IRIS_ATELIER_API_VERSION>/<namespace>/...`, so picking the highest version reported here unlocks the newest endpoints. Args: ctx: The context of the resource call. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/pietrodileo/iris-mcp-blueprint'
If you have feedback or need assistance with the MCP directory API, please join our Discord server