fastnCONNECT

Connect Claude, Cursor, ChatGPT and other clients

Step-by-step setup for adding your MCP gateway to Claude, Claude Code, ChatGPT, Cursor, VS Code, Codex and more, with OAuth sign-in or an access key.

Every client connects to the same gateway URL over Streamable HTTP. Most sign in with OAuth: each person signs in to Fastn Connect once and calls run as them. Clients that cannot sign in take an access key, which an admin creates from Connect a client on Home or the Agents page. The examples use https://mcp.fastn.dev/your-company; Home shows your own URL.

Claude

On Home, Connect a client > Claude has an Add to Claude button that opens the client with your URL filled in.

  • Click Add to Claude. claude.ai opens Add custom connector with the name and URL filled in. By hand: Customize > Connectors > Add > Add custom connector, then paste the URL.
  • Leave the detected sign-in settings as they are and click Add, then Connect.
  • Your browser opens Fastn Connect. Sign in if asked and approve the connection.
  • In a chat, click + > Connectors and check fastn is on. The Claude desktop app shares these connectors; only if you manage Desktop through its config file, use the mcp-remote entry below.
  • Ask the client "list my tools". It answers with the tools your workspace exposes.

claude_desktop_config.json (only if you manage Desktop by file):

json
{
  "mcpServers": {
    "fastn": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.fastn.dev/your-company"
      ]
    }
  }
}

Claude Code

Sign in (OAuth):

  • Run the add command. Add --scope user to use fastn in every project.
  • Run claude mcp login fastn, or type /mcp in a session and pick Authenticate.
  • Your browser opens Fastn Connect. Sign in if asked and approve the connection.
  • Ask the client "list my tools". It answers with the tools your workspace exposes.
bash
claude mcp add --transport http fastn https://mcp.fastn.dev/your-company
claude mcp login fastn

Access key:

  • Run the add command with the key as a header.
  • Ask the client "list my tools". It answers with the tools your workspace exposes.
bash
claude mcp add --transport http fastn https://mcp.fastn.dev/your-company \
  --header "Authorization: Bearer ucl_<access-key>"

ChatGPT

  • In ChatGPT, open Plugins in the sidebar, click Add and choose Add custom MCP server.
  • Enter the name fastn and the server URL, leave Authentication on OAuth, tick I understand and want to continue, and click Create as a plugin.
  • Click Connect fastn.
  • Your browser opens Fastn Connect. Sign in if asked and approve the connection.
  • Start a new chat and name it: Using the fastn plugin, list my tools.

Cursor

Sign in (OAuth):

On Home, Connect a client > Cursor has an Add to Cursor button that opens the client with your URL filled in.

  • Click Add to Cursor and allow the browser to open Cursor. Or add the entry to ~/.cursor/mcp.json (every project) or .cursor/mcp.json (one repository).
  • Click Install, then Authenticate on fastn under Customize > MCPs.
  • Your browser opens Fastn Connect. Sign in if asked and approve the connection.
  • Ask the client "list my tools". It answers with the tools your workspace exposes.

~/.cursor/mcp.json:

json
{
  "mcpServers": {
    "fastn": {
      "url": "https://mcp.fastn.dev/your-company"
    }
  }
}

Access key:

  • Add the entry to ~/.cursor/mcp.json.
  • Ask the client "list my tools". It answers with the tools your workspace exposes.

~/.cursor/mcp.json:

json
{
  "mcpServers": {
    "fastn": {
      "url": "https://mcp.fastn.dev/your-company",
      "headers": {
        "Authorization": "Bearer ucl_<access-key>"
      }
    }
  }
}

VS Code

Sign in (OAuth):

On Home, Connect a client > VS Code has an Install in VS Code button that opens the client with your URL filled in.

  • Click Install in VS Code, then Install. Or add the entry to .vscode/mcp.json: the key is servers, not mcpServers.
  • Run MCP: List Servers, pick fastn and choose Start Server. Allow it to authenticate.
  • Your browser opens Fastn Connect. Sign in if asked and approve the connection.
  • Open Chat in Agent mode and check fastn is ticked under the tools icon.
  • Ask the client "list my tools". It answers with the tools your workspace exposes.

.vscode/mcp.json:

json
{
  "servers": {
    "fastn": {
      "type": "http",
      "url": "https://mcp.fastn.dev/your-company"
    }
  }
}

Access key:

  • Add the entry to .vscode/mcp.json, then MCP: List Servers > fastn > Start Server.
  • Ask the client "list my tools". It answers with the tools your workspace exposes.

.vscode/mcp.json:

json
{
  "servers": {
    "fastn": {
      "type": "http",
      "url": "https://mcp.fastn.dev/your-company",
      "headers": {
        "Authorization": "Bearer ucl_<access-key>"
      }
    }
  }
}

Codex

Sign in (OAuth):

  • Run the add command. Codex detects OAuth and opens the sign-in straight away; the CLI and the IDE extension share ~/.codex/config.toml.
  • Your browser opens Fastn Connect. Sign in if asked and approve the connection.
  • To sign in again later, run codex mcp login fastn.
  • Ask the client "list my tools". It answers with the tools your workspace exposes.
bash
codex mcp add fastn --url https://mcp.fastn.dev/your-company

~/.codex/config.toml:

toml
[mcp_servers.fastn]
url = "https://mcp.fastn.dev/your-company"

Access key:

  • Export the key, then point Codex at the variable. Codex reads the key from the environment, never from the file.
  • Ask the client "list my tools". It answers with the tools your workspace exposes.
bash
export FASTN_KEY="ucl_<access-key>"
codex mcp add fastn --url https://mcp.fastn.dev/your-company --bearer-token-env-var FASTN_KEY

~/.codex/config.toml:

toml
[mcp_servers.fastn]
url = "https://mcp.fastn.dev/your-company"
bearer_token_env_var = "FASTN_KEY"

Antigravity

  • Add fastn to ~/.gemini/config/mcp_config.json. The key must be serverUrl: an entry with url or httpUrl loads no tools.
  • Open Customizations > MCP Servers, refresh, and click Authenticate on fastn.
  • Your browser opens Fastn Connect. Sign in if asked and approve the connection.
  • Copy the code Google shows, paste it into Enter authorization code in Antigravity and click Submit.
  • Ask the client "list my tools". It answers with the tools your workspace exposes.

~/.gemini/config/mcp_config.json:

json
{
  "mcpServers": {
    "fastn": {
      "serverUrl": "https://mcp.fastn.dev/your-company"
    }
  }
}

Devin

  • In Devin Desktop (formerly Windsurf), open Customize > MCPs, click + and choose New MCP. From the Devin CLI, run the two commands below instead.
  • Name it fastn, set Transport type to HTTP, paste the server URL, set Authentication to OAuth and click Add.
  • Click Connect MCP on fastn's row.
  • Your browser opens Fastn Connect. Sign in if asked and approve the connection.
  • Ask the client "list my tools". It answers with the tools your workspace exposes.

Devin CLI:

bash
devin mcp add -s user fastn https://mcp.fastn.dev/your-company
devin mcp login fastn

Cline

Sign in (OAuth):

  • In Cline, open the MCP tab and click Add Remote Server. Paste the URL and keep Streamable HTTP. Or click Edit Configuration and add the entry; type must be streamableHttp, exactly.
  • Click Authenticate on fastn's row.
  • Your browser opens Fastn Connect. Sign in if asked and approve the connection.
  • Pick a model that accepts more than 128 tools if your workspace exposes that many.
  • Ask the client "list my tools". It answers with the tools your workspace exposes.

cline_mcp_settings.json:

json
{
  "mcpServers": {
    "fastn": {
      "type": "streamableHttp",
      "url": "https://mcp.fastn.dev/your-company"
    }
  }
}

Access key:

  • Click Edit Configuration in Cline's MCP tab and add the entry.
  • Ask the client "list my tools". It answers with the tools your workspace exposes.

cline_mcp_settings.json:

json
{
  "mcpServers": {
    "fastn": {
      "type": "streamableHttp",
      "url": "https://mcp.fastn.dev/your-company",
      "headers": {
        "Authorization": "Bearer ucl_<access-key>"
      }
    }
  }
}

Lovable

Sign in (OAuth):

  • In Lovable, open Connectors, click Add custom and choose MCP server.
  • Name it fastn, paste the server URL, leave Authentication on OAuth and click Add & authorize. Allow the popup if the browser blocks it.
  • Your browser opens Fastn Connect. Sign in if asked and approve the connection.
  • Ask the client "list my tools". It answers with the tools your workspace exposes.

Access key:

  • In Lovable, open Connectors, click Add custom and choose MCP server.
  • Name it fastn, paste the server URL, set Authentication to Bearer token, paste the key and click Add.
  • Ask the client "list my tools". It answers with the tools your workspace exposes.

Bearer token:

text
ucl_<access-key>

Bolt

  • In bolt.new, click + in the chat box, then Connectors > Manage connectors > Custom MCP server.
  • Name it fastn, paste the URL, keep HTTP, set Authentication to MCP OAuth and click Add MCP server.
  • Bolt does not say which URL it is connecting to, so Fastn Connect asks which apps Bolt may reach. Tick the ones it should use and authorize.
  • In the chat box, click + > Connectors and switch fastn on for the project.
  • Ask the client "list my tools". It answers with the tools your workspace exposes.

Zed

Sign in (OAuth):

  • Add the entry to Zed's settings.json, or use Settings > AI > MCP Servers > Add Server > Add Remote Server.
  • With no Authorization header, Zed prompts you to sign in.
  • Your browser opens Fastn Connect. Sign in if asked and approve the connection.
  • The dot next to fastn turns green.
  • Ask the client "list my tools". It answers with the tools your workspace exposes.

settings.json:

json
{
  "context_servers": {
    "fastn": {
      "url": "https://mcp.fastn.dev/your-company"
    }
  }
}

Access key:

  • Add the entry to Zed's settings.json.
  • Ask the client "list my tools". It answers with the tools your workspace exposes.

settings.json:

json
{
  "context_servers": {
    "fastn": {
      "url": "https://mcp.fastn.dev/your-company",
      "headers": {
        "Authorization": "Bearer ucl_<access-key>"
      }
    }
  }
}

Any other client

Sign in (OAuth):

  • Add the URL as a remote server over Streamable HTTP.
  • The first unauthenticated request gets a 401 whose WWW-Authenticate header points at the OAuth metadata. A client that implements MCP authorization registers itself (dynamic registration or a client ID metadata document) and opens the sign-in.
  • Your browser opens Fastn Connect. Sign in if asked and approve the connection.
  • Ask the client "list my tools". It answers with the tools your workspace exposes.

Access key:

  • Send the key as a bearer token on every request. Each request is a JSON-RPC POST, and Accept must allow both JSON and an event stream.
bash
curl https://mcp.fastn.dev/your-company \
  -H "Authorization: Bearer ucl_<access-key>" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Headless agents (LangChain, OpenAI, TypeScript)

For agents serving many end users, create one client per user and bind the org + end-user headers at connect time. The same agent key serves every tenant; per-user connectors act as the X-User-Id you pass.

python
from langchain_mcp_adapters.client import MultiServerMCPClient

client = MultiServerMCPClient({
    "fastn": {
        "transport": "streamable_http",
        "url": "https://mcp.fastn.dev/your-company",
        "headers": {
            "Authorization": "Bearer ucl_<agent-key>",
            "X-Org-Id": "acme",
            "X-User-Id": "user@acme.com",
        },
    }
})

FAQ

Which clients are supported?

Any MCP client that supports remote servers over Streamable HTTP. This page covers Claude, Claude Code, ChatGPT, Cursor, VS Code, Codex, Antigravity, Devin, Cline, Lovable, Bolt, Zed, plus frameworks like LangChain and the OpenAI Agents SDK.

Last updated 2026-10-27