# Workflow MCP servers (/cli/workflow-mcp-servers)

Serve deployed workflows as tools for Model Context Protocol (MCP) clients.

These servers expose Sim workflows. To connect a server that provides external tools, use [MCP servers](/cli/mcp-servers).

These commands accept the [global options](/cli/commands#global-options).

## Servers \[#servers]

### List workflow MCP servers \[#list-workflow-mcp-servers]

OAuth login or personal API key required.

```bash
sim workflow-mcp-servers list [options]
```

**Options**

| Option | Required | Description |
| - | - | - |
| `--sort-by <value>` | No | Field used to sort the result. Do not rely on case-insensitive ordering when sorting by `name`. Defaults to "createdAt". Accepted values: `name`, `createdAt`, `updatedAt`. |
| `--sort-order <value>` | No | Sort direction. Defaults to "desc". Accepted values: `asc`, `desc`. |
| `--limit <n>` | No | Maximum items to return (0 for everything). Defaults to `0`. |

API request and response schemas: [listWorkflowMcpServers](/api-reference/mcp-servers/listWorkflowMcpServers).

### Get workflow MCP server \[#get-workflow-mcp-server]

OAuth login or personal API key required.

```bash
sim workflow-mcp-servers get <serverId>
```

**Arguments**

| Argument | Required | Description |
| - | - | - |
| `serverId` | Yes | Unique workflow-MCP server identifier. |

API request and response schemas: [getWorkflowMcpServer](/api-reference/mcp-servers/getWorkflowMcpServer).

### Create workflow MCP server \[#create-workflow-mcp-server]

OAuth login or personal API key required.

```bash
sim workflow-mcp-servers create [options]
```

**Options**

| Option | Required | Description |
| - | - | - |
| `--name <value>` | Yes | Server display name, shown to connecting MCP clients. |
| `--description <value>` | No | Optional server description. |
| `--is-public` | No | Whether the server accepts MCP clients without a Sim API key. Defaults to false; a public server lets anyone holding its URL execute the workflows it exposes. |
| `--no-is-public` | No | Send --is-public as false. |
| `--workflow <value...>` | No | Deployed workflows to expose as MCP tools on the new server. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |

API request and response schemas: [createWorkflowMcpServer](/api-reference/mcp-servers/createWorkflowMcpServer).

### Update workflow MCP server \[#update-workflow-mcp-server]

OAuth login or personal API key required.

```bash
sim workflow-mcp-servers update <serverId> [options]
```

**Arguments**

| Argument | Required | Description |
| - | - | - |
| `serverId` | Yes | Unique workflow-MCP server identifier. |

**Options**

| Option | Required | Description |
| - | - | - |
| `--name <value>` | No | Server display name, shown to connecting MCP clients. |
| `--description <value>` | No | New server description, or null to clear it. (--description null sends the word, not JSON null). |
| `--is-public` | No | Whether the server answers MCP clients without a Sim API key. |
| `--no-is-public` | No | Send --is-public as false. |

API request and response schemas: [updateWorkflowMcpServer](/api-reference/mcp-servers/updateWorkflowMcpServer).

## Workflow tools \[#workflow-tools]

### List workflow MCP tools \[#list-workflow-mcp-tools]

OAuth login or personal API key required.

```bash
sim workflow-mcp-servers tools list <serverId>
```

**Arguments**

| Argument | Required | Description |
| - | - | - |
| `serverId` | Yes | Unique workflow-MCP server identifier. |

API request and response schemas: [listWorkflowMcpTools](/api-reference/mcp-servers/listWorkflowMcpTools).

### Deploy workflow as MCP tool \[#publish-workflow-as-mcp-tool]

OAuth login or personal API key required.

```bash
sim workflow-mcp-servers tools create <serverId> [options]
```

**Arguments**

| Argument | Required | Description |
| - | - | - |
| `serverId` | Yes | Unique workflow-MCP server identifier. |

**Options**

| Option | Required | Description |
| - | - | - |
| `--workflow-id <value>` | Yes | Workflow to expose as an MCP tool. It must already be deployed. |
| `--tool-name <value>` | No | Name MCP clients call. Normalized to the MCP tool-name grammar, and derived from the workflow name when omitted. |
| `--tool-description <value>` | No | Description shown to MCP clients. Derived from the workflow name when omitted. |
| `--parameter-descriptions <json\|@file>` | No | Per-field description overrides applied to the schema generated from the deployed workflow inputs, as \[{"name":"email","description":"Customer email address"}]. A name matching no input field is ignored (JSON, or @path / @- to read a file or stdin). |

API request and response schemas: [deployWorkflowMcpTool](/api-reference/mcp-servers/deployWorkflowMcpTool).

### Undeploy workflow MCP tool \[#unpublish-workflow-mcp-tool]

OAuth login or personal API key required.

This withdraws the tool, and any agent calling it loses access.

```bash
sim workflow-mcp-servers tools delete <serverId> <workflowId> [options]
```

**Arguments**

| Argument | Required | Description |
| - | - | - |
| `serverId` | Yes | Unique workflow-MCP server identifier. |
| `workflowId` | Yes | Workflow registered as an MCP tool on this server. |

**Options**

| Option | Required | Description |
| - | - | - |
| `-y, --yes` | Yes | Confirm this operation. |

API request and response schemas: [undeployWorkflowMcpTool](/api-reference/mcp-servers/undeployWorkflowMcpTool).

## Delete servers \[#delete-servers]

### Delete workflow MCP server \[#delete-workflow-mcp-server]

OAuth login or personal API key required.

This deletes the MCP server, and any agent calling its tools loses access.

```bash
sim workflow-mcp-servers delete <serverId> [options]
```

**Arguments**

| Argument | Required | Description |
| - | - | - |
| `serverId` | Yes | Unique workflow-MCP server identifier. |

**Options**

| Option | Required | Description |
| - | - | - |
| `-y, --yes` | Yes | Confirm this operation. |

API request and response schemas: [deleteWorkflowMcpServer](/api-reference/mcp-servers/deleteWorkflowMcpServer).

## Related docs \[#related-docs]

- [MCP connections](/agents/mcp)
