Connect Character App to your agent

One address brings your Worlds, Characters, Clips and Films into your agent. Every paid step is quoted first.

MCP address https://mcp.character.app/mcp

Set up your agent

Codex
mkdir -p ~/.codex/character-app && curl -fsSL https://mcp.character.app/plugin/codex.tar.gz | tar -xz -C ~/.codex/character-app && codex plugin marketplace add ~/.codex/character-app && codex plugin add charactr@character-app
codex mcp add charactr --url https://mcp.character.app/mcp

If sign-in stops, run:

codex mcp login charactr --scopes email

Or paste into ~/.codex/config.toml:

[mcp_servers.charactr]
url = "https://mcp.character.app/mcp"
tool_timeout_sec = 120
# headless: bearer_token_env_var = "CHARACTR_TOKEN"
Claude Code
claude plugin install charactr --marketplace https://mcp.character.app/plugin/marketplace.json
claude mcp add --transport http -s user charactr https://mcp.character.app/mcp
claude mcp login charactr

Or paste into ~/.claude.json under "mcpServers":

{
  "mcpServers": {
    "charactr": {
      "type": "http",
      "url": "https://mcp.character.app/mcp"
    }
  }
}

No browser on this machine? Add --no-browser to the sign-in line.

Claude Desktop

Claude app → Settings → Connectors → Add custom connector → name it charactr → URL: https://mcp.character.app/mcp

Cursor

Open in Cursor

Or paste into ~/.cursor/mcp.json:

{
  "mcpServers": {
    "charactr": {
      "url": "https://mcp.character.app/mcp"
    }
  }
}
Devin CLI
devin mcp add charactr -s user --transport http --scopes email https://mcp.character.app/mcp

If sign-in stops, run:

devin mcp login charactr --scopes email

Or paste into ~/.config/devin/mcp_config.json:

{
  "mcpServers": {
    "charactr": {
      "url": "https://mcp.character.app/mcp",
      "transport": "http"
    }
  }
}

Newer Windsurf tabs use this same setup.

Gemini CLI

Paste into ~/.gemini/settings.json:

{
  "mcpServers": {
    "charactr": {
      "httpUrl": "https://mcp.character.app/mcp"
    }
  }
}
VS Code

Open in VS Code

Or paste into User mcp.json — Command Palette → "MCP: Open User Configuration":

{
  "servers": {
    "charactr": {
      "type": "http",
      "url": "https://mcp.character.app/mcp"
    }
  }
}
Windsurf

Paste into ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "charactr": {
      "serverUrl": "https://mcp.character.app/mcp"
    }
  }
}

For the older Cascade agent only. Newer tabs: use Devin CLI.

Zed

Paste into ~/.config/zed/settings.json under "context_servers":

{
  "context_servers": {
    "charactr": {
      "url": "https://mcp.character.app/mcp"
    }
  }
}

Sign in once in your browser.

ChatGPT

Settings → Connectors → Developer Mode → New app → URL: https://mcp.character.app/mcp → auth: OAuth

Any other MCP client
{
  "mcpServers": {
    "charactr": {
      "type": "http",
      "url": "https://mcp.character.app/mcp"
    }
  }
}

Any tool that takes a remote MCP address.

Fewer tools

Pick a set. Every line above follows.

Advanced
Transport
Streamable HTTP (POST /mcp)
Sign-in
OAuth 2.1, scope email only
Discovery
https://mcp.character.app/.well-known/oauth-protected-resource/mcp
First call
get_creative_workspace, read-only

OAuth 2.1 is the only door — Character App does not issue a long-lived API key yet. Clients that take a static Authorization bearer header can run headless with a fresh sign-in token, but that token lives about an hour: fine for CI smoke checks, not a durable install. Claude Code has a true no-browser OAuth path (claude mcp login charactr --no-browser); every other harness needs one browser sign-in on the same machine the callback listens on.

Request only the scope email. If Codex sign-in fails at the token step, run codex mcp login charactr --scopes email.