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

# Connecting your agent

> Connect each agent to Bloom MCP — sign in with Bloom, or use a static API key.

Copy the Bloom MCP server URL:

```text theme={null}
https://www.trybloom.ai/api/mcp
```

There are two ways to authenticate:

* **Sign in with Bloom (OAuth)** — the default. A browser sign-in on first connect, with nothing to set up in advance. Recommended; per-client setup is below.
* **API key** — a static `bloom_sk_...` key in a request header. The better fit when there's no browser to sign in with, when a team shares one setup, or when you're running headless — CI, a server, an automation host.

Rule of thumb: OAuth for interactive desktop clients; an API key on a server, in CI, or anywhere headless.

## Sign in with Bloom

The default path — nothing to create ahead of time; you sign in when the client first connects.

### Claude

Works in the Claude desktop app and on claude.ai (Pro, Max, Team, and Enterprise).

<Steps>
  <Step title="Open the connector settings">
    Go to **Settings → Connectors** and click **Add custom connector**.
  </Step>

  <Step title="Add the server">
    Paste the server URL and click **Connect**.
  </Step>

  <Step title="Sign in">
    Sign in with Bloom when the browser opens.
  </Step>
</Steps>

### Claude Code

<Steps>
  <Step title="Add the server">
    ```bash theme={null}
    claude mcp add --transport http bloom https://www.trybloom.ai/api/mcp
    ```

    Add `--scope user` to make it available across all your projects.
  </Step>

  <Step title="Sign in">
    Run `/mcp` inside Claude Code and sign in with Bloom when prompted.
  </Step>
</Steps>

### Cursor

<Steps>
  <Step title="Add the server">
    Add Bloom to `~/.cursor/mcp.json` (global) or `.cursor/mcp.json` (project):

    ```json theme={null}
    {
      "mcpServers": {
        "bloom": {
          "url": "https://www.trybloom.ai/api/mcp"
        }
      }
    }
    ```
  </Step>

  <Step title="Sign in">
    Sign in with Bloom when Cursor prompts.
  </Step>
</Steps>

### VS Code

<Steps>
  <Step title="Add the server">
    Add Bloom to `.vscode/mcp.json`:

    ```json theme={null}
    {
      "servers": {
        "bloom": {
          "type": "http",
          "url": "https://www.trybloom.ai/api/mcp"
        }
      }
    }
    ```
  </Step>

  <Step title="Sign in">
    Sign in with Bloom when VS Code prompts.
  </Step>
</Steps>

### ChatGPT

<Steps>
  <Step title="Enable Developer mode">
    Turn on **Developer mode** under **Settings → Apps & Connectors → Advanced**.
  </Step>

  <Step title="Add the server">
    Add a connector with the server URL.
  </Step>

  <Step title="Sign in">
    Choose **OAuth** and sign in with Bloom.
  </Step>
</Steps>

### OpenClaw

<Steps>
  <Step title="Add the server">
    ```bash theme={null}
    openclaw mcp add bloom --url https://www.trybloom.ai/api/mcp --transport streamable-http --auth oauth
    ```
  </Step>

  <Step title="Sign in">
    Run `openclaw mcp login bloom` and complete the browser sign-in.
  </Step>
</Steps>

### Hermes Agent

<Steps>
  <Step title="Add the server">
    ```bash theme={null}
    hermes mcp add bloom --url https://www.trybloom.ai/api/mcp
    ```

    When it asks about authentication, choose OAuth.
  </Step>

  <Step title="Sign in">
    Complete the browser sign-in, then verify with `hermes mcp test bloom`.
  </Step>
</Steps>

## API keys

Create a key from your [account settings](https://www.trybloom.ai/settings#api-keys) and treat it like a password: reference it from an environment variable or your client's secret store rather than hard-coding it, and never commit it or expose it client-side. Bloom keys look like `bloom_sk_...`.

The key goes in a request header, in either of two forms — use whichever your client expects:

```http theme={null}
x-api-key: bloom_sk_...
```

```http theme={null}
Authorization: Bearer bloom_sk_...
```

<Note>
  Not every client can carry a static key. Claude Code, Cursor, VS Code, OpenClaw, and Hermes support custom headers, and Claude Desktop can do so through a bridge (below). **claude.ai and ChatGPT are sign-in only** — use OAuth for those (see [Sign in with Bloom](#sign-in-with-bloom)).
</Note>

### Claude Code

Pass the key as a header when you add the server:

```bash theme={null}
claude mcp add --transport http bloom https://www.trybloom.ai/api/mcp \
  --header "x-api-key:bloom_sk_..."
```

Add `--scope user` to make the server available across all your projects.

### Cursor

Add a `headers` block to `~/.cursor/mcp.json` (global) or `.cursor/mcp.json` (project):

```json theme={null}
{
  "mcpServers": {
    "bloom": {
      "url": "https://www.trybloom.ai/api/mcp",
      "headers": {
        "x-api-key": "bloom_sk_..."
      }
    }
  }
}
```

To keep the key out of the file, reference an environment variable instead: `"x-api-key": "${env:BLOOM_API_KEY}"`.

### VS Code

Use an `inputs` block in `.vscode/mcp.json` so VS Code prompts for the key once and stores it securely, instead of hard-coding it:

```json theme={null}
{
  "inputs": [
    {
      "type": "promptString",
      "id": "bloom-api-key",
      "description": "Bloom API Key",
      "password": true
    }
  ],
  "servers": {
    "bloom": {
      "type": "http",
      "url": "https://www.trybloom.ai/api/mcp",
      "headers": {
        "x-api-key": "${input:bloom-api-key}"
      }
    }
  }
}
```

### Claude

Claude's connector UI is sign-in only. To use a key with the Claude desktop app, add Bloom to `claude_desktop_config.json` (Settings → Developer → Edit Config) through the [`mcp-remote`](https://www.npmjs.com/package/mcp-remote) bridge, which connects the remote server through a local process:

```json theme={null}
{
  "mcpServers": {
    "bloom": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://www.trybloom.ai/api/mcp",
        "--header",
        "x-api-key:bloom_sk_..."
      ]
    }
  }
}
```

Restart Claude Desktop to pick up the change.

### OpenClaw

Pass the key as a header when you add the server:

```bash theme={null}
openclaw mcp add bloom \
  --url https://www.trybloom.ai/api/mcp \
  --transport streamable-http \
  --header "x-api-key:bloom_sk_..."
```

Or add it directly to `~/.openclaw/openclaw.json`:

```json theme={null}
{
  "mcp": {
    "servers": {
      "bloom": {
        "url": "https://www.trybloom.ai/api/mcp",
        "transport": "streamable-http",
        "headers": {
          "x-api-key": "bloom_sk_..."
        }
      }
    }
  }
}
```

### Hermes Agent

Add the server, and paste your key when Hermes prompts for authentication:

```bash theme={null}
hermes mcp add bloom --url https://www.trybloom.ai/api/mcp
```

When it asks about authentication, paste your `bloom_sk_...` key. Verify with `hermes mcp test bloom`.
