Skip to content
Automation
MCP

unbrowse

Ships with 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…

From plugin
unbrowse
9152 skills1 MCP

Claude Code

> /plugin marketplace add unbrowse-ai/unbrowse
> /plugin install unbrowse@unbrowse

Security report

Info

Not enough data

  • Known flaws

    Not published

  • Signed build

    Not published

  • Maintained

    Nov 3, 2026

    Last push

  • Licence

    MIT

  • Runs as

    Remote

  • Deprecated

    Not published

Signals from public registries, not an audit. Checked Nov 13, 2026.

unbrowse README

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.

Set up every agent on this machine (skills, an always-use rule, MCP):

npx -y unbrowse setup && npx -y unbrowse login

Or tell your agent: set up unbrowse - https://raw.githubusercontent.com/unbrowse-ai/unbrowse/main/llms.txt. Skill only: 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

  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

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).

When Unbrowse itself breaks, agents follow skills/unbrowse-contribute: unbrowse bug writes the report, and the agent opens a fix PR here (after asking the person).

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

@unbrowse-ai
Ships withunbrowse
9152 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
915
Star history of unbrowse-ai/unbrowse on GitHub, a chart by star-history.com

More MCP servers from other plugins.

playwright

playwright

MCP

Drives a real browser so the agent can open pages, click, fill forms and read what actually rendered.

windmill13d18k
@windmill-labs@windmill-labsInstall MCP
pinchtab

pinchtab

MCP

Ships with pinchtab: High-performance browser automation bridge and multi-instance orchestrator with advanced stealth injection…

@pinchtab@pinchtabInstall MCP
open-computer-use

open-computer-use

MCP

Ships with open-computer-use: open-computer-use is an open-source Computer Use service wrapped as MCP. Any AI agent or MCP client…

@ifuryst@ifurystInstall MCP
atlas

atlas

MCP

Ships with babysitter: Enforce obedience on agentic workforces. Manage extremely complex workflows through deterministic,…

babysitter11d1.9k
@a5c-ai@a5c-aiInstall MCP

Questions about unbrowse.

Which coding agents can use unbrowse?
unbrowse works in any agent that reads an MCP config file: Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf. Each agent reads it from its own file; this page names the file for each one.
How do I add unbrowse to Claude Code?
Run these in order, one at a time. 1. In Claude Code: /plugin marketplace add unbrowse-ai/unbrowse 2. In Claude Code: /plugin install unbrowse@unbrowse