MCP Windows Website Downloader Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

MCP ウェブサイト ダウンローダー

ドキュメント Web サイトをダウンロードし、RAG インデックス作成用に準備するためのシンプルな MCP サーバー。

特徴

  • 完全なドキュメント サイトをダウンロードします (とにかく大きな塊です)。
  • リンク構造とナビゲーションは維持されますが、実際はそうではありません。笑
  • アセット (CSS、JS、画像) をダウンロードして整理しますが、実際には AI フレンドリーではないため、おそらくすべてを何らかの解析またはベクトル化して DB などに格納する必要があります。
  • RAG システムのクリーンなインデックスを作成します。現在は各フォルダーにインデックスを作成しているようですが、確認もされていません。
  • シンプルな単一目的の MCP インターフェースです。

インストール

フォークしてダウンロードし、リポジトリに 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" ] },

心配する必要のない他の使用法は、幻覚的である可能性があります(笑)

  1. サーバーを起動します。
python -m mcp_windows_website_downloader.server --library docs_library
  1. Claude 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 処理のためのヘルパーユーティリティ

設計原則

  1. 単一責任
    • 各モジュールには明確な目的がある
    • サーバーはMCPインターフェースを処理する
    • コアはダウンロードを処理する
    • Utilsは一般的な操作を処理します
  2. クリーンな構造
    • 元のサイト構造を維持
    • 資産を種類別に整理する
    • RAGシステムの明確なインデックスを作成します
  3. 堅牢な操作
    • 適切なエラー処理
    • 適切な水深制限
    • アセットダウンロードの検証
    • クリーンなURL/パス処理

RAGインデックス

rag_index.jsonファイルには次の内容が含まれます。

{ "url": "https://docs.example.com", "domain": "docs.example.com", "pages": 42, "path": "/path/to/site" }

貢献

  1. リポジトリをフォークする
  2. 機能ブランチを作成する
  3. 変更を加える
  4. プルリクエストを送信する

ライセンス

MITライセンス - LICENSEファイルを参照

エラー処理

サーバーは一般的な問題を処理します:

  • 無効なURL
  • ネットワークエラー
  • アセットのダウンロード失敗
  • 不正なHTML
  • 深い再帰
  • ファイルシステムエラー

エラー応答は次の形式に従います。

{ "status": "error", "error": "Detailed error message" }

成功応答:

{ "status": "success", "path": "/path/to/downloaded/site", "pages": 42 }

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

このサーバーにより、ユーザーは Web サイト全体とその資産をオフライン アクセス用にダウンロードすることができ、構成可能な深度と同時実行の設定がサポートされます。

  1. Features
    1. Installation
      1. Other Usage you don't need to worry about and may be hallucinatory lol:
        1. Output Structure
          1. Development
            1. Components
            2. Design Principles
            3. RAG Index
          2. Contributing
            1. License
              1. Error Handling
                ID: 5jmjuexe0d