> ## Documentation Index
> Fetch the complete documentation index at: https://docs.murmur.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP integration

> Connect Claude Code, Codex, and other MCP clients to Murmur's MCP server.

Connect an MCP client to Murmur to spawn, follow, and manage agents from inside it. Tools act with the signed-in user's permissions. To give your agents tools from other MCP servers, see [Give agents other MCP servers](#give-agents-other-mcp-servers).

## Remote server

Remote MCP is recommended for external coding clients. No Murmur CLI needed. Add this URL to any client that supports Streamable HTTP MCP servers:

```text theme={null}
https://api.murmur.dev/mcp
```

**1. Add the server**

```bash Claude Code theme={null}
claude mcp add -s user --transport http murmur https://api.murmur.dev/mcp
```

```bash Codex theme={null}
codex mcp add murmur --url https://api.murmur.dev/mcp
```

**2. Sign in**

Sign in when your client prompts, or start it yourself with `claude mcp login murmur` or `codex mcp login murmur`. In the browser, sign in with GitHub, choose your organization, and select **Allow access**. Your client keeps the token.

## Local server

Use local MCP for direct file access, catalog writes from files, or VM port URLs. The local server runs `murmur mcp` on your machine; Murmur agent VMs configure it automatically.

**1. Install the Murmur CLI and sign in**

Follow [CLI](https://docs.murmur.dev/integrations/cli.md) through `murmur login`.

**2. Register the server**

```bash theme={null}
murmur setup mcp --local
```

This detects Claude Code and Codex and asks before configuring each one.

> [accordion] How the local and remote servers differ
>
> Local MCP adds direct file access (`upload`, `catalog_set`, and `catalog_get.out`) and VM `port_url`. Remote MCP supports attachments through [`prepare_attachments`](https://docs.murmur.dev/mcp-server/prepare-attachments) followed by client-side HTTP uploads, and exposes [`trigger_flight`](https://docs.murmur.dev/mcp-server/trigger-flight). See the [capability comparison](https://docs.murmur.dev/mcp-server/overview.md#local-mcp).

## Connect as a service profile

For CI jobs and hosted platforms with no browser, use a [service profile](https://docs.murmur.dev/concepts/service-profiles.md) API key instead of signing in: send `Authorization: Bearer <key>` to the remote URL. Local MCP reads the key from `MURMUR_API_KEY`. Tools then act as the service profile. See [API keys](https://docs.murmur.dev/security/api-keys.md#from-the-mcp-server).

## Give agents other MCP servers

Connecting a client to Murmur doesn't give agents any new tools. To give agents tools from another MCP server, install it as a plugin:

1. Add the server's `.mcp.json` to a plugin marketplace repo in your GitHub organization.
2. Store its token as a [secret](https://docs.murmur.dev/concepts/secrets.md).
3. Add the plugin and the secret to a workspace. Its agents start with the server's tools.

[Add MCP servers to agents](https://docs.murmur.dev/guides/connect-mcp-servers.md) covers the steps, and the [plugin marketplace guide](https://docs.murmur.dev/guides/plugin-marketplace.md) covers the repo layout.

> [!NOTE]
>
> MCP does not give agents access to Slack or Linear. The [Slack](https://docs.murmur.dev/integrations/slack.md) and [Linear](https://docs.murmur.dev/integrations/linear.md) integrations do not set up MCP.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.