Endpoint
- OAuth (Claude on the web, desktop and mobile) — the server implements OAuth 2.1 with dynamic client registration and PKCE. On “Connect” you get a Stratos page asking for an API key; paste it once and the client is authorised. The key you paste is the identity — revoke it in Stratos and every connector using it stops. Registration only accepts Claude’s own redirect URIs (
https://claude.ai/…,https://claude.com/…), so other clients’ OAuth flows are refused withinvalid_redirect_uri. - Bearer key (Claude Code, Cursor, Codex, scripts, anything that can send a header) — send your API key directly:
Authorization: Bearer strat_live_…. No OAuth needed.
Connecting from claude.ai
1
Mint an API key
In Stratos: Settings → API keys → Create key. Name it after the client (e.g.
claude). Leave schedules:publish off unless you want the agent able to post without approval. Copy the key — it’s shown once.2
Add the connector
claude.ai: Customize → Connectors → Add → Add custom connector. Name:
Stratos. URL: https://mcp.trystratos.ai/mcp. Leave the OAuth client fields empty and click Add, then Connect.3
Authorise
A “Connect Stratos to Claude” page opens. Paste the key and click Authorize. Back in claude.ai the connector shows Connected with per-tool permissions (default: ask each time).
4
Try it
In a new chat: “Using Stratos, list my apps and credits.” Claude will ask permission for the first tool call, then answer with your real account data.
Connecting from Claude Code
Claude Code’s own OAuth flow uses ahttp://localhost:PORT/callback redirect, which the server does not accept, so pass the key as a header instead of using /mcp → Authenticate:
claude and run /mcp; stratos should be listed as connected. --scope user makes it available in every project; drop it to add Stratos to the current project only.
Connecting from Cursor
Add this to~/.cursor/mcp.json (or .cursor/mcp.json in a single project). If the file already lists servers, add the stratos entry inside mcpServers:
${env:NAME} in headers, so "Bearer ${env:STRATOS_API_KEY}" works if you’d rather keep the key out of the file.
Connecting from Codex
Add this to~/.codex/config.toml:
~/.zshrc:
codex and run /mcp to check stratos is listed.
ChatGPT
Not supported yet. ChatGPT connects to MCP servers with OAuth (or no auth) and can’t send a static header, and the Stratos authorization server only accepts Claude’s redirect URIs. Use Codex, or call the REST API directly.claude.ai caches a connector’s tool list when it connects. After a Stratos update that adds tools or parameters, Disconnect → Connect once to pick them up. The server also tolerates the older schema: a
hook_video without characterId uses your most recent character, and an illustrated deck whose topic mentions “photoreal” gets the photoreal style.The tools
Content types
Every piece starts
approvalStatus: "pending". Nothing schedules until a human — or the agent, if explicitly told to — calls stratos_content_approve.