mcpField
A
A Fast Website Reader MCP

A Fast Website Reader MCP

ローカル
github.com/just-everyブラウザ自動化1634 週間前に更新

A Fast Website Reader MCP について

@just-every/mcp-read-website-fast は、Web ページをローカルで取得し、リンクを残したままクリーンな Markdown に変換する MCP サーバーです。Claude Code、IDE、LLM パイプラインでの利用を想定しており、トークン消費を抑えてページ全体を一度に読めることを目指しています。

主な機能

  1. 01ローカルでのページ取得と Markdown への変換
  2. 02Mozilla Readability による本文抽出
  3. 03SHA-256 ハッシュ化 URL によるキャッシュ
  4. 04robots.txt への対応とレート制限
  5. 05深さを設定可能な並行クロール
  6. 06ナレッジグラフ向けのリンク保持

活用シーン

  1. 01Claude Code 内でドキュメントや記事ページを読む
  2. 02LLM パイプライン向けに低トークンの Web コンテンツを用意する
  3. 03サイトをローカルでクロールし Markdown として書き出す

MCP 対応

本プロジェクトは MCP サーバーであり、MCP クライアントに read_website ツールと、キャッシュ状態の取得およびキャッシュ削除のリソースを公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"read-website-fast": {
"command": "npx",
"args": [
"-y",
"github:just-every/mcp-read-website-fast"
]
}
}
}
起動コマンドnpx -y github:just-every/mcp-read-website-fast

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

パッケージ
npmgithub:just-every/mcp-read-website-fast

ツール

8

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

パラメーター型必須説明
actionsarrayいいえスクレイピング前に実行するアクションのリスト
excludeTagsarrayいいえ抽出対象から除外する HTML タグ
extractobjectいいえ構造化データ抽出の設定
extract.promptstringいいえLLM 抽出用のユーザープロンプト
extract.schemaobjectいいえ構造化データ抽出用のスキーマ
extract.systemPromptstringいいえLLM 抽出用のシステムプロンプト
formatsarrayいいえ抽出するコンテンツ形式(デフォルト:['markdown'])
includeTagsarrayいいえ抽出対象に明示的に含める HTML タグ
locationobjectいいえスクレイピングの地域設定
location.countrystringいいえジオロケーション用の国コード
location.languagesarrayいいえコンテンツの言語コード
mobilebooleanいいえモバイルビューポートを使用
onlyMainContentbooleanいいえナビゲーションやフッターなどを除外し、メインコンテンツのみを抽出します。
removeBase64Imagesbooleanいいえ出力から Base64 エンコードされた画像を削除する
skipTlsVerificationbooleanいいえTLS 証明書の検証をスキップする
timeoutnumberいいえページの読み込みを待機する最大時間(ミリ秒)
urlstringはいスクレイピングする URL
waitFornumberいいえ動的コンテンツの読み込みを待機する時間(ミリ秒)

詳細

@just-every/mcp-read-website-fast

AI エージェント向けの高速でトークン効率に優れたウェブコンテンツ抽出ツール。ウェブサイトをクリーンな Markdown に変換します。

npm version GitHub Actions

read-website-fast MCP サーバー

概要

既存の 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 URL
      • pages(任意):クロールするページの最大数(デフォルト: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

コントリビューション

コントリビューションを歓迎します。以下の手順でお願いします。

  1. リポジトリをフォークします
  2. フィーチャーブランチを作成します
  3. 新しい機能のテストを追加します
  4. プルリクエストを送信します

トラブルシューティング

キャッシュの問題
npm run dev clear-cache
タイムアウトエラー
  • -t フラグでタイムアウトを延長します
  • ネットワーク接続を確認します
  • URL にアクセスできることを確認します
コンテンツが抽出されない
  • 自動アクセスをブロックするサイトもあります
  • -u フラグでカスタムユーザーエージェントを試します
  • サイトで JavaScript が必要かどうかを確認します(サポートされていません)

ライセンス

MIT

コメント

MCP は初めてですか?

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

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