JS View logo

JS View

Renders JavaScript-heavy pages in Chromium and exposes content, screenshots, links, and network calls through MCP.

Install JS View

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": {
    "muxover-js-view": {
      "command": "npx",
      "args": [
        "-y",
        "@muxover/js-view@latest"
      ]
    }
  }
}

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

We couldn’t confirm it starts correctly

The install command installed and started the server, which then stopped for configuration (such as an API key) that our sandbox does not have — expected for servers that connect to your account.

npx -y @muxover/js-view@latest

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 2d ago.

Overview

JS-View MCP server loads JavaScript-heavy pages in headless Chromium, waits for page activity, and returns rendered content to an agent. Its MCP tools provide markdown, text, or HTML output, screenshots with optional OCR, page links, and XHR/fetch details. Agents can scroll, click, type, select page elements, reuse signed-in sessions, and inspect local development servers. Reach for it when a plain HTTP fetch cannot expose the content produced by client-side JavaScript.

Use cases

  • Read content from JavaScript-rendered pages
  • Inspect API calls made by a web page
  • Capture screenshots of local web apps
  • Reuse authenticated browser sessions
  • Extract links from rendered pages

Key features

  • Render pages as markdown, text, or HTML
  • Capture viewport, full-page, or element screenshots
  • Inspect XHR and fetch requests
  • Filter links by selector, text, or site
  • Reuse saved signed-in sessions
  • Run through stdio or a self-hosted HTTP service

Tools4

What JS View lets your agent do. Expand a tool for its parameters.

Self-reported~86 tokens of context

Security & health

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

ActiveLast checked 2d ago

Recent health check succeeded.

5/5 checks healthy over the last 19d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 1d ago via OSV.dev · @muxover/js-view@latest (npm)

Adoption & maintenance

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

npm downloads21Package downloads in the last 30 days.
Last commit1mo agoMost recent push to the default branch.
Install checkRunsOur sandbox started it; it then asked for an API key or config.
Tools exposed4Callable tools this server registers over MCP.

How JS View works

What JS-View does

JS-View MCP server renders pages in a real browser so agents can inspect content that appears only after JavaScript runs. It supports single-page applications, infinite-scroll feeds, and pages that reveal more content through a load-more control. Results can be returned as markdown, text, or HTML, with optional selection of a specific page region.

The server also reports when a page did not render normally. Outcomes can identify empty pages, bot checks, login requirements, and HTTP errors, along with notes about what happened. Content is limited to 30,000 characters by default and can be cut at a configured length while reporting the full length.

For the 📂 Browser Automation category, JS-View is suited to agent workflows that need rendered page reading rather than static downloads. It can also expose the browser’s network activity when an agent needs to understand how a page retrieves data.

How it works

The JS-View MCP server runs over stdio and launches Playwright’s Chromium when available. If Playwright’s browser is not installed, it can use Chrome or Edge already installed on the machine. The browser remains warm between tool calls, and the CLI and MCP server can read local development servers.

Every MCP tool accepts a URL and controls such as wait_for, wait_until, scroll, click, type, session, proxy, and timeout_ms. A saved session can preserve authentication: sign in through the login command, then pass the session name to later operations. Sessions are stored under ~/.js-view/sessions by default.

Setup and configuration

Node.js 22 or newer is required. The MCP server can be started with npx -y @muxover/js-view@latest mcp, or installed through the documented Claude Code, Codex, or Cursor setup paths. Other MCP clients can use the same stdio command. If no supported browser is available, run the package’s install command to download Playwright’s Chromium.

The CLI can render a URL directly, open a login session, start the MCP server, run the HTTP service, or start a queue worker. Configuration includes browser selection, headful mode, stealth behavior, proxy routing, session storage, and private-host blocking. The HTTP service listens on port 8080 by default; Redis-backed queue workers require REDIS_URL.

Tools and capabilities

The JS-View MCP server exposes four tools:

  • render returns rendered markdown, text, or HTML. It supports selectors, raw output, scrolling, clicks, typing, waits, and a configurable character limit.
  • screenshot captures the viewport, full page, or one element as JPEG, with optional OCR text.
  • links lists page links and anchor text, with filtering by selector, text substring, or same-site status.
  • network lists XHR and fetch requests with method, status, content type, and a body preview.

The standalone HTTP service provides POST /render, GET /health, GET /sessions, and DELETE /sessions/:id. It can run renders in process or distribute them through Redis-backed workers. The service also supports screenshots, OCR, network capture, sessions, proxies, and actions such as scrolling, clicking, typing, waiting, and navigation.

Limitations and notes

Browser rendering can take longer than a static fetch, and the default render timeout is 15 seconds. Pages behind bot checks or login walls may return a non-ok outcome instead of usable content. Long pages are truncated unless the character limit is increased. The HTTP service blocks private hosts by default, while the CLI and MCP server support local development servers. The project is licensed under MIT.

Reviews

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

Frequently Asked Questions about JS View

JS-View is an MCP server that connects AI agents to JavaScript-rendered web pages through a real browser. Its main tools render page content as markdown, text, or HTML; capture screenshots with optional OCR; list links; and inspect XHR or fetch network calls. It can also reuse saved signed-in sessions.

Install it by running `npx -y @muxover/js-view@latest mcp` from an MCP client configuration. Node.js 22 or newer is required. If no browser is available, run `npx -y @muxover/js-view install` to download Playwright’s Chromium.

Yes, JS-View works with Cursor through the documented one-click MCP installation link. You can also configure the stdio server manually and install its skill with `npx skills add muxover/js-view`.

Use `npx -y @muxover/js-view login <url> --session <name>` to sign in through a real browser window, then pass that session name to an MCP tool or the CLI. Sessions are saved in `~/.js-view/sessions` and updated after renders.

Use the `network` MCP tool or the CLI’s `--network` option. JS-View reports XHR and fetch calls with their method, status, content type, and a preview of the response body.

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 PreviewJS View AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/muxover-js-view?style=directory)](https://allmcps.com/mcp/muxover-js-view)
HTML Embed
<a href="https://allmcps.com/mcp/muxover-js-view"><img src="https://allmcps.com/api/badge/muxover-js-view?style=directory" alt="JS View on AllMCPs" /></a>