Search, scrape, crawl, and answer with sources.

From your own machine. A CLI and MCP server with one optional key: Jev.

Terminal

Your agent

curl --proto '=https' --tlsv1.2 -fsSL \
   https://webular.dev/install.sh
   | sh

Downloads the webular build that matches your machine (OS, CPU, and libc), checks it against SHA256SUMS, and puts it in ~/.webular/bin. View the script.

irm https://webular.dev/install.ps1 | iex

Checks the download against SHA256SUMS and puts it in $HOME\.webular\bin. View the script.

npm i -g webular

Installs only the native build for your OS, CPU, and libc.

First install webular with a Terminal tab. Then run:

claude mcp add webular -- webular mcp

If the script says to add ~/.webular/bin to your PATH, do that. Then open a new terminal and run webular doctor.

That search ran with no key.

Command samples

$ webular search "bun javascript runtime" --limit 2
1. Bun: Fast JavaScript runtime, bundler, transpiler and package manager
   https://github.com/Jarred-Sumner/bun
   https://news.ycombinator.com/item?id=31993622
2. Bun: Fast JavaScript runtime, transpiler, and NPM client written in Zig
   https://bun.sh/?launch
   https://news.ycombinator.com/item?id=31993429
$ webular scrape https://example.com
# Example Domain

This domain is for use in documentation examples without needing permission. This is not a service; avoid relying on it for testing and monitoring purposes.
$ webular summarize --text "Bun is a fast runtime. It runs TypeScript." --sentences 1 --json
{"figures":[],"picks":[{"end":22,"index":0,"source_url":null,"start":0,"text":"Bun is a fast runtime."}],"sentences":["Bun is a fast runtime."],"source_url":null,"summary":"Bun is a fast runtime."}

Add --json to any command for the same JSON shape every time.

Your machine, your data

  • No paid API. Every feature runs on open-source parts, on your machine, with no webular server in the middle.
  • Your searches go straight from your machine to DuckDuckGo, or to Wikipedia, Hacker News, or arXiv when you pick one. Jev calls go to TypeSafe only when you set a key.
  • One optional key. Jev makes the judgment calls sharper. Without it, each one uses a rule-based fallback.
  • Polite by default. It follows robots.txt unless you opt out for one page.

Give your agent the web

webular mcp serves 24 tools over stdio. Install webular first, so webular is on your PATH.

Your client

claude mcp add webular -- webular mcp
Install webular with `curl --proto '=https' --tlsv1.2 -fsSL https://webular.dev/install.sh | sh`. Ask me before you run it. Then add it as an MCP server that runs `webular mcp`. Read https://webular.dev/llms.txt first.
codex mcp add webular -- webular mcp

Put this in ~/.cursor/mcp.json:

{ "mcpServers": { "webular": { "command": "webular", "args": ["mcp"] } } }

Put this in .vscode/mcp.json:

{ "servers": { "webular": { "type": "stdio", "command": "webular", "args": ["mcp"] } } }

The plugin bundles an MCP server and four skills: research, interview, plain language, and Markdown. The plugin's own server runs with Bun and has the 19 command tools. webular mcp has those 19 plus five more, for 24.

Set up your client → See all 24 tools →

One tool, twenty commands

Find

search, map, feed
  • search: Searches the web with no key, or one keyless source.

    webular search "bun runtime" --source wikipedia
  • map: Finds all URLs for a domain.

    webular map https://example.com
  • feed: Reads an RSS 2.0 or Atom 1.0 feed and lists its items.

    webular feed https://hnrss.org/frontpage --limit 5

Read

scrape, crawl, batch, parse, media
  • scrape: Reads one URL as clean markdown or JSON.

    webular scrape https://example.com --json
  • crawl: Reads a site page by page on the same host.

    webular crawl https://example.com
  • batch: Scrapes many URLs at once.

    webular batch --help
  • parse: Turns local docs into markdown.

    webular parse --help
  • media: Downloads media; takes a screenshot or PDF in a real browser.

    webular media --help

Think

extract, summarize, answer, research
  • extract: Pulls fields with CSS selectors or a schema.

    webular extract --help
  • summarize: Picks the key sentences (no model).

    webular summarize --text "..." --sentences 1
  • answer: Answers from sources.

    webular answer --help
  • research: Runs a multi-step research loop and writes a cited markdown report.

    webular research "web scraping in 2026" --depth 3 -o report.md

Watch and act

monitor, act
  • monitor: Tracks changes to a URL over time.

    webular monitor --help
  • act: Drives a real browser.

    webular act --help

Tools and setup

doctor, mcp, tasks, diagram, audit, jev
  • doctor: Checks your setup and toolchain.

    webular doctor --json
  • mcp: Serves webular's features as an MCP server.

    webular mcp
  • tasks: Lists the mise task graph that defines the commands.

    webular tasks
  • diagram: Lists the XState machines that model the CLI flows.

    webular diagram
  • audit: Reports whether deepsec is there, plus a scan plan.

    webular audit
  • jev: Learns from recorded Jev calls, or labels one as an eval case.

    webular jev --help

Every command and flag →

No key needed

Every command runs with no key. Add a Jev key to make the judgment calls sharper.

Set TYPESAFE_API_KEY. On macOS, webular also reads the Keychain item typesafe-ai-api-key. WEBULAR_JEV=off turns Jev off.

macOS Keychain

security add-generic-password -a "$USER" -s typesafe-ai-api-key -w

bash or zsh, this shell only

read -rs TYPESAFE_API_KEY && export TYPESAFE_API_KEY

fish, PowerShell, cmd, and WSL →

How it compares

Five tools, in the committed peer run
ToolKey neededRunsPeer run
webularNone (Jev is optional)Your machineScored
ExaYesHosted API with its own search indexScored
FirecrawlYesHosted APIScored
TavilyYesHosted APINo scored calls; its calls had no recorded answers to grade
PerplexityYesHosted APINo scored calls; its calls were unsupported or had no recorded answers

In the peer run of Oct. 22, 2026, all three scored tools tied on search: webular, Exa, and Firecrawl each scored 1.000 on 4 tasks. A score of 1 means every answer was right. The task sets are small, so treat a difference as a sign, not as proof.

Where others lead: Exa, Brave, and Google run their own search indexes, and Exa reports citation precision, which this run does not measure. Brave and Google are not in this table.

Agent tests: 18 of 75 scored. Each one is one tool used by one AI agent model, across 3 models. The rest were skipped for lack of a key or an agent adapter.

Every score and the method →

Other ways to install

npm, Bun, or pnpm work on every supported system.

npm i -g webular
bun add -g webular
pnpm add -g webular

From source, with Bun:

git clone https://github.com/srinitude/webular.git
cd webular
bun install --frozen-lockfile
bun bin/webular.ts --help

Prebuilt for macOS (arm64, x64), Linux (x64 and arm64, glibc or musl), and Windows (x64, arm64). Anything else: run from source.

Pin a release:

curl --proto '=https' --tlsv1.2 -fsSL https://webular.dev/v0.3.0/install.sh | sh

Every channel, upgrade, and uninstall →

Docs

Every page here has a Markdown copy. Add .md to the address.

Check what you run

The install script checks the download against SHA256SUMS. Set WEBULAR_VERIFY_ATTESTATION=1 with gh installed to also check the build attestation.

webular mcp and the plugin run in agent mode. Agent mode blocks requests to your own network and keeps file writes inside one folder.

Found a flaw? Report it privately on GitHub.

Security details →

Install webular

Terminal

curl --proto '=https' --tlsv1.2 -fsSL \
   https://webular.dev/install.sh
   | sh

Downloads the webular build that matches your machine (OS, CPU, and libc), checks it against SHA256SUMS, and puts it in ~/.webular/bin. View the script.

irm https://webular.dev/install.ps1 | iex

Checks the download against SHA256SUMS and puts it in $HOME\.webular\bin. View the script.

npm i -g webular

Installs only the native build for your OS, CPU, and libc.

If the script says to add ~/.webular/bin to your PATH, do that. Then open a new terminal and run webular doctor.