The Model Context Protocol (MCP) is an open standard for connecting AI to external tools and data. Add an MCP server to your workspace and its tools become available to your agents — a way to integrate services Sim doesn't have a built-in integration for.
Adding an MCP Server as a Tool
MCP servers provide collections of tools that your agents can use.
To add one:
- Navigate to Settings → MCP Tools
- Click Add to open the configuration modal
- Enter a Server Name and Server URL
- Add any required Headers (e.g. API keys)
- Click Add MCP to save
You can also configure MCP servers directly from the toolbar in an Agent block for quick setup.
Server Configuration Options
| Field | Description |
|---|---|
| Name | Display name for the server |
| URL | The MCP server endpoint |
| Transport | Currently supports streamable-http |
| Headers | Key-value pairs for authentication or custom headers |
| Timeout | Connection timeout in milliseconds (default: 30,000) |
Environment Variables in Configuration
Server URLs and headers support environment variable substitution using {{VAR_NAME}} syntax. This keeps sensitive values like API keys out of the server configuration.
URL: https://api.example.com/mcp
Authorization: Bearer {{MCP_API_TOKEN}}When you type {{ in the URL or header fields, a dropdown appears showing available workspace environment variables.
When a saved secret is successfully substituted this way, exact occurrences of its value are masked in stored MCP tool-call traces. The real URL or header value still reaches the MCP server unchanged. See Execution log protection for the exact scope and limitations.
Testing and Validation
Click Test Connection before saving to verify the server is reachable and discover available tools. The test response shows the number of tools found and the protocol version.
After saving, each server displays its available tools with parameter names, types, and required flags. If a server's tools change (e.g., after a server update), click Refresh to fetch the latest schemas. This automatically updates any agent blocks using those tools.
Tool validation badges appear on servers with issues — for example, if a tool was removed from the server but is still referenced in a workflow. Click the badge to see which workflows are affected.
Domain Allowlisting
Self-hosted deployments can restrict which MCP server domains are allowed by setting the ALLOWED_MCP_DOMAINS environment variable (comma-separated list). When set, only servers on approved domains can be added. When unset, all domains are allowed.
This governs which domains may be used. It is separate from where those domains are allowed to resolve: an MCP server on a private address is reached by naming it in EGRESS_ALLOWED_HOSTS or EGRESS_ALLOWED_IP_RANGES, described in Security. Both checks apply.
The allowlist covers the server URL itself. If the server requires OAuth, any endpoint its metadata names on a different origin than the server you configured is treated as content rather than as configuration, so that one has to be publicly routable. Endpoints on the server's own origin keep the server's reachability.
Using MCP Tools in Agents
Once MCP servers are configured, their tools become available within your agent blocks:
- Open an Agent block
- In the Tools section, click Add tool…
- Under MCP Servers, click a server to see its tools
- Select individual tools, or choose Configure operations access for a dynamic server attachment
- The agent can now access these tools during execution
If you haven't configured a server yet, click Add MCP Server at the top of the dropdown to open the setup modal without leaving the block.
Standalone MCP Block
Use the MCP block to discover operations or run one operation with explicit inputs:
Choose an Action:
- List operations discovers authorized operation names, descriptions, and input schemas without executing provider operations. Filter by name or description, set a page size from 1 to 100, and pass
nextCursorinto the next request whilehasMoreis true. An authorized list can be empty. - Run operation executes one exact operation name. Configured operations keep their generated argument fields. For an operation name resolved at runtime, supply a JSON arguments object; Sim validates it against the operation's discovered schema before execution.
MCP Server takes one shared-server ID or managed-connection ID. Sim resolves a managed connection's parent server internally and verifies workspace and credential access. Both actions accept the same ID; List operations returns that ID as serverId, alongside the discovered operations and pagination metadata.
The standalone block's Basic fields select a configured connection and discovered operation. Advanced fields accept literal IDs/names or upstream references. A runtime server reference requires JSON arguments. Listing hides the operation and argument fields.
Operations access
The MCP Server (Advanced) Agent attachment takes a server/connection ID or upstream reference in a plain input. Its Tool IDs field accepts exact MCP tool names, such as search_docs, entered directly. These are the names returned by List operations, without a Sim server prefix. Neither field uses a server or operation catalog picker.
Agent attachments have three access modes:
| Mode | Behavior |
|---|---|
| Only selected | Allows only selected exact operation names. An empty selection allows nothing. Newly discovered names stay excluded. |
| All except selected | Denies selected exact names. An empty selection allows everything otherwise permitted. Denied names stay saved if they temporarily disappear. |
| All permitted | Allows every operation available to the authorized credential. |
New restricted configurations start with an empty explicit selection. Existing saved workflows retain their prior access through normalization, while current organization and credential authorization still apply.
Operation restrictions are saved in workflow state on the Agent attachment. Tool IDs are literal configuration, not upstream references or model arguments. An operation must be available to the resolved, authorized connection and permitted by the saved restriction. The standalone block runs its explicitly specified operation and has no separate access policy.
Discovery filters the tools exposed to the Agent. Execution checks the actual server, connection, and saved restriction again before calling the provider. Missing or forbidden operations, unverifiable schemas, malformed arguments, and incorrect connection scopes fail the call. An Agent attachment with no permitted operations fails clearly.
Policies match exact, case-sensitive MCP tool names on whichever authorized connection resolves at runtime. They do not inspect operation arguments: allowing a generic execute_sql operation does not limit which SQL it can execute.
When to Use MCP Tool vs Agent
| Feature | Agent with MCP tools | MCP Tool block |
|---|---|---|
| Execution | AI decides which tools to call | Deterministic — runs the tool you pick |
| Parameters | AI chooses at runtime | You set them explicitly |
| Best for | Dynamic, conversational flows | Structured, repeatable steps |
| Reasoning | Handles complex multi-step logic | One tool, one call |
Permission Requirements
MCP functionality requires specific workspace permissions:
| Action | Required Permission |
|---|---|
| Create or update MCP servers | Write or Admin |
| Delete MCP servers | Admin |
| Use MCP tools in agents | Write or Admin |
| View available MCP tools | Read, Write, or Admin |
| Execute MCP Tool blocks | Read, Write, or Admin |
MCP servers run with the permissions of the user who configured them — only connect servers you trust, and review a server's tools before handing them to agents.