WebEmbedding logo

WebEmbedding

Clones web pages from URLs using browser capture, source reuse, bounded rebuilds, and responsive fidelity checks.

Install WebEmbedding

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "webembedding": {
      "command": "npx",
      "args": [
        "-y",
        "web-embedding@latest"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

webEmbedding turns a URL into a verified local clone for Claude Code, Codex, Cursor, and other MCP clients. It inspects the page, prefers reusable embeds or source routes, and otherwise captures browser evidence with Playwright before generating an offline HTML snapshot or bounded frontend rebuild. Verification compares screenshots, DOM, computed styles, interactions, and desktop, tablet, and mobile breakpoints. Reach for it when you need a reproducible clone of a public or semi-static page rather than a copy of its backend behavior.

Use cases

  • Clone a public landing page into a local directory
  • Capture an iframe-blocked page for offline reconstruction
  • Verify a clone across desktop, tablet, and mobile breakpoints
  • Replay captured network evidence during reconstruction

Key features

  • Source-first URL routing
  • Playwright-based browser capture
  • Offline HTML snapshots and bounded rebuilds
  • HAR and network evidence replay
  • Responsive and interaction fidelity verification
  • Filesystem-backed clone job processing

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

10/10 checks healthy over the last 57d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 12d ago via OSV.dev · web-embedding@latest (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars8Stargazers on the source repository.
npm downloads771Package downloads in the last 30 days.
Last commit11d agoMost recent push to the default branch.

How WebEmbedding works

What webEmbedding does

webEmbedding provides URL-based website capture and reconstruction through a Skill, command-line interface, and MCP server. Given a page address, it determines whether the page can be reused directly, whether an original preview or export route is available, or whether reconstruction is required. The output can be an exact reuse result, a self-contained offline HTML snapshot, or a bounded rebuild based on captured evidence.

The capture process can preserve runtime HTML, document structure, custom tags, shadow-root host structure, styles, assets, interaction states, and network metadata. Reconstructed pages can include inlined CSS, localized fonts, and images. Results also identify which parts were captured directly and which parts were inferred or unavailable.

How it works

Local runs use Playwright through playwright-core to open the target page and collect browser evidence. The pipeline can record a DOM snapshot, full-page screenshot, computed-style summaries, CSS analysis, asset inventory, interaction traces, storage state, and HAR-like network information. HAR artifacts can later be checked for replay readiness and replayed deterministically.

Routing favors direct iframe or embed reuse when safe and frameable. Pages blocked by X-Frame-Options or content security policy can be rebuilt from their captured evidence instead. A bounded repair pass can run when the first generated scaffold does not meet the readiness threshold.

Self-verification checks screenshot similarity, DOM similarity, computed styles, hover, focus, and click states, plus interaction traces. Reports cover the default desktop profile of 1440x1200, tablet at 768x1024, and mobile at 390x844.

Setup and configuration

The local package requires Node.js 18 or newer, Python 3.9 or newer, and a locally available Chrome or Chromium browser. Because it uses playwright-core, installing the package does not download a browser.

Install the package globally with npm install -g web-embedding, then run web-embedding install and web-embedding doctor. A one-off setup is also available through npx web-embedding install. The MCP stdio command is npx -y web-embedding@latest mcp; clients that launch npm-based stdio servers can configure that command with no additional service.

For a local clone, provide a URL, output directory, wait and timeout values, and optional breakpoint profiles to web-embedding clone. The package also includes a filesystem-backed asynchronous job queue with durable records, worker locks, retries, cancellation, and manifest annotations.

A hosted Apps SDK intake endpoint supports read-only URL inspection, embed candidate discovery, clone-mode classification, and embed snippet generation. Browser capture, HAR replay, queues, rebuilds, and verification remain local operations.

Tools and capabilities

  • Inspect URLs and classify direct reuse, source reuse, or rebuild routes.
  • Capture live pages, assets, styles, runtime HTML, screenshots, and network evidence.
  • Reconstruct pages when framing is blocked by browser policies.
  • Replay standard HAR, near-HAR, and captured network manifest artifacts.
  • Run authenticated dashboard captures with user-owned browser state supplied through a storage-state path or user-data directory.
  • Compare clones across responsive breakpoints and interaction states.
  • Report typed conditions such as missing authentication, limited network replay, public app gates, and canvas-based visual fallback.

Limitations and notes

The strongest use cases are static and semi-static company, brand, marketing, documentation, and public landing pages. The result is not a backend or application-logic clone. Login-only screens, native-app-required services, captcha-heavy sites, maps, games, canvas or WebGL-heavy pages, real-time feeds, payments, booking flows, and private server behavior require separate handling.

Authenticated runs depend on user-provided browser state. A page script may also calculate layouts differently at an uncaptured viewport; responsive output can therefore drift, including at tablet widths. The hosted endpoint does not run Playwright, access local files or browser profiles, or persist capture artifacts.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about WebEmbedding

webEmbedding is an MCP server that connects AI coding agents to live web pages through URL inspection, browser capture, cloning, rebuild, HAR replay, and fidelity verification tools. It favors direct reuse when possible and can produce a local HTML snapshot or bounded rebuild when embedding the source is blocked.

Install it with `npm install -g web-embedding`, then run `web-embedding install` and `web-embedding doctor`. For a client using npm-based stdio servers, configure `npx -y web-embedding@latest mcp` as the command.

Yes, webEmbedding can be used with Cursor as an MCP client. Configure Cursor to launch the local stdio command `npx -y web-embedding@latest mcp`, then provide a URL and clone instructions.

webEmbedding requires Chrome or Chromium to be available locally for Playwright capture. The package uses `playwright-core`, so installation does not download a browser automatically.

It can drive authenticated dashboard captures when you provide user-owned browser state through a storage-state path or user-data directory. Login-only screens and private server behavior still require separate handling because the system focuses on captured frontend evidence.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewWebEmbedding AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/webembedding?style=directory)](https://allmcps.com/mcp/webembedding)
HTML Embed
<a href="https://allmcps.com/mcp/webembedding"><img src="https://allmcps.com/api/badge/webembedding?style=directory" alt="WebEmbedding on AllMCPs" /></a>