A11y MCP Server

Realizar auditorias de acessibilidade em páginas da web usando o motor axe-core para identificar e ajudar a corrigir problemas de a11y.

Documentação

Servidor A11y MCP

Um servidor MCP (Model Context Protocol) para realizar auditorias de acessibilidade em páginas da web usando axe-core. Use os resultados em um loop agêntico com seus assistentes de IA favoritos (Cline/Cursor/GH Copilot) e deixe que eles corrijam problemas de a11y para você!

a11y-mcp MCP server

Recursos

  • Realize auditorias detalhadas de acessibilidade em qualquer página da web
  • Obtenha um resumo dos problemas de acessibilidade
  • Filtre auditorias por critérios específicos do WCAG
  • Inclua trechos de HTML nos resultados para facilitar a depuração

Instalação

# Install globally
npm install -g a11y-mcp

# Or use directly with npx
npx a11y-mcp

Configuração

Para usar este servidor MCP com o Cline, você precisa adicioná-lo ao seu arquivo de configuração de definições do MCP.

Configuração do MCP

Adicione o seguinte ao objeto mcpServers:

{
  "mcpServers": {
    "a11y": {
      "command": "npx",
      "args": ["a11y-mcp"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

Ferramentas Disponíveis

audit_webpage

Realiza uma auditoria detalhada de acessibilidade em uma página da web.

Parâmetros:

  • url (obrigatório): URL da página da web a ser auditada
  • includeHtml (opcional): Se deve incluir trechos de HTML nos resultados (padrão: false)
  • tags (opcional): Matriz de tags de acessibilidade específicas para verificar (ex.: wcag2a, wcag2aa, wcag21a, best-practice)

Exemplo:

Use the a11y MCP server to audit example.com for accessibility issues

get_summary

Obtém um resumo dos problemas de acessibilidade de uma página da web.

Parâmetros:

  • url (obrigatório): URL da página da web a ser auditada

Exemplo:

Give me an accessibility summary of example.com

Exemplo de Uso

Após a configuração, você pode pedir ao Claude para usar o servidor MCP para realizar auditorias de acessibilidade:

  1. "Você pode verificar example.com em busca de problemas de acessibilidade?"
  2. "Audite meu site em https://mywebsite.com para conformidade com WCAG 2.1 AA"
  3. "Dê-me um resumo dos problemas de acessibilidade em https://example.com"
  4. "Verifique se meu servidor de desenvolvimento local em http://localhost:3000 tem algum problema crítico de acessibilidade"

Desenvolvimento

Para executar o servidor localmente para desenvolvimento:

npm start

Lançamento

Este projeto inclui um script de lançamento para ajudar com versionamento e publicação no npm. O script lida com incremento de versão, execução de testes, criação de tags git e publicação no npm.

Para lançar uma nova versão:

# Make sure the script is executable
chmod +x release.sh

# Release a patch version (default)
./release.sh

# Release a minor version
./release.sh --minor

# Release a major version
./release.sh --major

# Release a specific version
./release.sh --version=1.2.3

# Skip git operations
./release.sh --skip-git

# Dry run (no changes will be made)
./release.sh --dry-run

# Force release even with uncommitted changes
./release.sh --force

Para mais informações, execute:

./release.sh --help

Licença

MPL 2.0

Créditos

Este projeto se baseia no excelente trabalho feito por axe-core

Segurança e hospedagem

Requer Node.js 22.12 ou mais recente. O Chrome é executado com o sandbox habilitado. Toda conexão HTTP(S), incluindo redirecionamentos e subrecursos, passa por um proxy de validação que fixa o IP de destino. Endereços privados, link-local, multicast, reservados e de metadados de nuvem são bloqueados, incluindo IPv6 mapeado. Loopback permanece disponível para desenvolvimento local; defina AUDIT_ALLOW_LOOPBACK=false para auditorias somente públicas. Endereços LAN não são mais suportados. Uma auditoria é executada por processo MCP, com um prazo de 90 segundos para o navegador. Para uso hospedado, isole adicionalmente os workers do navegador e aplique restrições de saída de rede na camada de infraestrutura. Verificações automatizadas do axe não estabelecem conformidade com WCAG; a revisão manual ainda é necessária.

Execute npm test, npm run test:smoke (requer Chrome) e npm audit.