Back to Browse

Spa Reader MCP Server

Developer ToolsLow Risk10.0MCP RegistryLocal
Free

Server data from the Official MCP Registry

MCP Server that renders JavaScript SPA pages and extracts LLM-ready Markdown content

About

MCP Server that renders JavaScript SPA pages and extracts LLM-ready Markdown content

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (2 strong, 3 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.

12 files analyzed · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

env_vars

Check that this permission is expected for this type of plugin.

file_system

Check that this permission is expected for this type of plugin.

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-xxo47oxx-spa-reader-mcp": {
      "args": [
        "-y",
        "spa-reader-mcp"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

spa-reader-mcp

CI npm version

MCP server that renders JavaScript SPA pages and extracts Markdown via headless Chromium.

Traditional scrapers fail on SPAs because content is rendered client-side. This tool launches Playwright, waits for JS to finish, then extracts clean Markdown using Readability + Turndown.

Install

npx playwright install chromium

Claude Desktop

{
  "mcpServers": {
    "spa-reader": {
      "command": "npx",
      "args": ["-y", "spa-reader-mcp"]
    }
  }
}

Claude Code

claude mcp add spa-reader -- npx -y spa-reader-mcp

Tools

spa_read

Render a page and extract content as Markdown.

ParameterTypeDefaultDescription
urlstringURL to read (required)
waitForSelectorstringCSS selector to wait for
waitTimeoutnumber30000Timeout in ms
includeMetadatabooleantrueAdd YAML frontmatter
cookiesarrayCookies for auth
headersobjectCustom HTTP headers

spa_screenshot

Capture a PNG screenshot after JS rendering.

ParameterTypeDefaultDescription
urlstringURL to capture (required)
waitForSelectorstringCSS selector to wait for
waitTimeoutnumber30000Timeout in ms
widthnumber1280Viewport width
heightnumber720Viewport height
fullPagebooleanfalseFull page capture
cookiesarrayCookies for auth
headersobjectCustom HTTP headers

Security

  • SSRF protection: blocks private/loopback IPs
  • Only http: and https: schemes allowed
  • Selector injection prevention
  • Content capped at 100KB

Dev

pnpm install && pnpm build
pnpm test

License

MIT

Reviews

No reviews yet

Be the first to review this server!

Spa Reader MCP Server - MCP Server that renders JavaScript SPA pages and extracts | MCP Marketplace