A Fast Website Reader MCP について
@just-every/mcp-read-website-fast は、Web ページをローカルで取得し、リンクを残したままクリーンな Markdown に変換する MCP サーバーです。Claude Code、IDE、LLM パイプラインでの利用を想定しており、トークン消費を抑えてページ全体を一度に読めることを目指しています。
主な機能
- 01ローカルでのページ取得と Markdown への変換
- 02Mozilla Readability による本文抽出
- 03SHA-256 ハッシュ化 URL によるキャッシュ
- 04robots.txt への対応とレート制限
- 05深さを設定可能な並行クロール
- 06ナレッジグラフ向けのリンク保持
活用シーン
- 01Claude Code 内でドキュメントや記事ページを読む
- 02LLM パイプライン向けに低トークンの Web コンテンツを用意する
- 03サイトをローカルでクロールし Markdown として書き出す
MCP 対応
本プロジェクトは MCP サーバーであり、MCP クライアントに read_website ツールと、キャッシュ状態の取得およびキャッシュ削除のリソースを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
8掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| actions | array | いいえ | スクレイピング前に実行するアクションのリスト |
| excludeTags | array | いいえ | 抽出対象から除外する HTML タグ |
| extract | object | いいえ | 構造化データ抽出の設定 |
| extract.prompt | string | いいえ | LLM 抽出用のユーザープロンプト |
| extract.schema | object | いいえ | 構造化データ抽出用のスキーマ |
| extract.systemPrompt | string | いいえ | LLM 抽出用のシステムプロンプト |
| formats | array | いいえ | 抽出するコンテンツ形式(デフォルト:['markdown']) |
| includeTags | array | いいえ | 抽出対象に明示的に含める HTML タグ |
| location | object | いいえ | スクレイピングの地域設定 |
| location.country | string | いいえ | ジオロケーション用の国コード |
| location.languages | array | いいえ | コンテンツの言語コード |
| mobile | boolean | いいえ | モバイルビューポートを使用 |
| onlyMainContent | boolean | いいえ | ナビゲーションやフッターなどを除外し、メインコンテンツのみを抽出します。 |
| removeBase64Images | boolean | いいえ | 出力から Base64 エンコードされた画像を削除する |
| skipTlsVerification | boolean | いいえ | TLS 証明書の検証をスキップする |
| timeout | number | いいえ | ページの読み込みを待機する最大時間(ミリ秒) |
| url | string | はい | スクレイピングする URL |
| waitFor | number | いいえ | 動的コンテンツの読み込みを待機する時間(ミリ秒) |
詳細
@just-every/mcp-read-website-fast
AI エージェント向けの高速でトークン効率に優れたウェブコンテンツ抽出ツール。ウェブサイトをクリーンな Markdown に変換します。
概要
既存の MCP ウェブクローラーは動作が遅く、大量のトークンを消費します。その結果、開発プロセスが滞り、LLM がウェブページ全体を解析する必要があるため、不完全な結果しか得られません。
この MCP パッケージはウェブページをローカルで取得し、不要な情報を取り除いて、リンクを保持しながらコンテンツをクリーンな Markdown に変換します。トークンの使用量を最小限に抑え、Claude Code、IDE、LLM パイプライン向けに設計されています。依存関係を最小限に抑え、サイトをローカルでクロールできます。
注: このパッケージは現在、コアのクロールおよび Markdown 変換機能に @just-every/crawl を使用しています。
特長
- 高速な起動:最適なパフォーマンスを実現する遅延読み込みを備えた公式 MCP SDK を使用
- コンテンツ抽出:Mozilla Readability を使用(Firefox のリーダービューと同じ)
- HTML から Markdown への変換:Turndown と GFM に対応
- スマートキャッシュ:SHA-256 でハッシュ化した URL を使用
- 配慮のあるクロール:robots.txt に対応し、レート制限を実施
- 並行取得:クロール深度を設定可能
- ストリーム優先の設計:メモリー使用量を抑制
- リンクの保持:ナレッジグラフ向け
- 任意のチャンク分割:後続処理向け
インストール
Claude Code
claude mcp add read-website-fast -s user -- npx -y @just-every/mcp-read-website-fast
VS Code
code --add-mcp '{"name":"read-website-fast","command":"npx","args":["-y","@just-every/mcp-read-website-fast"]}'
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=read-website-fast&config=eyJyZWFkLXdlYnNpdGUtZmFzdCI6eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBqdXN0LWV2ZXJ5L21jcC1yZWFkLXdlYnNpdGUtZmFzdCJdfX0=
JetBrains IDE
設定 → ツール → AI Assistant → Model Context Protocol(MCP)→ 追加
「As JSON」を選択して、次の内容を貼り付けます。
{"command":"npx","args":["-y","@just-every/mcp-read-website-fast"]}
または、チャットウィンドウで「/add」と入力し、同じ JSON を入力してください。どちらの方法でも、サーバーを 1 回の手順で追加できます。 
生の JSON(任意の MCP クライアントで使用可能)
{
"mcpServers": {
"read-website-fast": {
"command": "npx",
"args": ["-y", "@just-every/mcp-read-website-fast"]
}
}
}
この内容をクライアントの mcp.json(例:.vscode/mcp.json、~/.cursor/mcp.json、または Claude 用の .mcp.json)に追加します。
特長
- 高速な起動:最適なパフォーマンスを実現する遅延読み込みを備えた公式 MCP SDK を使用
- コンテンツ抽出:Mozilla Readability を使用(Firefox のリーダービューと同じ)
- HTML から Markdown への変換:Turndown と GFM に対応
- スマートキャッシュ:SHA-256 でハッシュ化した URL を使用
- 配慮のあるクロール:robots.txt に対応し、レート制限を実施
- 並行取得:クロール深度を設定可能
- ストリーム優先の設計:メモリー使用量を抑制
- リンクの保持:ナレッジグラフ向け
- 任意のチャンク分割:後続処理向け
利用可能なツール
read_website- ウェブページを取得してクリーンな Markdown に変換します- パラメーター:
url(必須):取得する HTTP/HTTPS URLpages(任意):クロールするページの最大数(デフォルト:1、最大:100)
- パラメーター:
利用可能なリソース
read-website-fast://status- キャッシュの統計情報を取得しますread-website-fast://clear-cache- キャッシュディレクトリをクリアします
開発時の使い方
インストール
npm install
npm run build
単一ページの取得
npm run dev fetch https://example.com/article
深度を指定したクロール
npm run dev fetch https://example.com --depth 2 --concurrency 5
出力形式
# Markdown only (default)
npm run dev fetch https://example.com
# JSON output with metadata
npm run dev fetch https://example.com --output json
# Both URL and markdown
npm run dev fetch https://example.com --output both
CLI オプション
-p, --pages <number>- クロールするページの最大数(デフォルト:1)-c, --concurrency <number>- 同時リクエストの最大数(デフォルト:3)--no-robots- robots.txt を無視します--all-origins- クロスオリジンのクロールを許可します-u, --user-agent <string>- カスタムユーザーエージェント--cache-dir <path>- キャッシュディレクトリ(デフォルト:.cache)-t, --timeout <ms>- リクエストのタイムアウト(ミリ秒、デフォルト:30000)-o, --output <format>- 出力形式:json、markdown、または both(デフォルト:markdown)
キャッシュのクリア
npm run dev clear-cache
自動再起動機能
MCP サーバーには、信頼性を高めるための自動再起動機能がデフォルトで備わっています。
- サーバーがクラッシュすると自動的に再起動します
- 未処理の例外と Promise の拒否を処理します
- 指数バックオフを実装しています(1 分間に最大 10 回試行)
- 監視用にすべての再起動試行を記録します
- シャットダウンシグナル(SIGINT、SIGTERM)を適切に処理します
自動再起動を無効にして開発・デバッグする場合:
# Run directly without restart wrapper
npm run serve:dev
アーキテクチャ
mcp/
├── src/
│ ├── crawler/ # URL fetching, queue management, robots.txt
│ ├── parser/ # DOM parsing, Readability, Turndown conversion
│ ├── cache/ # Disk-based caching with SHA-256 keys
│ ├── utils/ # Logger, chunker utilities
│ ├── index.ts # CLI entry point
│ ├── serve.ts # MCP server entry point
│ └── serve-restart.ts # Auto-restart wrapper
開発
# Run in development mode
npm run dev fetch https://example.com
# Build for production
npm run build
# Run tests
npm test
# Type checking
npm run typecheck
# Linting
npm run lint
コントリビューション
コントリビューションを歓迎します。以下の手順でお願いします。
- リポジトリをフォークします
- フィーチャーブランチを作成します
- 新しい機能のテストを追加します
- プルリクエストを送信します
トラブルシューティング
キャッシュの問題
npm run dev clear-cache
タイムアウトエラー
-tフラグでタイムアウトを延長します- ネットワーク接続を確認します
- URL にアクセスできることを確認します
コンテンツが抽出されない
- 自動アクセスをブロックするサイトもあります
-uフラグでカスタムユーザーエージェントを試します- サイトで JavaScript が必要かどうかを確認します(サポートされていません)
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。