Connect your assistant.

Bring your websites into the conversation you’re already having. Choose an assistant to get started.

Which assistant do you use?

Choose an assistant to see its setup steps. Your assistant’s plan and workspace settings may affect which connections are available.

For developers: CLI, MCP and API options
  1. 01 · Agent Skill

    SKILL.md

    Thin public wrapper. Drop it in any skill-capable agent. YAML harnesses surface as searchable skills; Private space ranks first.

    npx skills add unbrowse-ai/unbrowse
  2. 02 · Remote MCP

    Hosted harness

    Add it to your agent in one step. Every client signs in with OAuth — approve once on unbrowse.ai, nothing to paste.

    Server URL

    https://unbrowse.ai/mcp

    Claude Code

    claude mcp add --transport http unbrowse https://unbrowse.ai/mcp

    Then run /mcp and pick Authenticate.

    Codex

    codex mcp add unbrowse --url https://unbrowse.ai/mcp && codex mcp login unbrowse

    The login opens your browser once.

    Claude (web and desktop)

    Settings → Connectors → Add custom connector. Paste the server URL, then Connect.

    ChatGPT

    Settings → Apps & Connectors → Create (developer mode). Paste the server URL, authentication OAuth.

    Any other MCP client (JSON)
    {
      "mcpServers": {
        "unbrowse": {
          "url": "https://unbrowse.ai/mcp"
        }
      }
    }

    Every client signs you in with OAuth: you approve it once on unbrowse.ai and it gets its own revocable access. No key to paste; your saved logins stay in your vault.

    Or with an API key

    For clients without OAuth, scripts and servers.

    {
      "mcpServers": {
        "unbrowse": {
          "url": "https://host/mcp",
          "headers": { "Authorization": "Bearer ub_live_…" }
        }
      }
    }
  3. 03 · TypeScript SDK

    The product is the SDK

    MCP is an adapter. REST lives at /api/v1. First request is fulfilled while Unbrowse passively indexes the route.

    import { Unbrowse } from "@unbrowse/sdk";
    
    const ub = new Unbrowse({
      apiKey: process.env.UNBROWSE_API_KEY!,
      baseUrl: "https://host/api/v1",
    });
    
    const run = await ub.run({ task: "top stories on Hacker News" });

Private space (sites you connected, public or passworded) always ranks above the public registry. Full skill text stays at /skill/SKILL.md.