spa-reader-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPA_READER_ALLOW_PRIVATE | No | Set to 1 to allow private IPs (for local development/testing only) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| spa_readB | Render a JavaScript SPA page and extract its content as LLM-ready Markdown. Uses a headless browser to execute JavaScript, then extracts the main article content. |
| spa_screenshotB | Take a screenshot of a JavaScript SPA page after rendering. Uses a headless browser to execute JavaScript and capture the visual output as PNG. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: spa_read extracts textual content as Markdown for LLM processing, while spa_screenshot captures visual output as PNG for screenshots. There is no overlap in functionality or ambiguity about which tool to use for a given task.
Both tools follow a consistent 'spa_' prefix pattern with descriptive suffixes (read, screenshot), indicating they belong to the same domain and operate on SPA pages. The naming is uniform, predictable, and clearly communicates each tool's function.
With only 2 tools, the server feels thin for a general-purpose SPA reader domain, as it lacks operations like navigation, interaction simulation, or performance monitoring. However, it covers the core tasks of content extraction and screenshot capture adequately for basic use.
The tools provide essential read-only capabilities for SPAs (extracting content and screenshots), but there are notable gaps: no ability to interact with pages (e.g., click buttons, fill forms), navigate beyond initial URLs, or handle dynamic content beyond rendering. This limits advanced agent workflows.