Website Auditor

Visibilidade de IA (GEO) e auditorias de site: veja se ChatGPT, Perplexity, Claude e Gemini recomendam um site, obtenha uma pontuação de visibilidade de IA de 0 a 100, execute auditorias completas do site (segurança, desempenho, rastreabilidade), compare concorrentes e monitore mudanças semanalmente.

Documentação

Servidor MCP Website Auditor

Um servidor MCP para website-auditor.io — ferramentas de visibilidade de IA (GEO) e auditoria de sites que você pode chamar de qualquer cliente MCP (Claude Desktop, Claude Code, Cursor, Codex e outros agentes).

Pergunte a um agente "o ChatGPT recomenda meu negócio?", "qual é minha pontuação de visibilidade de IA?", "audite example.com" ou "como eu me comparo aos meus concorrentes?" e ele responde com dados reais — uma pontuação geral de visibilidade de IA (0–100), um detalhamento por mecanismo em ChatGPT, Perplexity, Claude e Gemini, uma auditoria completa do site (segurança, desempenho, rastreabilidade e marcação), comparações com concorrentes e monitoramento contínuo.

O servidor é um wrapper fino e autenticado sobre a API do Website Auditor — o mecanismo de auditoria, a pontuação de visibilidade de IA e o monitoramento vivem nesse serviço; este servidor apenas os disponibiliza para agentes.


Ferramentas

FerramentaNívelO que faz
get_sample_auditGrátis — sem chaveUm relatório de exemplo completo para example.com no formato exato que uma auditoria real retorna. Não precisa de chave de API, assinatura ou rede. Experimente primeiro para ver o que você estaria comprando.
get_ai_visibilityProPontuação atual de visibilidade de IA (0–100) + detalhamento por mecanismo (ChatGPT, Perplexity, Claude, Gemini) + o principal concorrente que aparece no seu lugar. Assinantes Pro também recebem trend: movimento da pontuação em 7 e 30 dias a partir do histórico de snapshots armazenados para a pergunta que esta auditoria fez, terminando no snapshot dela e comparado apenas entre snapshots medidos que fizeram a mesma pergunta; a geral apenas entre endpoints que os mesmos mecanismos responderam (uma janela em que os mecanismos divergiram carrega seus deltas de mecanismo e um overall_note dizendo qual respondeu cada um; nulo, com uma nota, quando a auditoria não armazenou snapshot medido).
run_auditPro, com limite de taxaAuditoria única completa → pontuações por categoria (visibilidade de IA, rastreabilidade e marcação como seo, segurança, desempenho) + principais problemas + URL de relatório compartilhável.
get_changesProO que mudou na pontuação de visibilidade de IA — a mudança na pontuação geral e as mudanças de pontuação por mecanismo, para mecanismos medidos nas duas vezes; a geral apenas quando os mesmos mecanismos responderam aos dois snapshots (caso contrário, é nula com um overall_note nomeando qual respondeu cada um, e as mudanças por mecanismo permanecem independentes); competitor_changes, new_issues e resolved_issues estão sempre vazios. Apenas entre dois snapshots que fizeram a mesma pergunta (o mesmo nome de negócio, mercado e consultas), lidos da série do domínio: suas re-auditorias semanais medidas e qualquer auditoria que fez a mesma pergunta que a mais recente registrada, enquanto não houver lacuna maior que quatro semanas e um dia desde a re-auditoria semanal mais recente que registrou sua pergunta, passando por cada snapshot posterior da série (re-auditorias semanais incluídas, registradas ou não), até o snapshot medido mais recente. Quando não existe tal par, ele diz o motivo em vez de um número, com a data em que a série foi re-baselined quando isso ocorreu. O domínio não precisa ser monitorado: o histórico acumula de qualquer auditoria dele, monitorada ou não — track_site adiciona as re-auditorias semanais à série, não é um pré-requisito.
compare_competitorsProRanking de visibilidade de IA frente a frente contra domínios concorrentes nomeados + onde cada um aparece e você não. Ciente de cota: limita a expansão da auditoria à sua cota diária restante, reutiliza auditorias em cache recentes e relata quaisquer concorrentes que precisou pular em vez de descartá-los silenciosamente.
track_siteProIniciar (ou parar) o monitoramento semanal da visibilidade de IA de um site. Suas re-auditorias semanais entram no histórico que get_changes lê, e as auditorias acumulam monitoradas ou não — o monitoramento observa um site, não habilita get_changes.
untrack_siteProParar o monitoramento de um site e liberar um slot de monitoramento. Idempotente.
list_tracked_sitesProListar os sites que você monitora, com cadência, estado ativo e slots usados/restantes.
get_monitoring_statusProUm painel de visão geral em todos os sites monitorados — pontuação mais recente da série de cada site (a série que get_changes lê), a data da última execução agendada de cada um e quando a próxima ocorre, e a mudança mais recente comparável (ou uma nota, ou o resumo, dizendo por que não há nenhuma), mostrada como mudanças por mecanismo com uma nota nomeando os mecanismos quando diferentes responderam aos dois snapshots; como get_changes, seu change carrega competitor_changes, new_issues e resolved_issues, sempre vazios.
check_upgrade_statusQualquer chave válidaSua própria situação de assinatura — nível, status, fim do período e o que o upgrade desbloqueia (iniciar o Pro exige método de pagamento e aceitar os Termos). Não consome cota de auditoria.

Prompts

Clientes que suportam prompts MCP (Claude Desktop, claude.ai) renderizam estes como algo que você pode escolher em um menu, então você não precisa formular a solicitação sozinho ou saber qual ferramenta pedir. Em clientes que não exibem prompts (Codex, atualmente), nada se perde além do menu — peça em palavras e as mesmas ferramentas são executadas.

PromptPrecisa de chave?O que faz
Ver um relatório de exemploNãoPercorre um relatório completo para example.com. Sem argumentos, sem configuração — um clique de qualquer instalação.
Verificar minha visibilidade de IAProExecuta get_ai_visibility para um domínio que você nomeia e depois explica a pontuação, quais assistentes nomeiam o negócio e quem é nomeado no lugar.
Executar uma auditoria completa do siteProExecuta run_audit para um domínio e resume por categoria, com as três correções mais importantes.
Comparar-me a um concorrenteProExecuta compare_competitors para seu domínio contra um rival nomeado e explica onde eles são nomeados e você não.

Cada prompt Pro recorre a get_sample_audit quando nenhuma chave de API está configurada, então você sempre recebe saída em vez de um erro.

Nomeando o negócio (opcional)

get_ai_visibility e run_audit ambos aceitam dois argumentos opcionais que decidem qual pergunta a verificação de visibilidade de IA realmente faz. compare_competitors aceita business_location apenas — veja abaixo por que ele não recebe nome:

ArgumentoOmitidoFornecido
business_nameDetectado do site e sinalizado com name_warning quando não pôde ser verificadoTomado como fato e registrado como fornecido pelo chamador — o que suprime o aviso
business_locationDetectado do site; se nada for encontrado, as perguntas se ampliam para o país ou descartam o local inteiramenteEscopa as perguntas para aquele local

Forneça um nome apenas quando você realmente o souber. Um nome fornecido substitui a detecção e é tratado como confirmado, então um palpite é pontuado exatamente como se um humano o tivesse verificado — e silencia o aviso que teria informado você do contrário. Omiti-lo é o padrão mais seguro: a detecção é transparente sobre sua própria incerteza.

O mesmo se aplica ao local, na direção oposta. Omiti-lo é correto para um negócio nacional ou global e errado para um local, já que um negócio local medido sem um local é medido contra as consultas erradas.

Sobre compare_competitors: ele recebe business_location e o aplica ao seu site e a todo concorrente, porque uma comparação pergunta sobre um mercado — pontuar você localmente enquanto pontua seus rivais globalmente classificaria as respostas de duas perguntas diferentes. Ele deliberadamente não recebe business_name: um nome identifica um negócio, e encaminhar o seu para seus concorrentes pontuaria cada um deles como você. O resultado nomeia o mercado que usou, então uma comparação escopada nunca é confundida com uma global.

"Check AI visibility for hawaiibackroad.com,
 the business is Big Island Backroad Adventures in Hilo, HI"

Instalação e configuração

O servidor executa diretamente via npx — sem clonagem ou build necessários.

Experimente antes de comprar. Instale sem nenhuma chave de API e peça ao seu agente uma auditoria de exemplo — get_sample_audit retorna um relatório completo para example.com no formato exato que uma execução real produz, então você pode verificar se o formato atende suas necessidades primeiro.

Preços. Auditar domínios reais exige uma assinatura do Website Auditor a US$ 10/mês — novos clientes elegíveis ganham um teste grátis de 7 dias (método de pagamento necessário para começar; sem cobrança até o fim do teste; clientes que usaram um teste nos últimos 12 meses são cobrados imediatamente). Cadastre-se e crie uma chave de API em api.website-auditor.io/admin_portal, depois defina-a como WA_API_KEY abaixo. Não há nível de API grátis — uma chave só funciona com uma assinatura ativa.

Claude Desktop (claude_desktop_config.json), Cursor (~/.cursor/mcp.json) e a maioria dos outros clientes usam o mesmo formato mcpServers:

{
  "mcpServers": {
    "website-auditor": {
      "command": "npx",
      "args": ["-y", "website-auditor-mcp"],
      "env": {
        "WA_API_KEY": "wa_your_key_here"
      }
    }
  }
}

Claude Code — adicione pela CLI:

claude mcp add website-auditor -e WA_API_KEY=wa_your_key_here -- npx -y website-auditor-mcp

Codex — a CLI, a extensão de IDE e o aplicativo de desktop do ChatGPT leem o mesmo ~/.codex/config.toml, então um destes cobre todos os três:

codex mcp add website-auditor --env WA_API_KEY=wa_your_key_here -- npx -y website-auditor-mcp
[mcp_servers.website-auditor]
command = "npx"
args = ["-y", "website-auditor-mcp"]

[mcp_servers.website-auditor.env]
WA_API_KEY = "wa_your_key_here"

O Codex não renderiza prompts MCP, então os Prompts acima não aparecerão como entradas de menu lá — peça em palavras em vez disso ("mostre-me uma auditoria de exemplo").

Ou instale o plugin Codex empacotado, que agrupa o mesmo servidor e restaura os prompts como skills (que o Codex renderiza):

codex plugin marketplace add SpikeyCoder/website-auditor-mcp
codex plugin add website-auditor@spikeycoder

Cursor — instalação em um clique, ou coloque o mesmo JSON mcpServers acima em ~/.cursor/mcp.json:

Install in Cursor

A configuração de um clique chega com um WA_API_KEY vazio — o relatório de exemplo funciona como está; preencha a chave em Configurações → MCP para auditar domínios reais. Também há um plugin Cursor empacotado (este servidor mais os prompts como skills) em cursor-plugin/; sua listagem no Cursor Marketplace está pendente — status em docs/CURSOR-PLUGIN.md.

Reinicie o cliente e as ferramentas aparecem.

Obtendo uma chave de API

WA_API_KEY é uma chave por usuário (começa com wa_) cunhada de uma conta do Website Auditor em api.website-auditor.io/admin_portal — o portal administrativo, onde você assina e gerencia chaves.

Cunhar uma chave exige uma assinatura ativa (US$ 10/mês; novos clientes elegíveis ganham um teste grátis de 7 dias — método de pagamento necessário, sem cobrança até o fim do teste): não há nível de API grátis, então toda ferramenta exceto get_sample_audit, check_upgrade_status e get_recommendations precisa de uma. get_sample_audit não precisa de chave alguma. get_recommendations responde a qualquer chave válida com os próximos passos de uma auditoria já registrada; com Pro também diz onde se listar, o que os assistentes de IA erram sobre o negócio e qual arquivo de correção corrige cada descoberta.

Trate a chave como uma senha — defina-a apenas no env do seu cliente MCP e nunca a envie para um repositório.

Reinicie após definir ou alterar a chave. WA_API_KEY é lido uma vez, quando o servidor inicia, então uma chave adicionada enquanto o cliente está em execução é invisível para ele — no Claude Desktop, saia e reabra o aplicativo. Sem a reinicialização, as ferramentas continuam retornando o mesmo AUTH_REQUIRED sobre o qual você acabou de agir, o que parece idêntico à chave não funcionando.

Configuração (variáveis de ambiente)

VarPadrãoFinalidade
WA_API_KEY(obrigatório)Chave de API por usuário (começa com wa_).
WA_API_BASE_URLhttps://api.website-auditor.ioA API do Website Auditor que este servidor encapsula.
WA_SITE_URLhttps://website-auditor.ioUsado para construir links de relatórios compartilháveis.
WA_UPGRADE_URLhttps://api.website-auditor.io/admin_portal/Para onde erros de autenticação e assinatura apontam. ?source=mcp é anexado para que um cadastro iniciado aqui seja atribuível; defina seu próprio source para substituir. Não é exibido em erros de cota — o limite diário não é um upsell.
WA_REQUEST_TIMEOUT_MS120000Tempo limite para chamadas de API.
WA_AUDIT_CACHE_TTL_MS86400000Reutiliza a auditoria de um domínio dentro desta janela em vez de gastar cota (usado por compare_competitors). O padrão é 24h.
WA_SUBSCRIPTION_CACHE_TTL_MS60000Por quanto tempo um nível Pro/gratuito resolvido é armazenado em cache por chave antes de verificar novamente a assinatura.
WA_METRICS_DISABLED(não definido → métricas ativadas)Defina como 1/true para desativar a telemetria anônima de uso.

Apenas WA_API_KEY é normalmente necessário; o restante tem padrões sensatos. Veja .env.example para a lista completa.


Autenticação e níveis

Sua chave é validada em cada chamada. O nível Pro/gratuito é resolvido em tempo real pela API e armazenado em cache brevemente, então upgrades e downgrades entram em vigor em cerca de um minuto:

  • Sem chave → get_sample_audit ainda funciona (esse é o objetivo dela); toda outra ferramenta retorna AUTH_REQUIRED com o preço e um link de cadastro.
  • Chave revogada ou não reconhecida → INVALID_KEY, carregando a própria remediação da API ("gere uma nova chave"). Distinto de PRO_REQUIRED: a solução é uma nova chave, não uma compra.
  • Sem assinatura ativa (chave válida, expirada/cancelada/nunca assinada) → PRO_REQUIRED com o preço e um link de upgrade — não há nível gratuito de API; check_upgrade_status ainda responde para que o chamador possa entender o motivo, e get_recommendations ainda responde com a lista gratuita ("tier": "free").
  • Assinante (status active ou um teste em andamento) → todas as ferramentas.

Erros são normalizados para códigos estáveis nos quais agentes podem ramificar — por exemplo, AUTH_REQUIRED, INVALID_KEY, PRO_REQUIRED, OVER_QUOTA, UNREACHABLE_DOMAIN, INVALID_INPUT, TIMEOUT. Um domínio que resolve mas cujas páginas nunca carregam (fora do ar, recusando, expirando ou respondendo 404/5xx em todas as páginas) retorna UNREACHABLE_DOMAIN; um que não resolve é recusado antes de qualquer auditoria ser executada, como INVALID_INPUT. Nenhum recebe uma pontuação inventada.


Desenvolvimento

npm install
npm run build      # compile TypeScript → dist/
npm start          # serve over stdio
npm run dev        # run from source without building
npm test           # vitest
npm run typecheck

A suíte é hermética — o cliente de API, o provedor de assinatura e o medidor são injetados, e o HTTP é simulado no limite fetch, então nenhuma rede é tocada.


Política de Privacidade

ID de instalação anônimo. Quando a telemetria está ativada, o servidor gera um UUID aleatório na primeira execução e o armazena em ~/.config/website-auditor-mcp/install-id (ou $XDG_CONFIG_HOME), enviando-o com cada evento. Ele existe apenas para distinguir uma instalação reiniciada muitas vezes de muitas instalações separadas — sem ele, contagens de instalação são apenas contagens de reinicialização. Ele é gerado aleatoriamente, nunca derivado da sua máquina, nome de usuário ou rede, e não é uma impressão digital. Definir WA_METRICS_DISABLED interrompe a telemetria completamente: nenhum ID é gerado e nada é gravado em disco.

Este conector fala com um único serviço externo: a API do Website Auditor em website-auditor.io. Quando você invoca uma ferramenta, ela envia apenas duas coisas para essa API:

  • o domínio alvo que você pediu para auditar ou monitorar, e
  • sua chave de API (WA_API_KEY), usada para autenticar a solicitação e resolver seu nível de plano.

Isso é toda a extensão do que sai da sua máquina. O conector não coleta, armazena ou transmite seus arquivos, prompts, conteúdo de conversa ou qualquer outro dado pessoal, e não envia dados a terceiros além da API do Website Auditor. Sua chave de API é mantida apenas na configuração do seu cliente MCP (no Claude Desktop, ela é armazenada no chaveiro do sistema operacional e injetada como uma variável de ambiente); ela nunca é gravada no pacote ou registrada em logs.

Telemetria anônima e agregada de uso (qual ferramenta foi executada, sucesso/falha, latência — sem domínios, sem chaves, sem dados pessoais) pode ser emitida para melhorar o serviço, e pode ser desativada completamente definindo WA_METRICS_DISABLED=1. Instalado como uma extensão de desktop, a mesma opção de exclusão é uma caixa de seleção "Desativar telemetria anônima de uso" nas configurações da extensão.

Política de privacidade completa: https://website-auditor.io/privacy


Licença

MIT — © 2026 Kevin Armstrong / SpikeyCoder.

Isso cobre o servidor MCP neste repositório: o cliente que fala com a API do Website Auditor. O mecanismo de auditoria e a API por trás dele são produtos separados, não cobertos aqui, e executar auditorias reais ainda requer uma conta no Website Auditor.

Saiba mais em website-auditor.io.