Spa Reader Mcp

io.github.XXO47OXX由 GitHub 帳號 XXO47OXX 發布v1.0.2更新於 Oct 24, 2026

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

概覽

AI 產生的概覽

一個本機 MCP 伺服器,用無頭 Chromium 渲染 JavaScript 單頁應用程式,並向助理回傳乾淨的 Markdown 或 PNG 截圖。

可以做什麼
在無頭 Chromium 中渲染頁面,等待 JavaScript 或指定的 CSS 選擇器完成,再把內容擷取為 Markdown,可選擇附上 YAML frontmatter 中繼資料,並支援用 Cookie 或自訂請求標頭存取需登入的頁面。對渲染後的頁面擷取 PNG 截圖,可設定視窗尺寸與整頁模式。兩個工具都接受 URL、等待選擇器與逾時參數。
適用情境
當助理需要讀取或擷取 JavaScript 較重的單頁網站內容,而一般 HTTP 抓取只能得到空白或不完整 HTML 時適用,也包括透過 Cookie 或請求標頭提供登入狀態的頁面。
執行需求
透過 npx 以 stdio 在本機執行;需要 Node.js,並在本機安裝 Playwright 的 Chromium 瀏覽器(npx playwright install chromium)。僅限桌面端。未宣告帳號、API 金鑰或環境變數。
安裝前請注意
工具會從使用者本機存取任意 URL,因此內建的 SSRF 防護(阻擋私有與回送位址、僅允許 HTTP 與 HTTPS)很重要。用於驗證的 Cookie 與自訂請求標頭會送到目標網站,請注意不要暴露敏感工作階段憑證。渲染內容上限為 100KB。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Spa Reader Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

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

bash
npx playwright install chromium

Claude Desktop

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

Claude Code

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

Tools

spa_read

Render a page and extract content as Markdown.

ParameterTypeDefaultDescription
urlstring—URL to read (required)
waitForSelectorstring—CSS selector to wait for
waitTimeoutnumber30000Timeout in ms
includeMetadatabooleantrueAdd YAML frontmatter
cookiesarray—Cookies for auth
headersobject—Custom HTTP headers

spa_screenshot

Capture a PNG screenshot after JS rendering.

ParameterTypeDefaultDescription
urlstring—URL to capture (required)
waitForSelectorstring—CSS selector to wait for
waitTimeoutnumber30000Timeout in ms
widthnumber1280Viewport width
heightnumber720Viewport height
fullPagebooleanfalseFull page capture
cookiesarray—Cookies for auth
headersobject—Custom HTTP headers

Security

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

Dev

bash
pnpm install && pnpm buildpnpm test

License

MIT

來源:README.md,提交 2299c1c

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.2最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分