MCP ウェブサイト ダウンローダー
ドキュメント Web サイトをダウンロードし、RAG インデックス作成用に準備するためのシンプルな MCP サーバー。
特徴
完全なドキュメント サイトをダウンロードします (とにかく大きな塊です)。
リンク構造とナビゲーションは維持されますが、実際はそうではありません。笑
アセット (CSS、JS、画像) をダウンロードして整理しますが、実際には AI フレンドリーではないため、おそらくすべてを何らかの解析またはベクトル化して DB などに格納する必要があります。
RAG システムのクリーンなインデックスを作成します。現在は各フォルダーにインデックスを作成しているようですが、確認もされていません。
シンプルな単一目的の MCP インターフェースです。
Related MCP server: Website Downloader
インストール
フォークしてダウンロードし、リポジトリに cd します。
uv venv
./venv/Scripts/activate
pip install -e .独自のパスを使用して、これを claude_desktop_config.json に追加します。
"mcp-windows-website-downloader": {
"command": "uv",
"args": [
"--directory",
"F:/GithubRepos/mcp-windows-website-downloader",
"run",
"mcp-windows-website-downloader",
"--library",
"F:/GithubRepos/mcp-windows-website-downloader/website_library"
]
},
心配する必要のない他の使用法は、幻覚的である可能性があります(笑)
サーバーを起動します。
python -m mcp_windows_website_downloader.server --library docs_libraryClaude Desktop またはその他の MCP クライアントを通じて使用:
result = await server.call_tool("download", {
"url": "https://docs.example.com"
})出力構造
docs_library/
domain_name/
index.html
about.html
docs/
getting-started.html
...
assets/
css/
js/
images/
fonts/
rag_index.json発達
サーバーは標準の MCP アーキテクチャに従います。
src/
mcp_windows_website_downloader/
__init__.py
server.py # MCP server implementation
core.py # Core downloader functionality
utils.py # Helper utilitiesコンポーネント
server.py: ツールの登録とリクエストを処理するメインの MCP サーバー実装core.py: 適切なアセット処理を備えたコアウェブサイトダウンロード機能utils.py: ファイル処理と URL 処理のためのヘルパーユーティリティ
設計原則
単一責任
各モジュールには明確な目的がある
サーバーはMCPインターフェースを処理する
コアはダウンロードを処理する
Utilsは一般的な操作を処理します
クリーンな構造
元のサイト構造を維持
資産を種類別に整理する
RAGシステムの明確なインデックスを作成します
堅牢な操作
適切なエラー処理
適切な水深制限
アセットダウンロードの検証
クリーンなURL/パス処理
RAGインデックス
rag_index.jsonファイルには次の内容が含まれます。
{
"url": "https://docs.example.com",
"domain": "docs.example.com",
"pages": 42,
"path": "/path/to/site"
}貢献
リポジトリをフォークする
機能ブランチを作成する
変更を加える
プルリクエストを送信する
ライセンス
MITライセンス - LICENSEファイルを参照
エラー処理
サーバーは一般的な問題を処理します:
無効なURL
ネットワークエラー
アセットのダウンロード失敗
不正なHTML
深い再帰
ファイルシステムエラー
エラー応答は次の形式に従います。
{
"status": "error",
"error": "Detailed error message"
}成功応答:
{
"status": "success",
"path": "/path/to/downloaded/site",
"pages": 42
}