Unbrowse
io.github.unbrowse-ai/unbrowse · 784 stars · TypeScript · MIT
MCP server Websites as APIs: read pages, run site tasks via learned APIs, cloud browser with saved logins.
Install
The repo has no one-line install. Follow its README.
Published as
- npm
unbrowsestdio - Remote
https://unbrowse.ai/mcpStreamable HTTP
From the server's entry in the official MCP Registry.
Configuration
| Name | Set as | What it is |
|---|---|---|
UNBROWSE_API_KEYOptional · Secret | Env var | Unbrowse API key from https://unbrowse.ai/app (or run `npx unbrowse login` once instead) |
Files
Unbrowse
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
Facts
- Kind
- MCP server
- Group
- Uncategorized
- Stars
- 784
- License
- MIT
- Language
- TypeScript
- Last push
- 2026-10-11
- Forks
- 70
- MCP Registry
- io.github.unbrowse-ai/unbrowse
- Homepage
- unbrowse.ai
- Topics
- agents, browser-use, clawdbot, har, moltbot, openclaw, reverse-engineering, skills, clawdbot-plugin, openclaw-skills, agentskills, claude-code-plugin, codex-plugin, gemini-cli-extension, mcp-server, model-context-protocol, grok-bot, integration, muse
- 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
- 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
- 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
- 4Scrapling MCP Serverd4vinci/scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
- 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k