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: Oxygen's ui:// widgets render inline — table previews, run timelines, provider and cost breakdowns — 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. Claude Desktop lists every advertised tool inline and has no tool search, so use the core profile rather than 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 still discover the rest with oxygen_capabilities_search; each result carries its toolset_pack. If the client refuses an unadvertised exact name, reconnect with that pack, or with explicit ?toolset=full for an automation that genuinely spans the registry. The MCP tool reference lists every tool, its pack, and which tools core advertises.

Verify your setup

Ask Claude to run these read-only tool calls (they spend no 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.

To confirm widgets render, ask Claude to call oxygen_tables_list or oxygen_billing_balance and check that 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 crowds Claude Desktop's context — prefer core or the returned domain pack.

On this page