spa-reader-mcp
spa-reader-mcp
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 chromiumClaude Desktop
{
"mcpServers": {
"spa-reader": {
"command": "npx",
"args": ["-y", "spa-reader-mcp"]
}
}
}Claude Code
claude mcp add spa-reader -- npx -y spa-reader-mcpTools
spa_read
Render a page and extract content as Markdown.
Parameter | Type | Default | Description |
| string | — | URL to read (required) |
| string | — | CSS selector to wait for |
| number | 30000 | Timeout in ms |
| boolean | true | Add YAML frontmatter |
| array | — | Cookies for auth |
| object | — | Custom HTTP headers |
spa_screenshot
Capture a PNG screenshot after JS rendering.
Parameter | Type | Default | Description |
| string | — | URL to capture (required) |
| string | — | CSS selector to wait for |
| number | 30000 | Timeout in ms |
| number | 1280 | Viewport width |
| number | 720 | Viewport height |
| boolean | false | Full page capture |
| array | — | Cookies for auth |
| object | — | Custom HTTP headers |
Security
SSRF protection: blocks private/loopback IPs
Only
http:andhttps:schemes allowedSelector injection prevention
Content capped at 100KB
Dev
pnpm install && pnpm build
pnpm testLicense
MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/XXO47OXX/spa-reader-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server