MCP server: One MCP server.

Unbrowse

@unbrowse-aiRun by its publisher: served from their own domain, namespace checked by the registry.MCP server · External

Websites as APIs: read pages, run site tasks via learned APIs, cloud browser with saved logins.

Web scrapingv12.3.1MITTypeScript
Freeno charge per call

One address for any MCP client. You sign in at unbrowse.ai once, after adding it.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: moves money, runs code or commands, deletes data, or sends messages for you.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

What it asks for at sign-in

Access toReadChange
UnbrowseNot stated: unbrowse

From the sign-in at unbrowse.ai, as the endpoint publishes it. You approve it there.

Tools

None listed · checked 11 Oct 2026

Odel could not list its tools without signing in.

Try it in the Inspector
README3 min read

Every website, even those without an official API or MCP, still rely on a first party API to talk to their backend. Unbrowse calls these website's first party APIs to make agentic browsing 50-100x faster and 95% cheaper than using a browser.

This is the open-source client for the hosted Unbrowse service (https://unbrowse.ai): the @unbrowse/sdk TypeScript client for its REST API, and the unbrowse CLI built on it.

Install the agent skill:

bash
npx skills add unbrowse-ai/unbrowse --skill unbrowse

Connect your agent:

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

Complete OAuth sign-in in your client. From a terminal: npx unbrowse login (OAuth in your browser, nothing to paste), then npx unbrowse run 'top stories on hacker news'.

Install · CLI · MCP · SDK · Troubleshooting

How it works

  1. Discover. Unbrowse searches your private capabilities, then a public registry of sites already compiled into tools.
  2. Run. A matching capability replays the site's own first-party HTTP requests. No browser. A run succeeds only when its result is verified.
  3. Learn once. No match: an agent does the task in Unbrowse's recorded cloud browser (MCP), or you upload two HAR recordings (unbrowse learn). Unbrowse compiles the requests into a one-call capability. Next time is step 2.

Passwords stay in the Unbrowse password manager; the CLI never takes one.

More: docs/how-it-works.md · Paper: Internal APIs Are All You Need (arXiv:2604.00694)

Commands

text
unbrowse login [--key ub_live_…]    sign in (browser OAuth) or store an API key
unbrowse discover <query>           your capabilities, then the public registry
unbrowse run <task…> [--set k=v]    run a task from your IP (--from-unbrowse: from Unbrowse); waits for a verified result
unbrowse resume <runId> k=v…        answer what the run asked for, on the same run
unbrowse scrape <url>               read one page as markdown
unbrowse index <url>                teach Unbrowse a site: each flow becomes a tool
unbrowse learn a.har b.har          compile two recordings into a capability
unbrowse logins                     saved logins, masked
unbrowse registry [query]           public compiled sites (no account)

All commands: docs/cli.md. Exit codes: 0 ok, 1 error, 2 input required, 3 sign-in or login needed, 4 not verified.

SDK

ts
import { Unbrowse } from "@unbrowse/sdk";
const ub = new Unbrowse(); // UNBROWSE_API_KEY
const run = await ub.wait((await ub.run({ task: "top stories on Hacker News", idempotencyKey: crypto.randomUUID() })).runId);

Supported REST methods: docs/sdk.md.

Agents

Agents connect to the hosted MCP (https://unbrowse.ai/mcp, see docs/install.md) and follow skill/SKILL.md. The CLI is the REST alternative. unbrowse mcp runs a local stdio proxy to the hosted MCP for hosts that need stdio or plain tool names (unbrowse_scrape).

Plugins for Claude Code, Codex, Grok Build, OpenClaw, Hermes and elizaOS bundle the skill and make Unbrowse the host's browser: plugins/. Grok, ChatGPT, Claude, Perplexity, Le Chat and Gemini CLI connect as a custom connector: docs/connect.md.

Pricing

Check your current account plan and unbrowse usage for quota and pricing. docs/pricing.md

Develop

bash
bun install
bun test packages     # SDK route tests + CLI tests against a local stand-in API
bun run typecheck
bun run build         # packages/sdk/dist, packages/cli/dist/cli.js (Node 18.17+)
bun run cli help

Release

CI/CD publishes on a version tag: docs/release.md.

What is here and what stays hosted: docs/open-source.md. MIT © Unbrowse AI

Similar modules

Browse Web scraping