DocPull について
DocPull は、変化する公開 Web ソースを引用付きで再現可能なコンテキストパックに同期するオープンソースツールです。AI エージェント、検索パイプライン、MCP クライアント向けに、ソースのバージョンと変更を追跡する必要があるチームに適しています。アカウントや有料 API なしでローカル実行されます。
主な機能
- 01公開ソースの同期とハッシュベースの差分検出
- 02引用とソース位置を含む重複排除済みの段落検索
- 03再現可能なコンテキストのためのロックファイル
- 04コンテキストパック、ベクトルインポート、データワークフロー向けのエクスポート
- 05CLI、Python SDK、TypeScript SDK、MCP サーバー
活用シーン
- 01ドキュメントやポリシーページの内容変更の検出
- 02AI の回答に対する追跡可能な引用の保持
- 03Claude Code からのロック済みドキュメントコンテキストの照会
MCP 対応
DocPull は docpull mcp で起動する Python の stdio 形式の MCP サーバーを提供し、ロック済みコンテキストの照会などのソース関連ツールをローカルのエージェントクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
DocPull
アクティブなオープンソースプロジェクト · MIT License
DocPull は、変化する公開ウェブソースを、出典付きで再現可能な AI エージェントと検索パイプライン向けのコンテキストに変換します。アプリケーションで、どのソースを使ったのか、変更があったか、後から同じコンテキストをどう再構築できるかを把握する必要がある場合にご利用ください。
インストールして最初のソースを同期する
pip install docpull
docpull init stripe-docs
docpull add https://docs.stripe.com
docpull sync
docpull query "retry policy" --max-tokens 4000
docpull diff
docpull export context-pack --target cursor
プロジェクトでは、宣言したソースを docpull.yaml に、解決済みの入力を
.docpull/context.lock.json に保存します。以降の同期では、ソース URL、コンテンツハッシュ、実行 ID、引用、エクスポートのメタデータを保持しながら、ハッシュベースの差分を生成します。
docpull query は、バージョンフィルター、応答予算、正確なソース範囲を指定して、ロックされたアーカイブから重複のない文章を取得します。同じクエリは Python SDK と MCP からも利用できます。予算の仕様とプロジェクトをまたぐクエリについては、ロックされたコンテキストをクエリするをご覧ください。

この方法では、アカウントや有料 API は不要です。直接取得、検出、抽出、インデックス作成、パック分析、差分生成はローカルで実行されます。
DocPull を使う理由
- エージェントのコンテキストを再現します。 安定した ID、ハッシュ、マニフェスト、ロックファイルで、回答や成果物の生成に使われたソースのバージョンを確認できます。
- ソースの変化を検出します。 ドキュメント、製品ページ、ポリシー、フィード、リポジトリ、パッケージ、標準規格、ローカルドキュメントを同期して差分を確認できます。
- 根拠を検証可能な状態に保ちます。 Markdown、NDJSON、SQLite、引用、来歴サイドカーは、ホスト型サービスがなくても読み取り可能です。
- 用途に合わせて出力先を選べます。 エージェントクライアント、ベクトルインポート、データワークフロー、またはバージョン管理されたコンテキストパックのリリース向けにコンテキストをエクスポートできます。
- コストのかかる経路を明示的に選べます。 ブラウザーとクラウドレンダリングは明示的な選択が必要で、予算を 0 ドルに設定して無効化できます。
仕組み
declared sources → local acquisition → versioned evidence → diff and validation → export
DocPull の v3 パック契約では、生の抽出結果、エージェント対応のコンテキスト、評価品質の根拠を分離しています。下流システムが必要とするレベルを検証してください。
docpull pack prepare packs/docs --eval-grade
docpull pack validate packs/docs --level eval
docpull ci --prepare
docpull ci は鮮度、引用範囲、パック品質、権利メタデータなど、設定されたゲートを確認します。context-ci.report.json と CONTEXT_CI.md を書き出し、ハードゲートに失敗するとゼロ以外の終了コードで終了します。
対応インターフェース
| インターフェース | 用途 | 使い始めるには |
|---|---|---|
| CLI | 取得、同期、差分確認、検証、エクスポート | docs/cli-recipes.md |
| Python SDK | Python アプリケーションに取得機能を組み込む | docs/surface-contract.md |
| MCP サーバー | ローカルのエージェントクライアントにソースツールを提供する | MCP サーバー |
| TypeScript SDK | ローカルパックを読み込み、Node または Bun から CLI を呼び出す | sdk/js/README.md |
| エージェントプラグイン | エージェントクライアントに対応する MCP ワークフローをインストールする | plugin/README.md |
一般的なソース形式には、静的サイトとサーバーレンダリングされたウェブサイト、OpenAPI ドキュメント、フィード、論文、公開 GitHub リポジトリ、npm および PyPI パッケージ、標準規格、データセット、トランスクリプト、Wikimedia ページ、製品ページとポリシーページ、ローカルの PDF またはオフィスファイルが含まれます。対応範囲の全容については、コンテキストパックのワークフローをご覧ください。
MCP サーバー
pip install 'docpull[mcp]'
docpull mcp
Claude Code でも同じローカルサーバーを登録できます。
claude mcp add --transport stdio docpull -- docpull mcp
Python の stdio サーバーが、対応する MCP サーバーです。
制限とセキュリティ境界
DocPull は証拠収集エンジンであり、ホスト型の競合インテリジェンス製品ではありません。DocPull が担うのは、フェッチ、明示的なレンダリングアダプター、バージョニング、引用、ハッシュ、検証、リプレイ、エクスポートです。スケジューリング、人によるレビュー、承認済みの主張、法的結論、アカウント、通知は下流の製品が担います。
デフォルトのパスでは、複雑な対話型ブラウザワークフロー、CAPTCHA、ステルススクレイピング、プライベートダッシュボードは扱いません。JavaScript レンダリングは明示的です。認証が必要なソースには環境変数の参照が必要であり、DocPull はプロジェクト成果物に認証情報の値を永続化しません。
セキュリティのデフォルトには、HTTPS のみのフェッチ、robots.txt の遵守、SSRF および DNS リバインディング対策、リダイレクトガード、XXE 対策、パストラバーサルチェックが含まれます。取得動作を拡張する前に、web ソースの境界、セキュリティ姿勢、証拠エンジンの決定をお読みください。
ドキュメントと証拠
- CLI レシピ — 一般的なコマンドと高度なワークフロー。
- コンテキスト依存関係 — プロジェクトとロックファイルのモデル。
- Context Pack Contract v3 — 成果物のレベルと互換性。
- 公開コントラクト — スキーマとバージョニング規則。
- 代替案 — ブラウザ自動化とホスト型抽出のトレードオフ。
- JavaScript SDK とローダー — TypeScript クライアントと LangChain/LlamaIndex ローダー。
- 依存関係のセキュリティ — ロックされた依存関係セットとオプションのパーサーサポート。
- 評価ラボ — 再現可能な手法、結果、主張の境界。
- 変更履歴 — リリース履歴。
Raintree オープンソースシステム
DocPull は証拠収集と再現可能なエージェントコンテキストを担います。単独で使用でき、姉妹プロジェクトは必須の統合や共通のリリースサイクルを意味するものではありません。
| プロジェクト | 責務 |
|---|---|
| Raintree Standards | ガバナンスされた要件と証拠を定義します。 |
| Trellis | 共有の JavaScript および TypeScript コードポリシーを適用します。 |
| HIG Doctor | インターフェースのソースを監査し、HIG ガイダンスを提供します。 |
| PolicyStrata | レイヤーをまたぐポリシー動作をテストします。 |
最新のライフサイクルと配布リンクについては、Raintree オープンソースポートフォリオをご覧ください。
Raintree は BetterOff も開発しており、これは家計の支出、投資、資産、負債、純資産を 1 つの最新の記録にまとめます。
プロジェクトポリシー
コントリビューション · 行動規範 · セキュリティ · メトリクスと証拠の限界 · ソースリポジトリ · MIT ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。