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.

Descargador de sitios web de MCP

Servidor MCP simple para descargar sitios web de documentación y prepararlos para la indexación RAG.

Características

  • Descarga sitios de documentación completos, bueno, grandes porciones de todos modos.
  • Mantiene la estructura del enlace y la navegación, en realidad no. jajaja
  • Descarga y organiza activos (CSS, JS, imágenes), pero no es realmente compatible con IA y probablemente todo necesite algún tipo de análisis o vectorización en una base de datos o algo así.
  • Crea un índice limpio para sistemas RAG, actualmente parece crear un índice en cada carpeta, ni siquiera lo he mirado.
  • Interfaz MCP simple y de un solo propósito, sí.

Instalación

Bifurcar y descargar, cd al repositorio.

uv venv ./venv/Scripts/activate pip install -e .

Coloque esto en su claude_desktop_config.json con sus propias rutas:

"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" ] },

Otros usos por los que no tienes que preocuparte y que pueden resultar alucinantes, jajaja:

  1. Iniciar el servidor:
python -m mcp_windows_website_downloader.server --library docs_library
  1. Úselo a través de Claude Desktop u otros clientes MCP:
result = await server.call_tool("download", { "url": "https://docs.example.com" })

Estructura de salida

docs_library/ domain_name/ index.html about.html docs/ getting-started.html ... assets/ css/ js/ images/ fonts/ rag_index.json

Desarrollo

El servidor sigue la arquitectura MCP estándar:

src/ mcp_windows_website_downloader/ __init__.py server.py # MCP server implementation core.py # Core downloader functionality utils.py # Helper utilities

Componentes

  • server.py : Implementación del servidor MCP principal que maneja el registro y las solicitudes de herramientas
  • core.py : Funcionalidad de descarga del sitio web principal con manejo adecuado de activos
  • utils.py : utilidades auxiliares para el manejo de archivos y el procesamiento de URL

Principios de diseño

  1. Responsabilidad única
    • Cada módulo tiene un propósito claro
    • El servidor maneja la interfaz MCP
    • El núcleo gestiona la descarga
    • Utils maneja operaciones comunes
  2. Estructura limpia
    • Mantiene la estructura original del sitio.
    • Organiza los activos por tipo
    • Crea un índice claro para los sistemas RAG
  3. Operación robusta
    • Manejo adecuado de errores
    • Límites de profundidad razonables
    • Verificación de descarga de activos
    • Procesamiento limpio de URL/ruta

Índice RAG

El archivo rag_index.json contiene:

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

Contribuyendo

  1. Bifurcar el repositorio
  2. Crear una rama de características
  3. Realiza tus cambios
  4. Enviar una solicitud de extracción

Licencia

Licencia MIT - Ver archivo LICENCIA

Manejo de errores

El servidor gestiona problemas comunes:

  • URL no válidas
  • Errores de red
  • Errores en la descarga de activos
  • HTML mal formado
  • Recursión profunda
  • Errores del sistema de archivos

Las respuestas de error siguen el formato:

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

Respuestas de éxito:

{ "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

Este servidor permite a los usuarios descargar sitios web completos y sus activos para acceso sin conexión, y admite configuraciones de profundidad y concurrencia.

  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