OXYGENOxygen/ Docs
Surfaces

Claude Desktop

Connect Claude Desktop to Oxygen's hosted MCP server — an MCP-Apps host that renders Oxygen's ui:// widgets inline.

Claude Desktop has no terminal, so it drives Oxygen entirely through the hosted MCP connector. It is an MCP-Apps host, so Oxygen's ui:// widgets render there — table previews, run timelines, provider and cost breakdowns show up inline alongside the JSON result.

What works here

CapabilityClaude Desktop
Hosted MCP connector (OAuth)Yes — the only surface
ui:// widgetsYes — rendered inline
oxygen CLI in a terminalNo — Claude Desktop has no shell; use Claude Code for the CLI
Agent skillsNot applicable — skills teach terminal CLI agents; Claude Desktop reads the MCP tool descriptors directly

Setup

  1. Open Settings → Connectors and add a custom connector.
  2. Point it at the hosted server. Because Claude Desktop lists all tools inline and has no tool search, add the core profile so ~40 golden-path tools load instead of the several hundred in the full registry:
https://oxygen-agent.com/mcp?toolset=core
  1. Sign in when the OAuth flow opens. Then ask Claude to call oxygen_whoami. If your account has more than one organization, ask it to call oxygen_orgs_select with the org slug.

?toolset=core trims what is advertised, and a bare URL selects the same core profile. Claude can discover hidden tools with oxygen_capabilities_search; each result includes the domain toolset_pack. If the client refuses an unadvertised exact name, reconnect with that pack or use explicit ?toolset=full for an automation that genuinely needs the whole registry.

Verify your setup

Ask Claude to run these read-only tool calls (they do not spend credits):

  • oxygen_whoami — returns your user email and the active organization.name, plus an onboarding block. If onboarding.complete is false, load workspace context before paid work.
  • oxygen_capabilities_search with a query like find company emails — returns ranked tool matches, each flagged read_only, paid, and in_core. A non-empty ranked list confirms the connector is live and searchable.

You should also see widgets render: ask Claude to call oxygen_tables_list or oxygen_billing_balance and confirm a visual card appears next to the text result.

Cost and approval posture

Read and dry-run tools (oxygen_tools_run_dry, table/context/billing reads) never spend credits; the paid tools (oxygen_tools_run_live, oxygen_columns_run on paid columns, enrichment, external writes) run only after you approve the row scope and credit ceiling. See Approvals and Spend caps.

Known limitations

  • No terminal means no CLI, no local file imports, and no scripting — for bulk file work use oxygen_cli_file_import_prepare, which hands back a local oxygen tables import ... --background command to run on a machine that has the CLI.
  • The connector requires OAuth with dynamic client registration; a first-run failure usually means the OAuth handshake did not complete.
  • ?toolset=full can crowd Claude Desktop's context — prefer core or the returned domain pack for focused work.

On this page