mcpField
D
doc-scraper

doc-scraper

ローカル
sriram-pr.github.ioブラウザ自動化107今日更新

doc-scraper について

doc-scraperは、技術ドキュメントをローカルのMarkdownコーパスに変換するGo製クローラーです。MCP経由で、コーディングエージェントにオフライン検索、閲覧、変更追跡の機能を提供します。

主な機能

  1. 01並列実行と再開に対応したクロール
  2. 0230種類以上のドキュメント生成器を検出
  3. 03Markdownページとインデックスファイルの生成
  4. 04オフラインのBM25検索とページ閲覧
  5. 05増分クロール、監視モード、差分比較

活用シーン

  1. 01ネットワークなしで技術ドキュメントを検索
  2. 02ローカルコーパスからドキュメントを閲覧
  3. 03クロール間のドキュメント変更を追跡

MCP 対応

MCPサーバーは、保存済みドキュメントの検索・閲覧、新しさの確認、クロール結果の比較に使うツールを公開します。コーディングエージェントはstdioで接続できます。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbdoc-scraper.mcpb

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

LLM ドキュメントスクレーパー(doc-scraper)

CI Go Version Go Reference License Glama score

Go で書かれた、設定可能で並行処理に対応した、中断後に再開できるウェブクローラーです。技術ドキュメントのウェブサイトをスクレイピングし、主要なコンテンツを抽出して、LLM に取り込めるよう Markdown 形式に整えて変換し、その結果をローカルに保存することを目的に設計されています。

ドキュメントサイトをクロールし、オフラインで検索クエリに回答する doc-scraper

doc-scraper はドキュメントサイトをクロールして整った Markdown に変換し、MCP 経由でコーディングエージェントに提供します。エージェントは、学習データやライブウェブ検索から推測する代わりに、選択したドキュメントをオフラインで検索して読み取れます。任意のドキュメントページを doc-scraper add に指定すると、フレームワーク(Docusaurus、Starlight、Sphinx、VitePress、Material for MkDocs、mdBook など、30 以上のドキュメント生成ツール)を検出し、コンテンツセレクターを検証して、設定案を作成します。

ドキュメント:https://sriram-pr.github.io/doc-scraper/

特長

  • エージェント向けのオフライン検索: 保存されたコーパスを対象に、BM25 全文検索(search_docs)とページ読み取り(read_page)を提供し、ネットワークアクセスは不要です
  • フレームワーク検出: 30 以上のドキュメント生成ツールを認識し、ページ上で各セレクターを検証します。Readability によるフォールバックにも対応し、JavaScript のみで構成されたシェルは、空のままクロールする代わりに報告します
  • 整った出力: 各ページをフロントマター付きの GitHub Flavored Markdown に変換し、さらに pages.jsonl、llms.txt、llms-full.txt を生成します
  • 負荷に配慮し、中断後に再開可能: robots.txt とサイトマップ、ホストごとのレート制限、バックオフ付き再試行、中断後に再開できるクロール、最後に正常に保存されたコピーを上書きしないステージング出力に対応します
  • 常に最新の状態を維持: 増分再クロール、監視モード、クロール履歴(get_freshness、diff_crawl)に対応します
  • 複数サイトを一度に処理: 共有制限のもとで並行クロールできます

インストール

リリースページからリリースバイナリ(Linux、macOS、Windows、amd64 および arm64)をダウンロードするか、次のコマンドを実行します。

go install github.com/Sriram-PR/doc-scraper/v2/cmd/doc-scraper@latest
docker run --rm --user "$(id -u):$(id -g)" -v "$PWD":/data ghcr.io/sriram-pr/doc-scraper:latest crawl -site rust_cli_book

Claude Desktop ユーザーは、代わりに最新リリースから doc-scraper.mcpb をインストールできます。詳細:インストール。

クイックスタート

doc-scraper add -site rust_cli_book https://rust-cli.github.io/book/index.html   # detect, preview, confirm
doc-scraper crawl -site rust_cli_book             # Markdown lands in ./crawled_docs/rust_cli_book/
doc-scraper search -site rust_cli_book "error handling"

次に、Claude Code に渡します。

claude mcp add --transport stdio doc-scraper -- /path/to/doc-scraper mcp-server -config /path/to/config.yaml

スコープと最初のプロンプトについては、Claude Code の設定をご覧ください。

ドキュメント

コントリビューション

コントリビューションを歓迎します。作業を始める前にCONTRIBUTING.mdをお読みください。セットアップ、CIで適用されるテストルール、Issueの担当方法、AIを活用したコントリビューションに関するポリシーについて説明しています。good first issueラベルが付いたIssueは、取り組み始めるのに適しています。

セキュリティ上の問題は、SECURITY.mdの説明に従って非公開で報告してください。参加者は全員、行動規範に従う必要があります。

プライバシーポリシー

doc-scraperは何も収集しません。テレメトリー、アナリティクス、アカウントはありません。出力と状態はすべてお使いのマシン上に保存され、ネットワークリクエストは、明示的に依頼されたクロールと取得のみです。ポリシーの全文:PRIVACY.md。

ライセンス

このプロジェクトはApache-2.0 Licenseの下でライセンスされています。

謝辞

  • HTML解析にはGoQueryを使用しています
  • 変換にはhtml-to-markdownを使用しています
  • 状態の永続化にはBadgerDBを使用しています
  • MCP サーバーの実装にはmcp-goを使用しています
  • コンテンツ抽出のフォールバックにはgo-readabilityを使用しています
  • 純粋なGo製クロール履歴インデックスにはmodernc.org/sqliteを使用しています
  • robots.txtの解析にはrobotstxtを使用しています
  • 設定の解析にはyaml.v3を使用しています
  • クロールジョブIDにはgoogle/uuidを使用しています
  • 同時実行数を制限する重み付きセマフォにはx/syncを使用しています

コメント

MCP は初めてですか?

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

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