Skip to content

MCP servers

List workflow MCP tools

List tool registrations ordered by name, including the `workflowId` used to remove each registration. Undeploying a workflow makes its registrations `inactive`; redeploying reactivates them. Results are capped at 2,000 tools: `nextCursor` is always null, and `truncated` marks an incomplete inventory that cannot be paginated. Requires workspace read access. Workspace API keys return `403`; use a personal API key or scoped OAuth token. OAuth scope: `api:read`.

GET/api/v2/workflow-mcp-servers/{serverId}/tools

List tool registrations ordered by name, including the workflowId used to remove each registration. Undeploying a workflow makes its registrations inactive; redeploying reactivates them. Results are capped at 2,000 tools: nextCursor is always null, and truncated marks an incomplete inventory that cannot be paginated. Requires workspace read access. Workspace API keys return 403; use a personal API key or scoped OAuth token.

OAuth scope: api:read.

Authentication

Send a personal or workspace API key in X-API-Key. See key types and access; operations that reject workspace keys say so in their description.

Send X-API-Key in the request header.

Alternatively

Send a Sim OAuth access token in Authorization: Bearer. See OAuth authentication and scopes.

Authorization: Bearer YOUR_ACCESS_TOKEN

Required scopes: api:read

OAuth flows
json
{
  "authorizationCode": {
    "authorizationUrl": "https://www.sim.ai/api/auth/oauth2/authorize",
    "tokenUrl": "https://www.sim.ai/api/auth/oauth2/token",
    "refreshUrl": "https://www.sim.ai/api/auth/oauth2/token",
    "scopes": {
      "api:read": "Read your workspaces, workflows, files, tables, and logs",
      "api:write": "Read, create, change, run, and delete resources in your workspaces",
      "offline_access": "Stay signed in without asking again"
    }
  }
}

OAuth scope: api:read.

Path parameters

serverIdstringRequired

Unique workflow-MCP server identifier.

minLength
1

Responses

200

Tool registrations on this server, including inactive registrations.

object

A bounded inventory of tool registrations on the workflow MCP server.

3 fields
dataarrayRequired

Items in the current page.

Schema details
Array itemobject

A tool registration on a workflow MCP server. Archived registrations are included with status: "inactive".

10 fields
idstringRequired

Unique tool identifier.

serverIdstringRequired

Server exposing this MCP tool.

workflowIdstringRequired

Workflow this tool executes.

toolNamestringRequired

Name an MCP client calls. Derived from the supplied name or the workflow name, normalized to the MCP tool-name grammar.

toolDescriptionvalueRequired

Description shown to MCP clients.

Schema details

Any of

Option 1string
Option 2null
mcpServerUrlstringRequired

Endpoint an MCP client connects to.

apiEndpointstringRequired

Sim execution endpoint this tool calls through.

createdAtstringRequired

ISO 8601 timestamp when the tool was created.

format
date-time
updatedAtstringRequired

ISO 8601 timestamp when the tool was last modified.

format
date-time
statusstringRequired

Whether MCP clients can call the tool. Undeploying its workflow archives the registration as inactive; it cannot be called and its name stays reserved. Redeploying the workflow makes it active again. Undeploying an inactive MCP tool permanently removes its registration.

enum
["active","inactive"]

Additional properties are not allowed.

nextCursorvalueRequired

Always null. This list has no cursor or limit parameters; see the operation for inventory limits.

Schema details

Any of

Option 1string
Option 2null
truncatedbooleanRequired

Whether the tool limit left this inventory incomplete. The list is unpaginated and nextCursor remains null even when truncated; an incomplete inventory does not represent every registration.

Additional properties are not allowed.

Response example 1

json
{
  "data": [
    {
      "id": "wfmcptool_01J8ZK3QW4M6X2R9T7B5C0V3",
      "serverId": "wfmcp_01J8ZK3QW4M6X2R9T7B5C0V2",
      "workflowId": "3b1f7c92-8d4e-4a6b-9c0d-5e2f8a714b36",
      "toolName": "triage_ticket",
      "toolDescription": "Execute Ticket triage workflow",
      "mcpServerUrl": "https://www.sim.ai/api/mcp/serve/wfmcp_01J8ZK3QW4M6X2R9T7B5C0V2",
      "apiEndpoint": "https://www.sim.ai/api/v2/workflows/3b1f7c92-8d4e-4a6b-9c0d-5e2f8a714b36/execute",
      "createdAt": "2026-06-12T10:30:00.000Z",
      "updatedAt": "2026-06-12T10:30:00.000Z",
      "status": "active"
    }
  ],
  "nextCursor": null,
  "truncated": false
}

Response headers

X-RateLimit-Limitinteger

Maximum requests allowed in the current window.

minimum
0
maximum
9007199254740991
X-RateLimit-Remaininginteger

Requests remaining in the current window.

minimum
0
maximum
9007199254740991
X-RateLimit-Resetstring

ISO 8601 timestamp when the current rate-limit window resets.

format
date-time
pattern
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
Was this helpful?
Suggest an edit