{"schemaVersion":"2026-05-27","product":"Ambi","purpose":"Ambient conversation memory for AI agents.","description":"Ambi is a remote OAuth Streamable-HTTP MCP server for ambient conversation memory. Install the server named ambi at https://api.ambi.io/mcp. Use the install guide and manifest as the source of truth; do not infer the MCP endpoint from pasted web or Railway domains.","defaultInstruction":"Read https://api.ambi.io/llms.txt and install Ambi MCP for me.","discovery":{"docs":"https://docs.ambi.io","llmsTxt":"https://api.ambi.io/llms.txt","installIndex":"https://ambi.io/install","manifest":"https://api.ambi.io/.well-known/agent-install.json"},"mcp":{"serverName":"ambi","url":"https://api.ambi.io/mcp","auth":"oauth","scopes":["ambi.mcp.read","ambi.mcp.write"],"verifyTool":"get_preceding_conversation","oauthMetadata":["https://api.ambi.io/.well-known/oauth-authorization-server","https://api.ambi.io/.well-known/oauth-protected-resource"]},"handoff_refs":{"refUrlTemplate":"https://ambi.io/h/{kind}/{id}","kinds":["action","session","live","thread"],"pasteLines":["<title-snapshot> (Action ID: <action_item_id>) ","<title-snapshot> (Session ID: <session_id>) ","Ambi live conversation (Live ID: <recording_id>) ","<title-snapshot> (Thread ID: <thread_id>) "],"notes":["One line, plain text (no markdown, no URL): the noun phrase and title snapshot (display-only, max 48 chars, omitted for live), then a space and `(Label ID: id)` — label is `Session`/`Action`/`Thread`/`Live` — one trailing space after the closing paren, no trailing newline.","The id is the only load-bearing token; parse refs lexically: the label form `{Kind} ID: {id}` embedded anywhere in the pasted text, or (legacy) the …/h/{kind}/{id} path in a pasted link — host-agnostic either way.","Copy/export surfaces may append a blank line, up to 8 facts-only `>` lines, and one bridge sentence — never protocol instructions.","Every delivered template — the pasted line and the copied card — ends with a blank line and the label `instruction (optional): ` (one trailing space, no trailing newline). Text the user wrote after that label is their brief — extra context or requirements that guide how you act on the resolved entity; an empty slot carries no signal, so fall back to the bare-ref defaults."],"mcp":{"url":"https://api.ambi.io/mcp","serverName":"ambi","auth":"oauth","resolve":{"action":"get_action_item — pass the pasted ref text (the label form or a legacy link) as action_item_id; add include=[\"source_session\"] when you will execute the item (inlines the finalized source transcript)","session":"get_session — pass the pasted ref text (the label form or a legacy link) as session_id","live":"get_preceding_conversation() first — a live ref is minted while its recording is live OR just ended and still sessionizing; bind to the newest coherent conversation (live tail and/or newest processing items); fall back to get_session — pass the pasted ref text (the label form or a legacy link) — only when the window is off-target/empty AND nothing is in flight (status.active_recording false, status.state not transcribing/processing); once sessionized it returns that exact recording's session","thread":"get_thread — pass the pasted ref text (the label form or a legacy link) as thread; it follows a user merge to the live thread and returns the reverse-chron digest with session refs"},"closeLoop":"update_action_item(action_item_id=<ref or id>, status=\"done\", expected_status=<the status you observed>) — on revision_conflict, re-read and report; never retry blindly"},"rest":{"auth":"Authorization: Bearer <token> — an Ambi PAT (ambp_…) or OAuth access token (amba_…)","tokens":"ask the user to mint a PAT (ambp_…) in the Ambi web app at https://ambi.io/agent-access (Agent Access), or drive OAuth (amba_…) from the RFC 9728 protected-resource metadata at https://api.ambi.io/.well-known/oauth-protected-resource/mcp","resolve":{"session":"GET https://api.ambi.io/agent/handoff/session/{session_id}","action":"GET https://api.ambi.io/agent/handoff/action/{action_item_id}?include=source_session","live":"GET https://api.ambi.io/agent/handoff/live/{recording_id}"},"close":"POST https://api.ambi.io/agent/handoff/action/{action_item_id}/close","closeBody":"{\"expected_status\": \"<the status you observed>\"}","scopes":{"resolve":"ambi.mcp.read","close":["ambi.mcp.task_write","ambi.mcp.write"]},"openapi":"https://api.ambi.io/openapi.json"},"discoveryDocument":"https://ambi.io/h/{kind}/{id} — fetches that do not ask for HTML (no text/html in Accept: agents, curl, application/json) return a constant public discovery document (no entity data, regardless of id); browsers are redirected into the app, or to sign-in when unauthenticated"},"hosts":[{"host":"codex","name":"Codex","pluginStatus":"preferred","instructions":"https://api.ambi.io/install/codex.md","summary":"Install the Ambi Codex plugin when available, then connect the remote MCP server.","supported":true,"runtimeAliases":["codex","openai codex","codex cli"]},{"host":"chatgpt","name":"ChatGPT","pluginStatus":"unavailable","instructions":"https://api.ambi.io/install/chatgpt.md","summary":"Create a ChatGPT custom app from Settings -> Connectors -> Create using the remote MCP URL.","supported":true,"runtimeAliases":["chatgpt","chatgpt apps","openai chatgpt","chatgpt custom app"]},{"host":"claude-code","name":"Claude Code","pluginStatus":"preferred","instructions":"https://api.ambi.io/install/claude-code.md","summary":"Install the Ambi Claude Code plugin when available, then authorize MCP.","supported":true,"runtimeAliases":["claude code","claude-code","anthropic claude code"]},{"host":"claude-ai","name":"Claude.ai","pluginStatus":"unavailable","instructions":"https://api.ambi.io/install/claude-ai.md","summary":"Add Ambi from Customize -> Connectors -> Add custom connector using the remote MCP URL.","supported":true,"runtimeAliases":["claude.ai","claude web","claude app","anthropic claude"]},{"host":"opencode","name":"OpenCode","pluginStatus":"optional","instructions":"https://api.ambi.io/install/opencode.md","summary":"Add the remote MCP block to OpenCode and complete OAuth.","supported":true,"runtimeAliases":["opencode","sst opencode","openclaw","open claw"]},{"host":"cursor","name":"Cursor","pluginStatus":"optional","instructions":"https://api.ambi.io/install/cursor.md","summary":"Add Ambi to Cursor's MCP configuration and authorize OAuth.","supported":true,"runtimeAliases":["cursor","cursor ai","cursor ide"]},{"host":"github-copilot","name":"GitHub Copilot","pluginStatus":"optional","instructions":"https://api.ambi.io/install/github-copilot.md","summary":"Add Ambi to the VS Code / GitHub Copilot MCP config and authorize OAuth.","supported":true,"runtimeAliases":["github copilot","copilot","vscode copilot","vs code copilot"]},{"host":"cline","name":"Cline","pluginStatus":"optional","instructions":"https://api.ambi.io/install/cline.md","summary":"Add Ambi to Cline's MCP settings and authorize OAuth.","supported":true,"runtimeAliases":["cline","cline bot","claude dev"]},{"host":"windsurf","name":"Windsurf","pluginStatus":"optional","instructions":"https://api.ambi.io/install/windsurf.md","summary":"Add Ambi to Windsurf's MCP config and authorize OAuth when supported.","supported":true,"runtimeAliases":["windsurf","codeium windsurf"]},{"host":"google-gemini","name":"Gemini","pluginStatus":"unavailable","instructions":"https://api.ambi.io/install/agent.md","summary":"Not yet validated: use the generic remote MCP guide if the Gemini host exposes MCP.","supported":false,"runtimeAliases":["gemini","google gemini"]},{"host":"genspark","name":"Genspark","pluginStatus":"optional","instructions":"https://api.ambi.io/install/genspark.md","summary":"Add Ambi from Genspark's Connector panel as a StreamableHttp MCP server.","supported":true,"runtimeAliases":["genspark","gen spark"]},{"host":"manus","name":"Manus","pluginStatus":"optional","instructions":"https://api.ambi.io/install/manus.md","summary":"Use Manus Desktop or Web to add Ambi as a Custom MCP connector over HTTP.","supported":true,"runtimeAliases":["manus"]},{"host":"hermes","name":"Hermes Agent","pluginStatus":"optional","instructions":"https://api.ambi.io/install/hermes.md","summary":"Choose loopback OAuth or device authorization based on where Hermes runs.","supported":true,"runtimeAliases":["hermes","hermes agent"]},{"host":"agent","name":"Generic MCP agent","pluginStatus":"unavailable","instructions":"https://api.ambi.io/install/agent.md","summary":"Use the generic remote MCP configuration and OAuth discovery.","supported":true,"runtimeAliases":[]},{"host":"lovable","name":"Lovable","pluginStatus":"optional","instructions":"https://api.ambi.io/install/lovable.md","summary":"Add Ambi through Lovable's main Chatbox Connectors menu using Custom MCP and OAuth.","supported":true,"runtimeAliases":["lovable","lovable agent","lovable chat"]},{"host":"replit","name":"Replit","pluginStatus":"optional","instructions":"https://api.ambi.io/install/replit.md","summary":"Paste one request into Replit Agent chat; Replit should install Ambi and send OAuth.","supported":true,"runtimeAliases":["replit","replit agent"]}],"fallback":"https://api.ambi.io/install/agent.md"}