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

# Connect

> Connect Claude, Cursor, or any MCP client to Fuse and drive your account through natural language.

The Fuse MCP server lets AI assistants operate your Fuse account directly: search for prospects, manage lists and campaigns, triage your inbox, pull analytics, and more — all through natural language. It implements the [Model Context Protocol](https://modelcontextprotocol.io), so it works with Claude, Cursor, and any other MCP-capable client.

It is a separate surface from the REST API. The REST API is for your own code and authenticates with [API keys](/authentication); the MCP server is for AI assistants and authenticates by signing in to your Fuse account — no API key involved.

## Server URL

```text theme={null}
https://mcp.tryfuse.ai
```

<Info>
  The same URL is shown in the Fuse app under **Settings → MCP**, with a copy button.
</Info>

## How authentication works

The server uses standard OAuth, which every major MCP client handles for you:

1. The first time your assistant connects, it registers itself with Fuse automatically and opens a browser window.
2. You sign in with your Fuse email and password and approve the connection.
3. The assistant receives its own tokens and refreshes them silently from then on.

There is nothing to configure and no key to paste. The connection acts **as you**: tools run with your user's permissions and see exactly the data your account sees. A connection that goes unused for about a month expires, and the client will ask you to sign in again.

<Warning>
  A connected assistant can do what you can do in Fuse — including sending emails and modifying lists and campaigns — whenever you ask it to. Only connect clients you trust, and disconnect the server from the client's settings when you no longer use it.
</Warning>

## Set up your client

<Steps>
  <Step title="Claude (web and desktop)">
    Go to **Settings → Connectors → Add custom connector**, name it `Fuse`, paste `https://mcp.tryfuse.ai` as the URL, and click **Add**. Then click **Connect** and sign in with your Fuse credentials.
  </Step>

  <Step title="Claude Code">
    ```bash theme={null}
    claude mcp add --transport http fuse https://mcp.tryfuse.ai
    ```

    Then run `/mcp` inside a session and pick **fuse** to complete the sign-in.
  </Step>

  <Step title="Cursor">
    Add the server to `~/.cursor/mcp.json` (or your project's `.cursor/mcp.json`):

    ```json theme={null}
    {
      "mcpServers": {
        "fuse": {
          "url": "https://mcp.tryfuse.ai"
        }
      }
    }
    ```

    Cursor opens the sign-in flow the first time it connects.
  </Step>

  <Step title="Any other MCP client">
    Point the client at `https://mcp.tryfuse.ai`. Any client that supports the Streamable HTTP transport and OAuth works; everything it needs is discoverable from the URL.
  </Step>
</Steps>

Once connected, the client lists the Fuse tools automatically — see [Tools & limits](/mcp/tools) for what they can do.

## For custom clients

<Accordion title="Protocol and discovery details">
  Everything a hand-rolled client needs is served from the standard discovery endpoints:

  * `GET https://mcp.tryfuse.ai/.well-known/oauth-protected-resource` names the authorization server.
  * `GET https://core.backend.tryfuse.ai/.well-known/oauth-authorization-server` lists the registration, authorization, and token endpoints.

  The OAuth flow is authorization code with PKCE (`S256`) for public clients (`token_endpoint_auth_methods_supported: ["none"]`), with dynamic client registration and the single scope `mcp:tools`. Access tokens last one hour; refresh tokens rotate on every refresh and last 30 days from their last use.

  The transport is **stateless Streamable HTTP**:

  * Send JSON-RPC messages with `POST`. Batches (arrays of messages) are accepted.
  * There is no server-push stream: `GET` is not supported, and no `Mcp-Session-Id` needs to be replayed between requests.
  * Supported protocol versions: `2025-11-25`, `2025-06-18`, `2025-03-26`, and `2024-11-05` — the server negotiates down during `initialize`.

  Unauthenticated requests receive `401` with a `WWW-Authenticate` header pointing at the resource metadata, which is the standard signal for clients to start the OAuth flow.
</Accordion>

## Troubleshooting

| Symptom                                                 | Likely cause                                               | Fix                                                                 |
| ------------------------------------------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------- |
| Client reports `401` (`MISSING_TOKEN`, `INVALID_TOKEN`) | The connection's tokens expired or were invalidated        | Disconnect and reconnect the server in your client to sign in again |
| Client reports `429` (`RATE_LIMIT_EXCEEDED`)            | You hit the per-user [rate limits](/mcp/tools#rate-limits) | Wait a minute and retry                                             |
| Sign-in page rejects your credentials                   | The consent screen expects your Fuse email and password    | Reset your password in the Fuse app if needed, then retry           |
| Tools don't appear after connecting                     | The client cached an older tool list                       | Refresh or reconnect the server in the client                       |

Still stuck? Write to [support@fuseai.com](mailto:support@fuseai.com) with the client you're using and roughly when the failure happened.
