Skip to content
extraorbital

EXTRAORBITAL / FLIGHT MANUAL

Everything you need to get into orbit.
Browse documentation

MCP server

Connect ExtraOrbital to Claude, ChatGPT, Cursor or any MCP client, remotely with OAuth or locally over stdio.

AI/LLM: this page is available in plain markdown at /docs/mcp.md

ExtraOrbital is an MCP server two ways. Pick by where the agent runs:

Where the agent runsUseSigns in with
On your machine (Claude Code, Codex, Cursor, Windsurf, Gemini CLI, VS Code…)npx -y extraorbital mcp over stdioThis machine's identity, like the CLI: nothing to sign in to
In a chat app (Claude, ChatGPT, Le Chat, Perplexity, Grok…)https://extraorbital.dev/mcpOAuth: you sign in once and choose what it may do
Your own code or CIhttps://extraorbital.dev/mcpAn eo_live_ API key as a bearer token

Tools

The tools are the same capabilities the Agent Auth protocol and the REST API expose, from one implementation:

ToolWhat it does
list_servicesWhat can be provisioned, its options, allowances and prices
whoami · list_teams · list_projectsWho you are, your teams, their projects and spend
create_projectA project inside a team
provision_resourceA database, cache, bucket, queue, index or key. Idempotent: the same service and slug return the same resource
list_resources · get_resource · verify_resourceWhat exists, its metadata and spend, and whether it still answers
read_credentialsA resource's environment variables
deprovision_resourceRemove a resource
read_ledger · summarize_ledgerCharges, grouped any way you like
search · fetchThese docs, from inside the conversation

The local server adds two that need your project folder:

ToolWhat it does
provision_projectWhat provision does: scan the folder, provision what is missing, write .env. Credential values go to the file, never into the conversation
generate_secretWhat add SESSION_SECRET does: a secret generated offline, written to .env

Every tool is annotated (readOnlyHint, destructiveHint, idempotentHint, openWorldHint), so a client can run read-only ones without asking and confirm the rest.

Local: coding agents

claude mcp add --transport stdio extraorbital -- npx -y extraorbital mcp
codex mcp add extraorbital -- npx -y extraorbital mcp
.cursor/mcp.json, Windsurf, Gemini CLI
{
  "mcpServers": {
    "extraorbital": { "command": "npx", "args": ["-y", "extraorbital", "mcp"] }
  }
}

VS Code's .vscode/mcp.json names the key servers rather than mcpServers. A machine that has never run ExtraOrbital registers itself on first use and works in a sandbox of its own until a human links it.

Remote: chat apps

Add https://extraorbital.dev/mcp as a custom connector. The app sends you to sign in, then to a consent screen where you can untick provisioning or credentials; reading is always granted.

AppWhere
Claude, Claude DesktopSettings → Connectors → Add custom connector (Team and Enterprise: an owner adds it under Organization settings → Connectors)
Claude Code (remote)claude mcp add --transport http extraorbital https://extraorbital.dev/mcp, then /mcp to sign in
ChatGPTDeveloper mode, then add a custom MCP server. Write tools need a plan that allows them; elsewhere ChatGPT uses search and fetch
Codex (remote)codex mcp add extraorbital --url https://extraorbital.dev/mcp, then codex mcp login extraorbital
Le Chat (Mistral)Connectors → Add connector → Custom MCP connector
PerplexitySettings → Connectors → Custom connector → Remote
Grokgrok.com/connectors → New connector → Custom
ManusSettings → Integrations → Custom MCP servers, with an API key as a bearer header
OpenAI, xAI and Z.ai APIsThe mcp tool type with server_url https://extraorbital.dev/mcp and an eo_live_ key as the authorization

Menus move; if one has, look for "custom connector" or "MCP server" in the app's settings.

With a key instead of OAuth

Any client that can set a header can skip sign-in:

claude mcp add --transport http extraorbital https://extraorbital.dev/mcp \
  --header "Authorization: Bearer $EXTRAORBITAL_API_KEY"

A key scoped to one team or project limits the connection to it.

How sign-in works

For client authors: an unauthenticated request gets 401 with WWW-Authenticate: Bearer resource_metadata="https://extraorbital.dev/.well-known/oauth-protected-resource/mcp". From there:

  • Protected resource metadata (RFC 9728) names the authorization server and the scopes eo:read, eo:provision and eo:credentials.
  • Authorization server metadata (RFC 8414) is at /.well-known/oauth-authorization-server/api/auth.
  • Clients register with a Client ID Metadata Document or dynamically (RFC 7591); PKCE S256 is required.
  • Tokens are issued for the https://extraorbital.dev/mcp resource only (RFC 8707), and every other endpoint refuses them. Loopback redirects match any port.

Listed in

The server is described for the MCP Registry as dev.extraorbital/extraorbital, with both the remote and the npm package.

Next

  • Agent skills — teach an agent to reach for ExtraOrbital on its own
  • Quickstart — the same thing from a terminal