Switch
Setup guide

Connect Switch to your AI.

Switch runs a hosted MCP server — there is nothing to install and no server to run. Add one endpoint to your AI client, sign in once, and it can browse your library, check your balance, and create images and video right from the chat.

The only endpoint you need
https://www.switchapp.ai/mcp

Use this exact URL in every client below. It is both this website and the machine endpoint — your browser sees a page, your AI client sees the MCP server.

How sign-in works

Switch uses a standard OAuth handshake — your client never stores your Switch password. After you add the endpoint, the first time your AI uses a Switch tool it opens a Switch sign-in page in your browser. Approve access, and your client stores a token that refreshes quietly from then on. There is no API key to copy for the connector — the public connector is OAuth only.

The one trick that fixes most sign-in problems

After you approve access, the browser tab may show a “can’t reach localhost” or “MCP CLI Proxy” error. Do not close it. Copy the entire URL from the address bar — it looks like http://localhost:PORT/callback?code=…&state=… — and paste it back to your assistant / client to finish login. The page failing to load is normal in remote or sandboxed sessions; the code in that URL is still valid.

Set up your client

Claude (web — claude.ai)

The fastest setup. One custom connector, sign in once.

  1. 1

    In the claude.ai sidebar open Customize, then Connectors. (Anthropic moved this out of Settings — if a guide says "Settings → Connectors", it now lives under Customize → Connectors.)

  2. 2

    Click Add, then Add custom connector.

  3. 3

    Name it Switch and paste the endpoint as the Remote MCP server URL:

    Remote MCP server URL
    https://www.switchapp.ai/mcp
  4. 4

    Click Add, then Connect. A Switch sign-in page opens — sign in with your Switch account and click Allow.

  5. 5

    Done. The connector shows a checkmark and lists the Switch tools. Ask Claude "use switch to list my images" to confirm.

Claude's Add custom connector dialog: Name set to Switch, Remote MCP server URL set to https://www.switchapp.ai/mcp.
Claude's Add custom connector dialog: Name set to Switch, Remote MCP server URL set to https://www.switchapp.ai/mcp.

Claude Desktop

Native connector — no bridge, no terminal.

  1. 1

    Easiest: Settings → Connectors → Add custom connector, set the URL below and type HTTP, then Save and Connect.

    Server URL
    https://www.switchapp.ai/mcp
  2. 2

    No "Add custom connector" button? Edit the config file instead and restart Claude Desktop:

    macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json
    {
      "mcpServers": {
        "switch": { "type": "http", "url": "https://www.switchapp.ai/mcp" }
      }
    }
  3. 3

    When it asks you to sign in, complete the browser OAuth step (see "How sign-in works" below). Avoid the npx mcp-remote bridge — use the native HTTP connector above.

Claude Code (CLI)

Add once at user scope, then sign in inside a session.

  1. 1

    Add the server (user scope makes it available in every project):

    Terminal
    claude mcp add --transport http -s user switch https://www.switchapp.ai/mcp
  2. 2

    Start a session and trigger a Switch tool. Claude Code opens the browser for the OAuth sign-in.

  3. 3

    Confirm it connected:

    Terminal — expect: switch ✔ Connected
    claude mcp list
  4. 4

    Need a clean slate? Remove it with:

    Terminal
    claude mcp remove switch

Codex (CLI)

Native remote MCP with OAuth. Use one canonical connection only.

  1. 1

    Add Switch using Codex’s MCP command:

    Terminal
    codex mcp add switch --url https://www.switchapp.ai/mcp
  2. 2

    Complete Switch OAuth, then restart Codex:

    Terminal
    codex mcp login switch
  3. 3

    Confirm the Switch row says enabled and OAuth:

    Terminal
    codex mcp list

Kimi Code (Kimi 3 and Kimi 2)

One MCP connection works with every Kimi model selected in Kimi Code.

  1. 1

    Add Switch to the user-level Kimi MCP file:

    ~/.kimi-code/mcp.json
    {
      "mcpServers": {
        "switch": { "url": "https://www.switchapp.ai/mcp" }
      }
    }
  2. 2

    Start Kimi Code and run /mcp-config login switch. Complete the Switch sign-in in the browser.

  3. 3

    Run /mcp to confirm Switch is connected. Changing between Kimi 3 and Kimi 2 does not change the MCP connection.

Gemini CLI

Native remote HTTP MCP with automatic OAuth discovery.

  1. 1

    Add Switch at user scope:

    Terminal
    gemini mcp add --scope user --transport http switch https://www.switchapp.ai/mcp
  2. 2

    Start Gemini CLI and run /mcp auth switch. Complete the Switch sign-in in the browser.

  3. 3

    Confirm it is available:

    Terminal
    gemini mcp list

Cursor

Add an HTTP MCP server, global or per-project.

  1. 1

    Add Switch to your Cursor MCP config — ~/.cursor/mcp.json for all projects, or .cursor/mcp.json inside one project:

    ~/.cursor/mcp.json
    {
      "mcpServers": {
        "switch": { "url": "https://www.switchapp.ai/mcp" }
      }
    }
  2. 2

    Open Cursor → Settings → MCP, enable Switch, and sign in with your Switch account (OAuth) when prompted.

Grok (grok.com and Grok Bot)

Custom connector on grok.com. Grok Bot cannot open a browser, so it uses a Switch API key.

  1. 1

    On grok.com open Connectors, click New Connector, then Custom.

  2. 2

    Paste the Switch MCP server URL:

    MCP server URL
    https://www.switchapp.ai/mcp
  3. 3

    Grok web: finish the sign-in it shows you (OAuth), that is your Switch account login.

  4. 4

    Grok Bot and other bots that cannot open a browser: create a key on the Switch Developer page (www.switchapp.ai/developer, API keys, Create key) and give it to the bot as the Bearer token for the same URL. Keys made there carry the MCP scopes.

    Header the bot sends
    Authorization: Bearer sk_switch_live_...
  5. 5

    Grok then lists the Switch tools and can generate, upload, search your library and check your balance on your account.

ChatGPT connector

Requires a paid ChatGPT plan with Developer mode enabled.

  1. 1

    In ChatGPT, open Settings → Connectors → Advanced, and turn on Developer mode (needed for custom MCP servers).

  2. 2

    Back in Connectors, choose Create / Add custom connector.

  3. 3

    Name it Switch, set the MCP server URL below, and choose OAuth for authentication:

    MCP server URL
    https://www.switchapp.ai/mcp
  4. 4

    Save, then open the connector in a chat and sign in with your Switch account when prompted.

DeepSeek models

DeepSeek is a model API, not a remote MCP client by itself.

  1. 1

    Run DeepSeek inside an MCP-capable agent such as Kimi Code or Claude Code, then add Switch to that client using the instructions above.

  2. 2

    Do not paste the Switch MCP URL into the DeepSeek API. DeepSeek exposes function calling; the surrounding agent discovers and executes MCP tools.

BytePlus Managed Agent

Attach Switch as an MCP server plus the MCP toolset in a Managed Agent.

  1. 1

    In ModelArk Managed Agents, register the canonical Switch URL as the agent’s MCP server. If OAuth is required, create the MCP OAuth credential in the agent vault.

  2. 2

    Keep the default agent toolset and add the MCP toolset. Replacing the whole tool array with only the MCP toolset removes the agent’s normal tools.

  3. 3

    Read the agent back after saving and confirm both the Switch MCP server and MCP toolset are present before running a read-only Switch call.

Troubleshooting

Sign-in keeps looping — I click Allow, then Claude asks me to connect again

This was a bug on our side, fixed on July 15, 2026. If you still see the loop: remove the Switch connector in Claude, wait one minute, add it again with the exact URL https://www.switchapp.ai/mcp, and sign in once. Claude keeps a short memory of the old broken answer, which is why the one-minute wait matters. If it still loops after that, contact support and tell us the time you tried.

Error -32001 / "Unauthorized"

Switch returns JSON-RPC -32001 with the message "Unauthorized" when a tool call needs sign-in — just complete the OAuth login. Note: some clients also show -32001 for their own request timeouts, so check the message text: "Unauthorized" means sign in; "timed out" means wait a moment and retry a small call (like list or balance).

It says the token expired / "requires re-authorization"

A session that started with an old token keeps failing every call. Re-run the connect / sign-in flow to get a fresh token, then fully quit and reopen your client so it loads the new token.

Connector is stuck — only "Disconnect" shows, no "Reconnect"

Disconnect (or remove the server), add it again with the same URL, sign in again, and restart the client. Key gotcha: a running session will not pick up a token you refreshed in another window — after re-authenticating, fully restart the client so it loads the new token.

Login keeps failing in a loop (corrupt cached token)

For CLI / bridge setups, clear the cached auth — rm -rf ~/.mcp-auth on macOS/Linux, or delete %USERPROFILE%\.mcp-auth on Windows — then restart and sign in again. Native desktop connectors manage their own tokens internally, so for those just remove and re-add the connector rather than hunting for files.

I see the tools but every call fails

Listing the tools needs no login (that is why you can see them). The first tool CALL is what triggers the sign-in prompt. Complete the OAuth login and retry.

Tools never appear after adding the server

Double-check the URL is exactly https://www.switchapp.ai/mcp, that you restarted the client after editing any config file, and that the config file is valid JSON/TOML (a stray comma silently disables every server). Then try a lightweight call like check balance first.

Request timed out

A timeout means the request reached the server but no answer came back in time — it is not an auth failure. For big jobs (image/video), the job usually keeps running on Switch, so ask to show your last image or list your recent generations instead of re-firing the slow call. For quick calls (list/balance), wait a minute and try one lightweight call first; check that the Switch website itself loads in a browser; and avoid hammering retries — each one just burns time.

Still stuck after a clean restart, fresh sign-in, and cleared cache

Run the pre-flight check: the URL is exactly https://www.switchapp.ai/mcp, you restarted the client after any config change, and the config file is valid JSON/TOML (one stray comma silently disables every server). If all of that is true and it still fails, the problem is likely server-side — check Switch status and contact support; no client config can fix an unreachable server.

Verified endpoint matrix

Several addresses reach the server, but always use the canonical one.

AddressUse it?
https://www.switchapp.ai/mcpCanonical — paste this into every client. Verified live as a working connector.
Other (legacy) addressesA few older addresses still answer the server, but do not use them — always paste the canonical URL above.