Prototype · This site is a prototype showing 100 real servers from the official registry, not all of them yet.
PopNx MCPMCP servers for people who use AI · explained in plain words

webclaw

by 0xMassiversion 0.7.1i★ 2,430iComputer or cloud
Registry nameio.github.0xMassi/webclaw

Overview

Description from the maker (original English)

Web scraping, search, crawling, structured extraction and research for AI agents.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Computer or cloud
  • Transport: stdio, Streamable HTTP
  • Category: Web & browsers
  • You need to fill in: WEBCLAW_API_KEY

Install

Pick the AI app you use, then copy the settings.

You need

  • Runs in the cloudNothing to install; it connects over the internet
  • npmNode.js installed (for the npx command)

Open Claude Desktop → Settings → Connectors → Add custom connector, and paste this address

https://api.webclaw.io/mcp

Runs on your computer

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "webclaw": {
      "command": "npx",
      "args": [
        "-y",
        "@webclaw/mcp"
      ],
      "env": {
        "WEBCLAW_API_KEY": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add --transport http webclaw https://api.webclaw.io/mcp

Runs on your computer

Run this in your terminal

claude mcp add webclaw --env WEBCLAW_API_KEY=your-value -- npx -y @webclaw/mcp

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "webclaw": {
      "url": "https://api.webclaw.io/mcp"
    }
  }
}

Runs on your computer

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "webclaw": {
      "command": "npx",
      "args": [
        "-y",
        "@webclaw/mcp"
      ],
      "env": {
        "WEBCLAW_API_KEY": "your-value"
      }
    }
  }
}

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "webclaw": {
      "type": "http",
      "url": "https://api.webclaw.io/mcp"
    }
  }
}

Runs on your computer

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "webclaw": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@webclaw/mcp"
      ],
      "env": {
        "WEBCLAW_API_KEY": "your-value"
      }
    }
  }
}

Values you fill in

  • WEBCLAW_API_KEY secret env
    Optional Webclaw API key. Enables cloud fallback for bot-protected and JavaScript-heavy pages.

Values marked secret are keys to your account. Never share them or paste them into a chat.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 5, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account 0xMassi, which owns the repo

  • ✓ Pass

    Still maintained

    Code last changed yesterday

  • ✓ Pass

    Has a licence

    Uses AGPL-3.0

  • ✓ Pass

    Endpoint responds

    Responded in 699 ms (HTTP 401)

  • ✓ Pass

    Sign-in with OAuth

    Declares OAuth sign-in, so your AI app can take you to log in

  • … Not checked yet

    No hidden instructions in tool descriptions

    Needs the server’s tool list first; this check starts in the next step

Compared with others in Web & browsersi

  • More stars than 44% of the other 9 servers in this category
  • Published to the registry more recently than 78% of the other 9 servers in this category
  • Basic checks equal to or better than 100% of the other 9 servers in this category

Compared only with servers in this prototype, not the whole registry.

Common questions

Is webclaw safe?

It passed 5 of 5 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: WEBCLAW_API_KEY

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed yesterday, and the latest version (0.7.1) reached the registry 2 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Browser Use, Chrome DevTools MCP, MCP Server Browser

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Browser Use

by browser-use

Lets AI do web tasks for you, such as filling forms, searching and extracting data, in the maker’s cloud browsers or on your computer.

Computer or cloud★ 120,087MITUpdated 15 days ago

Chrome DevTools MCP

by ChromeDevTools

Lets AI use Chrome’s developer tools to inspect pages, find what makes them slow and spot errors. Made by the Chrome DevTools team.

Runs on your computer★ 54,821Apache-2.0Updated 14 days ago

MCP Server Browser

by bytedance

MCP server for browser use access

Runs on your computer★ 39,550Apache-2.0Updated 14 months ago

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

English | 简体中文

webclaw

Turn websites into clean markdown, JSON, and LLM-ready context.

CLI, MCP server, REST API, and SDKs for AI agents and RAG pipelines.


Most web scraping tools give your agent one of two bad outputs:

  • a blocked page, login wall, or empty app shell
  • raw HTML full of nav, scripts, styling, ads, and duplicated boilerplate

webclaw.io is the hosted web extraction API for webclaw. This repo contains the open-source CLI, MCP server, extraction engine, and self-hostable server.

webclaw turns a URL into clean content your tools can actually use.

webclaw https://example.com --format markdown
# Example Domain

This domain is for use in illustrative examples in documents.

You may use this domain in literature without prior coordination or asking for permission.

Use it from the terminal, wire it into Claude/Cursor through MCP, call the hosted API from your app, or self-host the OSS server.


Install

Agent setup

The fastest way to connect webclaw to Claude Code, Claude Desktop, Cursor, Windsurf, OpenCode, Codex CLI, and other MCP-compatible tools:

npx create-webclaw

The installer detects supported clients and configures the MCP server for you.

Homebrew
brew tap 0xMassi/webclaw

brew install webclaw

Prebuilt binaries

Download macOS, Linux, and Windows binaries from GitHub Releases.

Windows (x64)

The prebuilt ZIP is the easiest installation and does not require Rust. On the v0.6.22 release page, download webclaw-v0.6.22-x86_64-pc-windows-msvc.zip. Extract it in File Explorer, open PowerShell in the extracted folder containing webclaw.exe, and run:

.\webclaw.exe --version

.\webclaw.exe https://example.com --format markdown

PowerShell requires the .\ prefix for programs in the current directory. Add that directory to your user PATH only if you want to run webclaw from other folders. If Windows reports a missing Visual C++ runtime DLL, install the Microsoft Visual C++ Redistributable for x64. The ZIP contains x64 binaries; Windows ARM64 is not covered by the native installation check.

To build from source on Windows, install Rust with the x86_64-pc-windows-msvc toolchain, Visual Studio Build Tools with Desktop development with C++ and the Windows SDK, Git, CMake 3.22 or newer, LLVM (including libclang.dll), and NASM. Open a fresh Developer PowerShell for Visual Studio after installation. Ensure CMake and NASM are on PATH and set LIBCLANG_PATH to your LLVM bin directory if bindgen cannot find it, for example:

$env:LIBCLANG_PATH = "C:\Program Files\LLVM\bin"

cargo install --git https://github.com/0xMassi/webclaw.git --tag v0.6.22 --locked webclaw-cli webclaw --version

The Cargo package is webclaw-cli; the executable is webclaw. These packages are installed from Git, not crates.io. A first source build can take several minutes. The Windows CI workflow checks the Git installation and published ZIP on a hosted runner with preinstalled build tools; it does not model a clean PC. Linux containers, including Docker on macOS, do not validate Windows support.

Docker
docker run --rm ghcr.io/0xmassi/webclaw https://example.com
Cargo
cargo install --git https://github.com/0xMassi/webclaw.git --tag v0.6.22 --locked webclaw-cli

cargo install --git https://github.com/0xMassi/webclaw.git --tag v0.6.22 --locked webclaw-mcp

If building from source fails because native build tools are missing, install the platform prerequisites:

OSCommand
Debian / Ubuntusudo apt install -y pkg-config libssl-dev cmake clang git build-essential
Fedora / RHELsudo dnf install -y pkg-config openssl-devel cmake clang git make gcc
Archsudo pacman -S pkg-config openssl cmake clang git base-devel
macOSxcode-select --install
Python

The python/ directory builds a Python package that bundles the webclaw binary and calls it from Python: scrape, select, tables, find_text, similar, crawl, map and screenshot, with no API key and no Python dependencies.

cd python && uv build --wheel && pip install dist/webclaw_cli-*.whl
import webclaw_cli as wc

md = wc.scrape("https://example.com", "llm") titles = wc.select("https://books.toscrape.com", css="h3 a::attr(title)") for page in wc.crawl("https://quotes.toscrape.com", max_pages=10): print(page["url"])

See python/README.md for every function and option.


Quick Start

Scrape one page
webclaw https://stripe.com --format markdown
Return LLM-optimized text
webclaw https://docs.anthropic.com --format llm
Keep only the main content
webclaw https://example.com/blog/post --only-main-content
Include or exclude selectors
webclaw https://example.com \

--include "article, main, .content" \ --exclude "nav, footer, .sidebar, .ad"

Pick values with CSS selectors or XPath
webclaw https://books.toscrape.com --select "h3 a::attr(href)"

webclaw https://books.toscrape.com --select "article.product_pod" \ --field "title=h3 a::attr(title)" --field price=.price_color

--select prints a JSON array of what the selector matches: each element's text, or an attribute or the element's HTML when the selector ends in ::attr(NAME) or ::html. Links in href and src come back absolute. With --field NAME=SELECTOR, each match becomes a JSON object whose fields run inside it, taking the first value or null. Pages that need JavaScript render first, as with extraction.

webclaw https://books.toscrape.com --xpath "//li[@class='next']/a/@href"

webclaw https://books.toscrape.com --xpath "//article[@class='product_pod']" \ --field "title=.//h3/a/@title" --field "price=.//p[@class='price_color']"

--xpath takes an XPath 1.0 expression instead, over the same parsed page: elements and text nodes give their text, attributes their value, and count() or string() style expressions one value. With --xpath, each --field is an expression evaluated from the match, so it usually starts with .. The MCP select tool takes xpath in place of selector.

Data tables as JSON
webclaw "https://en.wikipedia.org/wiki/List_of_S%26P_500_companies" --tables

--tables prints the page's data tables as a JSON array, each with its caption (when it has one), headers and rows of cell text. A cell that spans several rows or columns repeats its text in each one, so every row has one value per column. Stacked header rows are joined per column with / , as in Population / % of world. The MCP select tool takes tables: true in place of a selector.

Header rows are the rows of and the leading rows made only of ; a leading row that is one cell across the whole table becomes the caption. These tables are skipped as page layout:

  • tables marked role="presentation" or role="none";
  • tables with fewer than two columns of text;
  • tables without a header row that have a single body row, wrap another table, hold only links, or hold paragraphs, lists or other blocks in a row of more than one cell.

Text hidden with hidden, an inline display:none or is left out. Text hidden by a stylesheet is kept, because pages are not styled. A cell keeps its first 64 KB of text, and a very large table is cut short with "truncated": true. Once the tables on a page reach 64 MB, the tables after that are left out.

Find elements by text, or everything like one example
webclaw https://books.toscrape.com --find-text "tipping the"

webclaw https://books.toscrape.com --find-regex '^£5\d\.\d\d$' webclaw https://books.toscrape.com --find-text "Tipping the Velvet" --similar

--find-text prints the elements in the page body whose visible text contains the text, any case, as {"selector", "text"} objects. Each match is the deepest element holding the text, so text split by inline tags still matches, and its selector is the element's path from the nearest ancestor with a unique id, or from the root. That path picks the element alone, except on pages nested more than 64 levels deep with no such id, where it keeps only the last 64 steps and can pick more. --exact matches the whole text, --case-sensitive matches letter case, and --find-regex takes a regular expression instead.

--similar takes the first element that --find-text, --find-regex, --select or --xpath picks as an example and returns every element like it on the page, such as the other items of a list, grid or table, with one CSS selector that picks them all. When the example selector ends in ::attr(NAME) or ::text, or the XPath picks a text or attribute node, the element holding it is the example:

{

"selector": "article.product_pod > h3 > a", "matches": [ { "selector": "html > body > ... > li:nth-of-type(1) > article > h3 > a", "text": "A Light in the ..." }, ... ] }

Reuse the selector with --select, or add --field to get records straight away; with --similar the fields are CSS and the output is {"selector", "records"}. Pick the item itself as the example (for instance --select "article.product_pod" --similar) when the fields live inside it. The MCP select tool takes text or regex (with exact and case_sensitive) and similar the same way. One call takes one picker: --select, --xpath, --tables, --find-text or --find-regex (in MCP: selector, xpath, tables, text or regex), and --similar and --field do not apply to tables.

Keep only what answers a question
webclaw "https://en.wikipedia.org/wiki/Rust_(programming_l

Only the beginning is shown; read the rest in the repo

Ask PopNx