Linkinator

Un servidor del Protocolo de Contexto del Modelo (MCP) que proporciona capacidades de verificación de enlaces utilizando linkinator. Esto permite que asistentes de IA como Claude escaneen páginas web y archivos locales en busca de enlaces rotos.

Documentación

Servidor MCP de Linkinator

npm version CI Biome codecov

linkinator-mcp

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona capacidades de verificación de enlaces utilizando linkinator. Esto permite que asistentes de IA como Claude escaneen páginas web y archivos locales en busca de enlaces rotos.

Características

  • Verificación Integral de Enlaces: Escanea sitios web y archivos locales en busca de enlaces rotos
  • Rastreo Recursivo: Sigue enlaces dentro del mismo dominio
  • Múltiples Tipos de Contenido: Verifica enlaces en archivos HTML, CSS y Markdown
  • Validación de Fragmentos: Verifica enlaces de anclaje y fragmentos de URL
  • Configuración Flexible: Amplias opciones para tiempos de espera, reintentos, SSL y más
  • Informes Detallados: Obtén códigos de estado, enlaces rotos agrupados por tipo de error e información de la página principal

Configuración Rápida (Automática)

La forma más fácil de comenzar es usando la herramienta install-mcp, que configura automáticamente linkinator-mcp para Claude Desktop, Claude Code, Cursor, Cline y otros clientes MCP:

npx install-mcp linkinator-mcp --client claude

Esto maneja toda la configuración automáticamente. Reinicia tu cliente de Claude después de la instalación.

Configuración Manual

Si prefieres configurar el servidor manualmente, puedes editar directamente el archivo de configuración de tu cliente MCP.

Claude Code

macOS/Linux

Edita ~/.config/claude-code/config.json:

{
  "mcpServers": {
    "linkinator": {
      "command": "npx",
      "args": ["linkinator-mcp"]
    }
  }
}

Windows

Edita %APPDATA%\claude-code\config.json:

{
  "mcpServers": {
    "linkinator": {
      "command": "npx",
      "args": ["linkinator-mcp"]
    }
  }
}

Alternativa: Instalación Global

Si prefieres instalar el paquete globalmente primero con npm install -g linkinator-mcp, puedes simplificar la configuración:

{
  "mcpServers": {
    "linkinator": {
      "command": "linkinator-mcp"
    }
  }
}

Claude Desktop

macOS/Linux

Edita ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "linkinator": {
      "command": "npx",
      "args": ["linkinator-mcp"]
    }
  }
}

Windows

Edita %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "linkinator": {
      "command": "npx",
      "args": ["linkinator-mcp"]
    }
  }
}

Reinicia Tu Cliente

Después de actualizar la configuración, reinicia tu cliente de Claude para que los cambios surtan efecto.

Ejemplos de Uso

Una vez configurado, puedes pedirle a Claude que verifique enlaces en cualquier página web o archivo local. Aquí hay algunos ejemplos de indicaciones:

Verificación Básica de Enlaces

Check all the links on https://example.com

Escaneo Recursivo

Scan https://example.com recursively and check all links on the same domain

Verificación de Archivos Locales

Check the links in /path/to/my/documentation/index.html

Opciones Avanzadas

Check https://example.com with the following options:
- Recurse through all pages
- Check CSS for URLs
- Validate anchor fragments
- Skip links to google.com and facebook.com
- Use a 10 second timeout

Opciones Disponibles

La herramienta scan_page admite todas las opciones de línea de comandos de linkinator:

Requerido

  • path (cadena): URL o ruta de archivo local para escanear

Configuración de Conexión

  • concurrency (número): Número de conexiones simultáneas (predeterminado: 100)
  • port (número): Puerto del servidor para escaneo local (puerto aleatorio por defecto)
  • timeout (número): Tiempo de espera de solicitud en milisegundos (0 = sin tiempo de espera)

Comportamiento de Rastreo

  • recurse (booleano): Sigue enlaces recursivamente en el mismo dominio
  • serverRoot (cadena): Ubicación de disco personalizada donde se inicia el servidor
  • directoryListing (booleano): Sirve automáticamente archivos de índice de directorio
  • cleanUrls (booleano): Habilita la resolución de enlaces sin extensión (por ejemplo, /about → /about.html)

Análisis de Contenido

  • markdown (booleano): Analiza y escanea archivos markdown
  • checkCss (booleano): Extrae y valida URLs en propiedades CSS
  • checkFragments (booleano): Valida identificadores de anclaje de URL

Filtrado y Personalización

  • linksToSkip (cadena[]): Patrones de URL para excluir (cadenas regex)
  • userAgent (cadena): Encabezado de agente de usuario personalizado

Lógica de Reintentos

  • retry (booleano): Reintenta respuestas HTTP 429 con encabezado retry-after
  • retryErrors (booleano): Reintenta errores 5xx
  • retryErrorsCount (número): Límite de intentos de reintento
  • retryErrorsJitter (número): Retraso aleatorio entre reintentos en milisegundos

SSL y Seguridad

  • allowInsecureCerts (booleano): Acepta certificados SSL no válidos

Formato de Salida

La herramienta devuelve un informe formateado que muestra:

Linkinator Scan Results for: https://example.com

Summary:
  Status: ✓ PASSED / ✗ FAILED
  Total Links: 150
  OK: 145
  Broken: 5
  Skipped: 0

Broken Links:

  Status 404:
    - https://example.com/missing-page
      Found on: https://example.com/index.html
    - https://example.com/old-blog-post
      Found on: https://example.com/blog.html

  Status 500:
    - https://api.example.com/endpoint
      Found on: https://example.com/docs.html

Solución de Problemas

El Servidor No Aparece en Claude Code

  1. Verifica que la ruta en config.json sea absoluta, no relativa
  2. Verifica que exista el directorio de compilación: ls /path/to/linkinator-mcp/build/index.js
  3. Revisa los registros de Claude Code para ver errores
  4. Asegúrate de que Node.js esté en tu PATH

Errores de Permisos

Si obtienes errores de permisos en macOS/Linux:

chmod +x /path/to/linkinator-mcp/build/index.js

Puerto Ya en Uso

Si al escanear archivos locales obtienes errores de puerto, intenta especificar un puerto:

Check /path/to/files with port 9000

Contribuciones

¡Las contribuciones son bienvenidas! Consulta CONTRIBUTING.md para obtener detalles sobre cómo comenzar.

Licencia

MIT

Proyectos Relacionados

  • linkinator - La biblioteca subyacente de verificación de enlaces
  • MCP Servers - Colección de implementaciones de servidores MCP
  • Claude Code - Asistente de codificación con IA que usa MCP

Autor

Justin Beckwith justin.beckwith@gmail.com

Agradecimientos

Construido con el Protocolo de Contexto de Modelo SDK.