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 |
Capabilities
Features and capabilities supported by this server
| 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
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