Unbrowse

io.github.unbrowse-aiv12.1.1Updated Sep 28, 2026

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

VerifiedStreamable HTTPWeb executableCloud & InfrastructureBrowser Automation

Installation

In SourceWeft

  1. Open Unbrowse in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "unbrowse": {
      "type": "http",
      "url": "https://unbrowse.ai/mcp"
    }
  }
}

README

Unbrowse

Call websites as APIs. 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 --skill unbrowse

Connect your agent:

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

Complete OAuth sign-in in your client. For the CLI or SDK, use the pinned hosted-client release in the installation guide; npm latest may still target the older service.

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 keyunbrowse discover <query>           your capabilities, then the public registryunbrowse run <task…> [--set k=v]    run a task; waits for a verified resultunbrowse resume <runId> k=v…        answer what the run asked for, on the same rununbrowse learn a.har b.har          compile two recordings into a capabilityunbrowse logins                     saved logins, maskedunbrowse 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_KEYconst 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 installbun test packages     # SDK route tests + CLI tests against a local stand-in APIbun run typecheckbun 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

Source: README.md at commit 28ebe7e

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v12.1.1LatestSep 28, 2026