Overview
Use Model Context Protocol (MCP) servers to connect Poolside agents to external tools and services. For more information, see the Model Context Protocol documentation. An MCP server acts as a tool endpoint that an agent can call. MCP servers let agents invoke tools, interact with APIs, and run operations in external systems. For a complete reference of supportedsettings.yaml keys, including mcp_servers, see Settings file reference.
When to use an MCP server
Use an MCP server when you want agents to:- Invoke external tools or services
- Call APIs or interact with third-party systems
- Integrate with internal or custom tooling
- Perform specialized or domain-specific operations
- Static instructions or repeatable workflows. Use skills instead.
- Broad agent behavior that should apply to every task. Use AGENTS.md instructions instead.
- Operations that cannot be safely constrained by tool permissions and approvals.
Connection types
Each MCP server uses a single connection type, which determines how tools run and how Poolside communicates with them.- Use Stdio (Local Process) to run an MCP server as a local process. This connection type is useful for local tools, scripts, or filesystem access.
- Use Streamable HTTP or Server-Sent Events (SSE) to connect to MCP servers over a URL. These connection types are typically used for hosted or remote services.
| Feature | Stdio (Local Process) | Streamable HTTP | Server-Sent Events (SSE) |
|---|---|---|---|
| Execution environment | Runs inside the sandbox | Runs outside the sandbox | Runs outside the sandbox |
| Network policy | Uses sandbox network settings | Ignores sandbox network settings | Ignores sandbox network settings |
| Location | Local agent host | Local or remote | Local or remote |
| Transport | Standard input/output | Chunked HTTP responses | Persistent HTTP stream |
| Communication style | Bidirectional, process-based | Incremental request/response | One-way push from server to client |
| Best for | Local CLI tools, scripts, filesystem access | AI streaming, long-running APIs, or data-heavy APIs | Status feeds, live updates, event streams |
| Authentication | Local OS or shell permissions | OAuth or API keys | OAuth or API keys |
| Deployment | Launched in the sandbox | User-managed server URL | User-managed server URL |
Add a personal MCP server
Personal MCP servers are defined in your Poolside settings file. Add them by editingsettings.yaml directly or by using pool mcp add.
Prerequisites
- You have the server details:
- For a Stdio (Local Process) server, the command that starts the server.
- For a Streamable HTTP or Server-Sent Events (SSE) server, the server URL and any required credentials.
- The
poolCLI is installed, if you plan to usepool mcp add. See Install Poolside Agent CLI.
-
Add the server definition.
- Edit the settings file
- Use pool CLI
Add anmcp_serversblock to~/.config/poolside/settings.yaml. This file stores personal MCP servers available across all your projects.For a Stdio (Local Process) server, specify the command that starts the server:For example:For a Streamable HTTP or Server-Sent Events (SSE) server, specify the server URL:For example:For all available options, see MCP server configuration options. -
Use the server from
poolorpool exec. Personal MCP servers from your settings file are available topoolandpool exec. Example interactive session:Example one-shot prompt:For availablepool mcpcommands, see CLI reference.
MCP server configuration options
You can use the following configuration options in the settings file. Some options apply only to Stdio (Local Process) servers or only to Streamable HTTP or Server-Sent Events (SSE) servers.| Option | Connection type | Description |
|---|---|---|
command | Stdio (Local Process) | The executable to run. For example, node, python, or npx. |
args | Stdio (Local Process) | Arguments passed to the command as a YAML list. |
cwd | Stdio (Local Process) | Working directory for the server process. Defaults to the project directory. |
transport | Streamable HTTP or SSE | Connection details, including type, url, and optional headers. |
env | All | Environment variables available to the server process as KEY: value pairs. |
enabled_tools | All | Tool names to enable as a list. If omitted, all tools are enabled. |
allow | All | Glob patterns for tools agents can use. For example, "read-*" allows tools that start with read-. |
deny | All | Glob patterns for tools agents cannot use. For example, "write-*" blocks tools that start with write-. Deny patterns take precedence over allow patterns. |
disabled | All | If set to true, the server is disabled and agents cannot use it. |
Authentication
Some MCP servers require authentication in addition to the connection settings above. Depending on the server, authentication might involve API keys, tokens, environment variables, or OAuth-based sign-in. For HTTP and SSE servers, configure authentication values in the server definition, such as withheaders or env. For local stdio servers, the server process runs with the permissions and environment available to the local agent host or sandbox.
Access and security
MCP servers run with the permissions of their execution environment, so only connect servers that you trust. Tool permissions and approvals limit what agents can use, but they do not isolate or sandbox MCP server execution by themselves. Approval behavior depends on the MCP server connection type and on whether the agent runs in a sandbox:- Stdio MCP servers run inside the sandbox when the agent runs in a sandbox. In interactive
pooland ACP sessions, stdio MCP tool calls are auto-approved when the session uses a sandbox. - HTTP and SSE servers run outside the sandbox and require explicit approval even when the agent runs in a sandbox.
With unsafe auto-allow mode on, approvals for HTTP and SSE MCP servers may be granted automatically.