Linkinator

Um servidor Model Context Protocol (MCP) que fornece capacidades de verificação de links usando linkinator. Isso permite que assistentes de IA como Claude escaneiem páginas da web e arquivos locais em busca de links quebrados.

Documentação

Servidor MCP Linkinator

npm version CI Biome codecov

linkinator-mcp

Um servidor Model Context Protocol (MCP) que fornece recursos de verificação de links usando linkinator. Isso permite que assistentes de IA como o Claude verifiquem páginas da web e arquivos locais em busca de links quebrados.

Recursos

  • Verificação Abrangente de Links: Verifique sites e arquivos locais em busca de links quebrados
  • Rastreamento Recursivo: Siga links dentro do mesmo domínio
  • Múltiplos Tipos de Conteúdo: Verifique links em arquivos HTML, CSS e Markdown
  • Validação de Fragmentos: Verifique links de âncora e fragmentos de URL
  • Configuração Flexível: Opções extensas para timeouts, tentativas, SSL e mais
  • Relatórios Detalhados: Obtenha códigos de status, links quebrados agrupados por tipo de erro e informações da página de origem

Configuração Rápida (Automática)

A maneira mais fácil de começar é usando a ferramenta install-mcp, que configura automaticamente o linkinator-mcp para Claude Desktop, Claude Code, Cursor, Cline e outros clientes MCP:

npx install-mcp linkinator-mcp --client claude

Isso lida com toda a configuração automaticamente. Reinicie seu cliente Claude após a instalação.

Configuração Manual

Se você preferir configurar o servidor manualmente, pode editar o arquivo de configuração do seu cliente MCP diretamente.

Claude Code

macOS/Linux

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

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

Windows

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

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

Alternativa: Instalação Global

Se preferir instalar o pacote globalmente primeiro com npm install -g linkinator-mcp, você pode simplificar a configuração:

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

Claude Desktop

macOS/Linux

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

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

Windows

Edite %APPDATA%\Claude\claude_desktop_config.json:

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

Reinicie Seu Cliente

Após atualizar a configuração, reinicie seu cliente Claude para que as alterações tenham efeito.

Exemplos de Uso

Uma vez configurado, você pode pedir ao Claude para verificar links em qualquer página da web ou arquivo local. Aqui estão alguns exemplos de prompts:

Verificação Básica de Links

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

Verificação Recursiva

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

Verificação de Arquivos Locais

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

Opções Avançadas

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

Opções Disponíveis

A ferramenta scan_page suporta todas as opções de CLI do linkinator:

Obrigatório

  • path (string): URL ou caminho de arquivo local para verificar

Configurações de Conexão

  • concurrency (number): Número de conexões simultâneas (padrão: 100)
  • port (number): Porta do servidor para verificação local (porta aleatória por padrão)
  • timeout (number): Timeout de requisição em milissegundos (0 = sem timeout)

Comportamento de Rastreamento

  • recurse (boolean): Siga links recursivamente no mesmo domínio
  • serverRoot (string): Localização personalizada no disco onde o servidor inicia
  • directoryListing (boolean): Servir automaticamente arquivos de índice de diretório
  • cleanUrls (boolean): Habilite resolução de links sem extensão (ex.: /about → /about.html)

Análise de Conteúdo

  • markdown (boolean): Analise e verifique arquivos markdown
  • checkCss (boolean): Extraia e valide URLs em propriedades CSS
  • checkFragments (boolean): Valide identificadores de âncora de URL

Filtragem e Personalização

  • linksToSkip (string[]): Padrões de URL para excluir (strings regex)
  • userAgent (string): Cabeçalho de user agent personalizado

Lógica de Tentativas

  • retry (boolean): Tente novamente respostas HTTP 429 com cabeçalho retry-after
  • retryErrors (boolean): Tente novamente erros 5xx
  • retryErrorsCount (number): Limite de tentativas
  • retryErrorsJitter (number): Atraso aleatório entre tentativas em milissegundos

SSL e Segurança

  • allowInsecureCerts (boolean): Aceite certificados SSL inválidos

Formato de Saída

A ferramenta retorna um relatório formatado mostrando:

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

Solução de Problemas

Servidor Não Aparecendo no Claude Code

  1. Verifique se o caminho em config.json é absoluto, não relativo
  2. Verifique se o diretório de build existe: ls /path/to/linkinator-mcp/build/index.js
  3. Verifique os logs do Claude Code para erros
  4. Certifique-se de que o Node.js está no seu PATH

Erros de Permissão

Se você receber erros de permissão no macOS/Linux:

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

Porta Já em Uso

Se estiver verificando arquivos locais e recebendo erros de porta, tente especificar uma porta:

Check /path/to/files with port 9000

Contribuindo

Contribuições são bem-vindas! Consulte CONTRIBUTING.md para detalhes sobre como começar.

Licença

MIT

Projetos Relacionados

  • linkinator - A biblioteca subjacente de verificação de links
  • MCP Servers - Coleção de implementações de servidores MCP
  • Claude Code - Assistente de codificação com IA que usa MCP

Autor

Justin Beckwith justin.beckwith@gmail.com

Agradecimentos

Construído com o SDK do Model Context Protocol.