io.github.XXO47OXX/spa-reader-mcp
MCP Server that renders JavaScript SPA pages and extracts LLM-ready Markdown content
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
spa-reader-mcpclaude mcp add spa-reader-mcp -- npx -y spa-reader-mcp@1.0.2
{
"mcpServers": {
"spa-reader-mcp": {
"command": "npx",
"args": [
"-y",
"spa-reader-mcp@1.0.2"
]
}
}
}
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
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 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.
| Parameter | Type | Default | Description |
|---|---|---|---|
url | string | — | URL to read (required) |
waitForSelector | string | — | CSS selector to wait for |
waitTimeout | number | 30000 | Timeout in ms |
includeMetadata | boolean | true | Add YAML frontmatter |
cookies | array | — | Cookies for auth |
headers | object | — | Custom HTTP headers |
spa_screenshot
Capture a PNG screenshot after JS rendering.
| Parameter | Type | Default | Description |
|---|---|---|---|
url | string | — | URL to capture (required) |
waitForSelector | string | — | CSS selector to wait for |
waitTimeout | number | 30000 | Timeout in ms |
width | number | 1280 | Viewport width |
height | number | 720 | Viewport height |
fullPage | boolean | false | Full page capture |
cookies | array | — | Cookies for auth |
headers | object | — | Custom HTTP headers |
Security
- SSRF protection: blocks private/loopback IPs
- Only
http:andhttps:schemes allowed - Selector injection prevention
- Content capped at 100KB
Dev
pnpm install && pnpm build
pnpm test
License
MIT
الأسئلة الشائعة
ما هو io.github.XXO47OXX/spa-reader-mcp؟
MCP Server that renders JavaScript SPA pages and extracts LLM-ready Markdown content
كيف أثبّت io.github.XXO47OXX/spa-reader-mcp؟
يعمل على جهازك. في Claude Code: claude mcp add spa-reader-mcp -- npx -y spa-reader-mcp@1.0.2. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج io.github.XXO47OXX/spa-reader-mcp إلى مفتاح API؟
لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.
هل io.github.XXO47OXX/spa-reader-mcp مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون io.github.XXO47OXX/spa-reader-mcp؟
ينشره XXO47OXX. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.