MCP
OXYGEN MCP server
OXYGEN speaks the Model Context Protocol over streamable HTTP. Point any MCP-compatible client at a single URL with a Bearer token — the client sees every capability your organization has connected, plus durable memory, as native tools.
Endpoint
https://oxygen-agent.com/api/mcpStateless JSON-RPC over HTTP. The server implements initialize, tools/list, and tools/call. Every tool call creates a OXYGEN runtime session and returns the same run/execution metadata you would get from the Runtime API — so work done via MCP is fully auditable in the OXYGEN dashboard.
AuthorizationheaderrequiredBearer token from Settings → API. The equivalentx-api-keyheader is also accepted.Content-Typeheaderoptionalapplication/json on every POST, set automatically by every MCP client.
Client configurations
Pick your client, copy the snippet, paste in your API key. Every config uses the same URL — differences are just in where the config file lives and how secrets are interpolated.
Claude Code ships native HTTP MCP support. The one-liner below registers OXYGEN at local scope for your current project.
Register with the CLI
bash
claude mcp add --transport http oxygen https://oxygen-agent.com/api/mcp \
--header "Authorization: Bearer $OXYGEN_API_KEY"Or commit a project-scoped .mcp.json
json
{
"mcpServers": {
"oxygen": {
"type": "http",
"url": "https://oxygen-agent.com/api/mcp",
"headers": {
"Authorization": "Bearer ${OXYGEN_API_KEY}"
}
}
}
}Run `claude mcp list` to confirm OXYGEN shows up, then `/mcp` inside Claude Code to inspect the tools it exposes.
What the agent sees
Once OXYGEN is registered, tools appear under their capability names — for example memory_search, linkedin_search_people, or gmail_send_email. Each tool carries OXYGEN-specific hints so the agent knows what is safe to retry.
annotations.readOnlyHintbooleanoptionalTrue when the capability does not mutate external state.annotations.idempotentHintbooleanoptionalTrue when repeating the call with the same input is safe._meta.oxygen/kindenumoptionalintegration or memory — matches the kind field on the Runtime API._meta.oxygen/accountsarrayoptionalConnected accounts that expose the capability. When there is more than one, the tool input schema gains a required connectedAccountId enum.
Tool results
Every tools/call returns both a human-readable summary and a structured content block. The structured block carries the run and execution ids so you can jump to the full trace inside the OXYGEN dashboard.
Example tool result
json
{
"content": [
{
"type": "text",
"text": "1 hits\n\ncapability: memory_search\nrunId: run_123\nexecutionId: exec_123\n\n{\n \"hits\": [{\"path\": \"/topics/icp.md\", \"score\": 10}]\n}"
}
],
"structuredContent": {
"summary": "1 hits",
"runId": "run_123",
"executionId": "exec_123",
"capability": "memory_search",
"result": { "hits": [{ "path": "/topics/icp.md", "score": 10 }] }
}
}Prefer raw HTTP?
Rotate compromised keys immediately