Platform MCP Server Tools
Understand Platform MCP Server tools.
Overview
The Platform MCP Server exposes to expose executable functionality to clients as MCP tools
The Platform MCP Server publishes five types of MCP tools: Knowledge Graph tools, API Discovery tools, API Execution tools, and Session Management tools.
Naming ConventionsPlatform MCP Server tool groupings and tool names are subject to change in in future releases.
Knowledge Graph Tools
Knowledge Graph tools enable MCP clients to explore the Platform MCP Server knowledge graph to identify Platform API operations and resources that support a given Intelligent Risk Platform workflows.
Knowledge Graph tools let a client explore Moody's curated graph of Platform API operations, resources, and proven workflows to discover how operations relate and combine. Rather than searching raw specifications, these tools traverse modeled relationships, dependencies, similarities, and workflow membership, to answer questions like which operations depend on a given one or what sequence achieves a goal. They return operations by their operationId along with relationship types and relevance scores.
| Tool | Description |
|---|---|
graph-suggest-workflow | Suggest a workflow of Platform API operations to achieve a stated goal. |
graph-find-related | Discover API operations related to a specific Platform API. |
graph-explore | Explore the knowledge graph by API operation — upstream, downstream, or both. |
graph-get-workflow | Retrieve proven workflow patterns from the knowledge graph. |
graph-validate-chain | Validate a proposed workflow to determine whether it is feasible. |
get-doc-context | Retrieve developer documentation for an API operation or workflow of related operations. |
vector-search | Search the knowledge graph for API operations based on semantic similarity. |
The MCP client must be assigned the IRP Agentic Tools User role to use Knowledge Graph tools.
The knowledge graph tools return JSON objects for successful responses.
graph-suggest-workflow
graph-suggest-workflowA workflow is a standard and repeatable process that transforms or processes API resources (e.g. EDMs, exposures, analysis results). A workflow consists of multiple subprocesses that are performed in a specific sequence — a pipeline — by which the output of one step is used in the next step of the process. Intelligent Risk workflows (e.g. cat modeling, data migration) generally comprise multiple API requests that utilize several different API operations.
The graph-suggest-workflow tool identifies a series of API operations that define a workflow. The response returns the goal of the workflow and suggests the serious of operations that comprise the workflow. Each step is defined by an operationId, the method (e.g. POST, GET), the path (e.g. /exposures/{exposureId}/bulk-edit), the apiArea (the API)
$ What API operations do I need to import exposure data and run a model analysis?
{
"goal": "import exposure data and run a model analysis",
"suggestedWorkflow": [
{ "step": 1, "operationId": "upgradeExposure", "operation": { "operationId": "upgradeExposure", "method": "POST", "path": "/exposures/{exposureId}/data-upgrade", "apiArea": "riskdata", "endpoint": "/platform/riskdata/v1/exposures/{exposureId}/data-upgrade", "summary": "Upgrade EDM data version", "tags": ["Exposures"], "specFile": "riskdata.json", "specTitle": "Risk Data API", "resources": ["exposures", "data-upgrade"] }, "reason": "Matches goal: \"data\"", "confidence": 0.529239752407075 },
{ "step": 2, "operationId": "exposureBulkEdit", "operation": { "operationId": "exposureBulkEdit", "method": "POST", "path": "/exposures/{exposureId}/bulk-edit", "apiArea": "riskdata", "endpoint": "/platform/riskdata/v1/exposures/{exposureId}/bulk-edit", "summary": "EDM batch edit", "tags": ["Exposures"], "specFile": "riskdata.json", "specTitle": "Risk Data API", "resources": ["exposures", "bulk-edit"] }, "reason": "Matches goal: \"\"", "confidence": 0.5195349794129808 },
{ "step": 3, "operationId": "createExposures", "operation": { "operationId": "createExposures", "method": "POST", "path": "/exposuresets/{exposureSetId}/exposures", "apiArea": "riskdata", "endpoint": "/platform/riskdata/v1/exposuresets/{exposureSetId}/exposures", "summary": "Create EDM", "tags": ["Exposures"], "specFile": "riskdata.json", "specTitle": "Risk Data API", "resources": ["exposuresets", "exposures"] }, "reason": "Matches goal: \"\"", "confidence": 0.512393230288486 },
{ "step": 4, "operationId": "searchExposureVariations", "operation": { "operationId": "searchExposureVariations", "method": "GET", "path": "/exposurevariations", "apiArea": "riskdata", "endpoint": "/platform/riskdata/v1/exposurevariations", "summary": "Search exposure variations", "tags": ["Exposure Variations"], "specFile": "riskdata.json", "specTitle": "Risk Data API", "resources": ["exposurevariations"] }, "reason": "Matches goal: \"exposure\"", "confidence": 0.5097276108318892 },
{ "step": 5, "operationId": "updateExposureMetrics", "operation": { "operationId": "updateExposureMetrics", "method": "POST", "path": "/exposures/{exposureId}/update-metrics", "apiArea": "riskdata", "endpoint": "/platform/riskdata/v1/exposures/{exposureId}/update-metrics", "summary": "Refresh EDM metadata", "tags": ["Exposures"], "specFile": "riskdata.json", "specTitle": "Risk Data API", "resources": ["exposures", "update-metrics"] }, "reason": "Matches goal: \"data\"", "confidence": 0.4886787935553554 }
],
"confidence": 0.6,
"matchedWorkflows": [
"Platform - Exposure - Create ExposureSet and Exposure (EDM Database)",
"Platform - Import - MRI (+ExposureSet Security Setup)",
"Platform - Import - Typical RiskModeler Workflow with MRI",
"Platform - Batch - Exposure Bulk Edit (custom criteria) + Geohaz + Model + Export",
"Platform - Import - Exposure Bulk Edit (Exposure batch from file)",
"Platform - Workflow - GeoHaz, Model, Grouping, Riskdata and Exposure Enrichment",
"Platform - Exposure - Bulk Update (Exposure Batch)",
"Platform - Batch - Exposure Bulk Update + Batch with Grouping",
"Platform - Exposure - Autoselect",
"Platform - Exposure - Copy Job for EDM",
"Platform - Exposure - Create Account, Policy, Location, Location Det",
"Platform - Import - MRI",
"Platform - Model - DLM on Portfolio",
"Platform - Model - Run ALM",
"Platform - Model - Run HD on Portfolio",
"Platform - Workflow - Import MRI and Run Accumulation",
"Platform - Workflow - Run Model Job on Account and Export to CSV (to Alp)",
"Platform - Import - CEDE",
"Platform - Import - EDM File",
"Platform - Import - OED",
"Platform - Import - RDM File",
"Platform - Exposure - Global Edit",
"Platform - Exposure - Line of Business",
"Platform - Exposure - Location",
"Platform - Exposure - Step Policy",
"Platform - Exposure - Policy",
"Platform - Batch - Typical Usecase - Getting Started",
"Platform - ESG - Company Search and Name Matching",
"Platform - Accumulation - Account Accumulations",
"Platform - Accumulation - Run Accumulation Job on an Account",
"Platform - Accumulation - Run Job on Portfolio",
"Platform - Batch - Run Batch User Defined Workflow",
"Platform - Batch",
"Platform - Geohaz",
"Platform - Workflow - Hazard Curve",
"Platform - TIQ - Treaty Line Of Business"
]
}graph-find-related
graph-find-relatedThe graph-find-related tool returns information about the specified API operations.
The tool expects the API operation's operationId, a value that is specified in the Open API
$ What operations are related to Search EDMs?
{
"operationId": "searchExposures",
"hasDocumentation": true,
"related": [
{ "operationId": "searchExposureById", "summary": "Get EDM", "method": "GET", "path": "/exposures/{exposureId}", "relationship": "SIMILAR_TO", "score": 0.9229262193668072, "depth": 1, "hasDocumentation": true },
{ "operationId": "getAccounts", "summary": "Search accounts", "method": "GET", "path": "/exposures/{exposureId}/accounts", "relationship": "DEPENDS_ON", "score": 0.9, "depth": 1, "hasDocumentation": true },
{ "operationId": "searchPortfolios", "summary": "Search portfolios", "method": "GET", "path": "/exposures/{exposureId}/portfolios", "relationship": "DEPENDS_ON", "score": 0.9, "depth": 1, "hasDocumentation": true },
{ "operationId": "createBatchJob", "summary": "Create batch job", "method": "POST", "path": "/jobs/", "relationship": "DEPENDS_ON", "score": 0.9, "depth": 1, "hasDocumentation": true },
{ "operationId": "createImportJob", "summary": "Create import job", "method": "POST", "path": "/jobs", "relationship": "DEPENDS_ON", "score": 0.9, "depth": 1, "hasDocumentation": true },
{ "operationId": "createPortfolio", "summary": "Create portfolio", "method": "POST", "path": "/exposures/{exposureId}/portfolios", "relationship": "DEPENDS_ON", "score": 0.9, "depth": 1, "hasDocumentation": true },
{ "operationId": "exposureBulkEdit", "summary": "EDM batch edit", "method": "POST", "path": "/exposures/{exposureId}/bulk-edit", "relationship": "DEPENDS_ON", "score": 0.9, "depth": 1, "hasDocumentation": true },
{ "operationId": "getBranches", "summary": "Search branches", "method": "GET", "path": "/exposures/{exposureId}/branches", "relationship": "DEPENDS_ON", "score": 0.9, "depth": 1, "hasDocumentation": true },
{ "operationId": "getProducers", "summary": "Search producers", "method": "GET", "path": "/exposures/{exposureId}/producers", "relationship": "DEPENDS_ON", "score": 0.9, "depth": 1, "hasDocumentation": true },
{ "operationId": "getCedants_1", "summary": "Search cedants", "method": "GET", "path": "/exposures/{exposureId}/cedants", "relationship": "DEPENDS_ON", "score": 0.9, "depth": 1, "hasDocumentation": true }
],
"totalFound": 10
}
graph-explore
graph-exploreThe graph-explore tool returns the full subgraph including every HAS_SAMPLE and PART_OF edge, so even maxDepth: 1 on a hub node like searchExposures overflows a normal response (8,700+ lines).
The graph-explore tool explores the knowledge graph starting from an API operation, in the upstream, downstream, or both directions. It returns a startOperation object and a graph object containing nodes and edges.
$ Explore the API graph around getPolicy, downstream only.
{
"startOperation": {
"operationId": "getPolicy",
"summary": "Get policy",
"method": "GET",
"path": "/exposures/{exposureId}/policies/{id}"
},
"graph": {
"nodes": [
{
"id": "operation:getPolicy",
"type": "Operation",
"label": "Get policy",
"data": {
"operationId": "getPolicy",
"method": "GET",
"path": "/platform/riskdata/v1/exposures/{exposureId}/policies/{id}",
"summary": "Get policy",
"tags": ["Policies"]
}
},
{
"id": "operation:searchExposures",
"type": "Operation",
"label": "Search EDMs",
"data": { "operationId": "searchExposures", "method": "GET", "...": "..." }
}
... (response truncated) ...
],
"edges": [ ... ]
}
}
graph-explore
graph-exploreThe graph-explore tool explores the knowledge graph by API operation — upstream, downstream, or both.
The graph-explore tool explores the knowledge graph starting from an API operation, in the upstream, downstream, or both directions. It returns a startOperation object and a graph object containing nodes and edges.
$ Explore the API graph around getPolicy, downstream only.
{
"startOperation": {
"operationId": "getPolicy",
"summary": "Get policy",
"method": "GET",
"path": "/exposures/{exposureId}/policies/{id}"
},
"graph": {
"nodes": [
{
"id": "operation:getPolicy",
"type": "Operation",
"label": "Get policy",
"data": {
"operationId": "getPolicy",
"method": "GET",
"path": "/platform/riskdata/v1/exposures/{exposureId}/policies/{id}",
"summary": "Get policy",
"tags": ["Policies"]
}
},
{
"id": "operation:searchExposures",
"type": "Operation",
"label": "Search EDMs",
"data": { "operationId": "searchExposures", "method": "GET", "...": "..." }
}
... (response truncated) ...
],
"edges": [ ... ]
}
}
graph-get-workflow
graph-get-workflowRetrieve proven workflow patterns from the knowledge graph.
The graph-get-workflow tool retrieves proven workflow patterns from the knowledge graph. Each workflow lists its operations in order, with operationId, summary, method, path, sampleStepOrder, stepName, and a sampleId that get-operation-sample can resolve to a runnable payload.
$ Show me the workflow for running account accumulations.
{
"workflows": [
{
"name": "Platform - Accumulation - Account Accumulations",
"description": "Split from \"Platform - Workflow - 2026.01.b\", folder \"Account Accumulations\".",
"collectionFile": "Platform - Accumulation - Account Accumulations.postman_collection.json",
"requestCount": 6,
"category": "Platform",
"operations": [
{ "operationId": "searchExposures", "summary": "Search EDMs", "method": "GET",
"path": "/platform/riskdata/v1/exposures", "sampleStepOrder": 1,
"stepName": "List / Search Exposures (EDMs) Copy",
"sampleId": "sample:e10a9a2f-...-account-accumulations:0:searchExposures" },
{ "operationId": "getResourceGroups", "summary": "Search resource groups", "method": "GET",
"path": "/platform/tenantdata/v1/entitlements/{entitlement}/resourcegroups", "sampleStepOrder": 2,
"stepName": "Retrieve UnderwriteIQ Resource Group (for quota) Copy" },
{ "operationId": "getAccounts", "summary": "Search accounts", "method": "GET",
"path": "/platform/riskdata/v1/exposures/{exposureId}/accounts", "sampleStepOrder": 3 },
{ "operationId": "getAccumulationProfiles", "summary": "Search accumulation profiles", "method": "GET",
"path": "/platform/accumulation/v1/profiles", "sampleStepOrder": 4 },
{ "operationId": "createAccumulationJob", "summary": "Create accumulation job", "method": "POST",
"path": "/platform/accumulation/v1/jobs", "sampleStepOrder": 5 },
{ "operationId": "getAccumulationJob", "summary": "Get accumulation job", "method": "GET",
"path": "/platform/accumulation/v1/jobs/{jobId}", "sampleStepOrder": 6 }
]
}
]
}
graph-validate-chain
graph-validate-chainThe graph-validate-chain tool validates a proposed workflow to determine whether it is feasible.
The graph-validate-chain tool validates whether a proposed chain of operations is feasible. It returns valid, an issues array, and a suggestions array.
$ Is this chain valid: searchExposures, createPolicy, getPolicy?
{
"valid": true,
"issues": [],
"suggestions": []
}
get-doc-context
get-doc-contextThe get-doc-context tool retrieves developer documentation for an API operation or workflow of related operations. It returns the full document content, connected graph edges, and a relatedDocumentedOperations list.
$ Show me the documentation for createPolicy.
{
"target": "createPolicy",
"targetType": "operation",
"documentation": [
{
"uuid": "35cf5e30-99b4-411f-82a8-1849a9ae4d18",
"sourceFile": "api-ref-docs/risk-data/policies/createpolicy.md",
"title": "Create policy",
"content": "Creates a standard policy, step policy (DLM model), or step policy template (DLM model) depending on the parameters specified in the request. ... (content truncated) ...",
"classification": "operation-specific",
"matchType": "exact_operationId",
"confidence": 1,
"topics": ["standard policy", "step policies (dlm model)", "account", "batch", "risk"],
"edges": [
{ "type": "DOCUMENTED_BY", "direction": "in", "targetNodeId": "operation:createPolicy", "targetLabel": "createPolicy" },
{ "type": "DOCUMENTED_BY", "direction": "in", "targetNodeId": "operation:exposureBulkEdit", "targetLabel": "exposureBulkEdit" }
]
}
],
"totalFound": 2,
"relatedDocumentedOperations": [
"getPolicy", "createPolicyCondition", "getSurplusTreaties", "updatePolicy",
"createPolicyCoverage", "getPolicyCoverage", "updatePolicyCoverage",
"deletePolicyCoverage", "createPolicyReinsuranceCession", "getPolicyReinsuranceCession"
]
}
vector-search
vector-searchThe vector-search tool searches the knowledge graph for API operations based on semantic similarity.
The vector-search tool performs a natural-language similarity search across operations, documents, and workflows. Each result includes a similarity score, a nodeType, and node metadata.
$ Find operations related to reinsurance treaty cessions.
{
"query": "reinsurance treaty cession",
"results": [
{ "nodeId": "doc:f7654b46-...", "nodeType": "Document", "similarity": 0.460,
"label": "Entitlements", "summary": "Entitlements [generic]" },
{ "nodeId": "operation:deletePolicyReinsuranceCession", "nodeType": "Operation", "similarity": 0.454,
"label": "deletePolicyReinsuranceCession", "summary": "Delete policy cession",
"metadata": { "method": "DELETE", "path": "/exposures/{exposureId}/policies/{id}/cessions/{cessionid}", "apiArea": "riskdata", "tags": ["Policies"] } },
{ "nodeId": "operation:deleteLossOccurrence", "nodeType": "Operation", "similarity": 0.425,
"label": "deleteLossOccurrence", "summary": "Delete treaty loss occurrence" },
{ "nodeId": "operation:deleteTreaty", "nodeType": "Operation", "similarity": 0.419,
"label": "deleteTreaty", "summary": "Delete treaty" },
{ "nodeId": "operation:createPolicyReinsuranceCession", "nodeType": "Operation", "similarity": 0.400,
"label": "createPolicyReinsuranceCession", "summary": "Create policy cession" }
],
"totalFound": 13,
"embeddingModel": "local"
}
API Discovery Tools
API Discovery tools enable MCP clients to search Platform API specifications and developer resources for information on using Platform APIs.
| Tool | Description |
|---|---|
search-api-spec | Search the Platform API specifications by operation, description, endpoint, or resource. |
get-operation-spec | Retrieve complete specification for an operation. |
search-workflows | Search the library of API workflows. |
get-workflow | Retrieve a complete, runnable workflow collection. |
The MCP client must be assigned the IRP Agentic Tools User role to use Discovery tools.
search-api-spec
search-api-specThe search-api-spec tool performs a text search of the OpenAPI specifications. Results can be filtered by operationId, description, endpoint, or resource. Each result includes the operationId, method, path, summary, tags, specFile, and a score.
$ Search the API spec for policy operations.
[
{ "operationId": "getPolicyConditions", "method": "GET",
"path": "/platform/riskdata/v1/exposures/{exposureId}/locations/{id}/policyconditions",
"summary": "Search policy conditions by location", "tags": ["Locations"], "specFile": "riskdata.json", "score": 0.999 },
{ "operationId": "getAllPolicyConditions", "method": "GET",
"path": "/platform/riskdata/v1/exposures/{exposureId}/policyconditions",
"summary": "Search policy conditions", "tags": ["Policy Conditions"], "specFile": "riskdata.json", "score": 0.999 },
{ "operationId": "createPolicy", "method": "POST",
"path": "/platform/riskdata/v1/exposures/{exposureId}/policies",
"summary": "Create policy", "tags": ["Policies"], "specFile": "riskdata.json", "score": 0.999 },
{ "operationId": "getPolicy", "method": "GET",
"path": "/platform/riskdata/v1/exposures/{exposureId}/policies/{id}",
"summary": "Get policy", "tags": ["Policies"], "specFile": "riskdata.json", "score": 0.999 }
... (4 of 8 results shown) ...
]| Property | Type | Description |
|---|---|---|
nodeId | string | Unique knowledge-graph node identifier, prefixed by its kind (operation:, doc:, or workflow:). |
nodeType | string | The category of node the result refers to: Operation (an API operation), Document (a developer-documentation page), or Workflow (a Postman workflow collection). The nodeTypes request parameter controls which kinds are searched (default: Operation and Document). |
similarity | number (0–1) | The similarity score: how closely the node matches the query, computed as the cosine similarity between the query's embedding vector and the node's embedding vector. Higher is a closer semantic match; results are ordered by this value and filtered by the threshold parameter (default 0.3). |
label | string | Display name of the node: the operationId for an operation, or the title for a document or workflow. |
summary | string | A short, human-readable summary of the node. |
metadata | object | Node metadata: additional attributes specific to the node type. For Operation: method, path, apiArea, tags. For Document: uuid, sourceFile, classification, topics, operationIds, contentPreview. |
get-operation-spec
get-operation-specThe get-operation-spec tool returns the complete specification for an operation, with all $ref references resolved. The response includes parameters, responses, servers, and a documentation summary.
$ Get the full specification for deletePolicy.
{
"operationId": "deletePolicy",
"method": "DELETE",
"path": "/platform/riskdata/v1/exposures/{exposureId}/policies/{id}",
"summary": "Delete policy",
"tags": ["Policies"],
"parameters": [
{ "name": "id", "in": "path", "description": "ID of policy.", "required": true,
"schema": { "minimum": 1, "type": "integer", "format": "int32" } },
{ "name": "exposureId", "in": "path", "description": "ID of EDM.", "required": true,
"schema": { "minimum": 1, "type": "integer", "format": "int64" } }
],
"responses": {
"204": { "description": "Policy successfully deleted" },
"400": { "description": "Bad Request", "content": { "application/json": { "schema": { "...": "error object" } } } },
"401": { "description": "Unauthorized", "...": "..." },
"403": { "description": "Forbidden", "...": "..." },
"404": { "description": "The requested resource was not found.", "...": "..." },
"500": { "description": "Internal Server Error", "...": "..." }
},
"servers": [
{ "url": "https://{host}/platform/riskdata/v1",
"variables": { "host": { "enum": ["api-euw1.rms.com", "api-use1.rms.com"], "default": "api-euw1.rms.com" } } }
],
"documentation": {
"hasDocumentation": true,
"snippetCount": 2,
"snippets": [
{ "uuid": "1a39c18b-...", "sourceFile": "api-ref-docs/risk-data/policies/deletepolicy.md", "title": "Delete policy" }
],
"hint": "Use get-doc-context with uuid for full document content and edges."
}
}
search-workflows
search-workflowsThe search-workflows tool performs a text search for Postman workflow collections and returns the best match with its workflowName, workflowId, fileName, description, and score.
$ Search workflows for policy.
{
"fileName": "Platform - Exposure - Policy.postman_collection.json",
"workflowName": "Platform - Exposure - Policy",
"workflowId": "bf5b01eb-17f8-4af6-b680-e82ce63c07ce-policy-apis",
"description": "Split from \"Platform - Batch - IRP Endpoints\", folder \"Policy Apis\".",
"score": 0.9543963084048703
}get-workflow
get-workflowThe get-workflow tool returns the full Postman v2.1 collection for a workflow, including each request’s URL, method, auth, body, and pre-request/test scripts, plus the collection variable list.
$ Get the Account Accumulations workflow collection.
{
"info": {
"_postman_id": "e10a9a2f-7796-4640-9698-34c761bf508e-account-accumulations",
"name": "Platform - Accumulation - Account Accumulations",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "List / Search Exposures (EDMs) Copy",
"request": {
"auth": { "type": "apikey", "apikey": [
{ "key": "value", "value": "{{IRP_API_KEY}}", "type": "string" },
{ "key": "key", "value": "Authorization", "type": "string" } ] },
"method": "GET",
"url": { "raw": "https://{{IRP_API_HOST}}/platform/riskdata/v1/exposures?filter=exposureName=\"{{EDM_NAME}}\"" }
}
}
... (5 of 6 items truncated) ...
],
"variable": [
{ "key": "resource_group_id", "value": "" },
{ "key": "exposure_id", "value": "" },
{ "key": "accumulation_profile_id", "value": "" },
{ "key": "account_uri", "value": "" },
{ "key": "accumulation_job_url", "value": "" },
{ "key": "accumulation_analysis_id", "value": "" }
]
}get-operation-sample
get-operation-sampleThe get-operation-sample tool returns actual Postman request samples (full body, headers, URL) for an operation. It accepts a sampleId, operationId, url, or workflowName.
$ Get a sample request payload for createPolicy.
{
"samples": [
{
"sampleId": "sample:ab072dd9-...:84:createPolicy",
"operationId": "createPolicy",
"workflowName": "Platform - Batch - Typical Usecase - Getting Started",
"method": "POST",
"url": "https://{{IRP_API_HOST}}/platform/riskdata/v1/exposures/{{exposure_id}}/policies",
"requestName": "Create Policy Copy 2",
"contentType": "application/json",
"requestBody": "{ \"policyNumber\": \"PolicyNum01\", \"accountId\": {{account_id}}, \"peril\": \"EARTHQUAKE\", \"status\": \"QUOTE\", \"coverages\": [ ... ], \"reinsuranceCessions\": [ ... ], \"policyConditions\": [ ... ], \"operationType\": \"INSERT\" }"
}
... (5 samples returned; 1 shown, body truncated) ...
]
}
API Execution Tools
API Execution tools enable MCP clients submit requests using the Platform APIs.
| Tool | Description |
|---|---|
execute-api | Run Platform API operations available to the MCP client based on role-based permissions. |
The Execute APIs with Platform MCP Server permission enables the MCP client to make requests using Platform APIs. Access to particular APIs or API operations are controlled by means of the other roles assigned to the MCP client.
The MCP client must pass an authorization in the form of an API key (IRP_AUTH) or bearer token (IRP_AUTH) and (IRP_TENANT) in order to run API operations. The API Key or user account must be assigned to a group that has the IRP Agentic Tools User role.
execute-api
execute-apiThe execute-api tool runs a Platform API operation. In operationId mode it looks up the OpenAPI spec; in raw mode it accepts a rawUrl and method. The tool requires IRP_AUTH for outbound API authentication.
$ Use execute-api to run searchExposures.
{
"error": "Auth token not configured. Set it via the set-variable MCP tool (IRP_AUTH) or the IRP_AUTH environment variable."
}
Session Management Tools
Session Management tools enable the MCP client to set and manage session variables.
The connection to the Platform MCP Server is defined by three session variables: IRP_API_HOST, IRP_TENANT, and IRP_AUTH.
| Tool | Description |
|---|---|
set-variable | Sets session variables, e.g. Intelligent Risk Platform hosts or credentials. |
get-variables | Returns the current Platform MCP Server session variable values for the IRP_API_HOST, IRP_TENANT, and IRP_AUTH variables. |
set-variable Prompt
set-variable PromptThe set-variable tool sets a session variable (IRP_API_HOST, IRP_AUTH, or IRP_TENANT_NAME) and returns a confirmation of the assignment.
The client must pass IRP_AUTH variable (an API key or bearer token) to the Platform MCP Server in each session using the set-variable tool: (The IRP_API_HOST is defined in the MCP host's configuration file.)
The IRP_TENANT_NAME and IRP_AUTH variables do not persist and must be set with every new session.
$ Use my API key (xxxxxxxxx) to create a connection the MCP ServerThe IRP_TENANT_NAME is not required, but can be specified if the MCP client passes a bearer token as the IRP_AUTH variable.
get-variables Prompt
get-variables PromptThe MCP client must pass IRP_TENANT_NAME and IRP_AUTH variables to the Platform MCP Server in each session using the set-variable tool:
The get-variables tool returns the current session variable values. Sensitive values are masked.
$ List my IRP configuration variables
Variable Value
IRP_API_HOST https://api.euw1.rms-ppe.com
IRP_AUTH XXXXXXX
IRP_TENANT_NAME (empty)
| Variable | Description |
|---|---|
IRP_API_HOST | The The host name identifies the data center hosting tenant Intelligent Risk Platform instance. |
IRP_TENANT | The name of the tenant. |
IRP_AUTH | The client's API key. The API key must be assigned to a user group that has been assigned the IRP Agentic Tools User role. |
Updated 16 days ago
