mcpField
S
spa-reader-mcp

spa-reader-mcp

ローカル
github.com/XXO47OXXブラウザ自動化132 週間前に更新

spa-reader-mcp について

spa-reader-mcpは、JavaScriptで描画されるシングルページアプリをレンダリングし、内容をMarkdownとして抽出します。通常のスクレイピングでは取得しにくいページの本文やスクリーンショットを扱うMCPクライアント向けです。

主な機能

  1. 01JavaScriptページのレンダリング
  2. 02Markdown形式でコンテンツを抽出
  3. 03PNGスクリーンショットの撮影
  4. 04CSSセレクターが現れるまで待機
  5. 05CookieとHTTPヘッダーの指定
  6. 06プライベートIPとループバックIPを遮断

活用シーン

  1. 01JavaScriptで描画されたページを読む
  2. 02ページ読み込み後にスクリーンショットを撮影
  3. 03指定したCookieやヘッダーでページにアクセス

MCP 対応

MCPサーバーは、PlaywrightとヘッドレスChromiumを使ったページ読み取り・スクリーンショットツールをMCPクライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"xxo47oxx-spa-reader": {
"command": "npx",
"args": [
"-y",
"spa-reader-mcp"
]
}
}
}
起動コマンドnpx -y spa-reader-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmspa-reader-mcp1.0.2

ツール

2

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
urlstringはい読み取る SPA ページの URL
cookiesarrayいいえページ読み込み前に注入する Cookie(例:セッショントークン)
headersobjectいいえカスタム HTTP ヘッダー(例:Authorization)
waitTimeoutnumberいいえナビゲーションのタイムアウト(ミリ秒、既定値:30000)
includeMetadatabooleanいいえタイトル/作者/抜粋を YAML frontmatter として含めます(既定値:true)
waitForSelectorstringいいえ抽出前に待機する CSS セレクター

詳細

spa-reader-mcp

CI npm version

JavaScript SPA ページをレンダリングし、ヘッドレス Chromium を使って Markdown を抽出する MCP サーバーです。

従来のスクレイパーは、コンテンツがクライアント側でレンダリングされるため、SPA では機能しません。このツールは Playwright を起動して JavaScript の実行完了を待った後、Readability + Turndown を使ってクリーンな Markdown を抽出します。

インストール

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

ツール

spa_read

ページをレンダリングし、コンテンツを Markdown として抽出します。

パラメーター型デフォルト説明
urlstring—読み取る URL(必須)
waitForSelectorstring—待機する CSS セレクター
waitTimeoutnumber30000タイムアウト(ミリ秒)
includeMetadatabooleantrueYAML フロントマターを追加
cookiesarray—認証用 Cookie
headersobject—カスタム HTTP ヘッダー
spa_screenshot

JavaScript のレンダリング後に PNG スクリーンショットをキャプチャします。

パラメーター型デフォルト説明
urlstring—キャプチャする URL(必須)
waitForSelectorstring—待機する CSS セレクター
waitTimeoutnumber30000タイムアウト(ミリ秒)
widthnumber1280ビューポートの幅
heightnumber720ビューポートの高さ
fullPagebooleanfalseページ全体をキャプチャ
cookiesarray—認証用 Cookie
headersobject—カスタム HTTP ヘッダー

セキュリティ

  • SSRF 保護:プライベート IP とループバック IP をブロックします
  • http: と https: スキームのみ許可します
  • セレクターインジェクションを防止します
  • コンテンツは 100KB までに制限されます

開発

pnpm install && pnpm build
pnpm test

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。