Skip to main content
Glama
angrysky56

MCP Windows Website Downloader Server

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í.

Related MCP server: Website Downloader

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

texto alternativo

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
}
Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/angrysky56/mcp-windows-website-downloader'

If you have feedback or need assistance with the MCP directory API, please join our Discord server