About Unbrowse
Unbrowse treats websites as APIs, running tasks through each site's own first-party APIs and offering a cloud browser with saved logins. This repository is the open-source client for the hosted service, including an SDK, a CLI and an agent skill.
Key features
- 01Run tasks through first-party site HTTP requests
- 02Compile recorded requests into reusable tools
- 03Cloud browser with saved logins
- 04TypeScript SDK and unbrowse command line tool
- 05Plugins for several agent hosts
Use cases
- 01Let an agent fetch information from websites quickly
- 02Package a site workflow as a reusable tool
- 03Run login-dependent tasks on sites without an official API
MCP support
The hosted service exposes an MCP endpoint that agents connect to over HTTP. The CLI can also run a local stdio proxy to that hosted MCP server.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://unbrowse.ai/mcpclaude mcp add --transport http unbrowse-ai-unbrowse https://unbrowse.ai/mcp{"mcpServers":{"unbrowse-ai-unbrowse":{"type":"http","url":"https://unbrowse.ai/mcp"}}}Open in Cursor{"servers":{"unbrowse-ai-unbrowse":{"type":"http","url":"https://unbrowse.ai/mcp"}}}Open in VS Code{"mcpServers":{"unbrowse-ai-unbrowse":{"type":"http","url":"https://unbrowse.ai/mcp"}}}{"mcpServers":{"unbrowse-ai-unbrowse":{"serverUrl":"https://unbrowse.ai/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMEUnbrowse
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:
npx skills add unbrowse-ai/unbrowse --skill unbrowse
Connect your agent:
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
- Discover. Unbrowse searches your private capabilities, then a public registry of sites already compiled into tools.
- Run. A matching capability replays the site's own first-party HTTP requests. No browser. A run succeeds only when its result is verified.
- 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
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
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
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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.