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
| Ferramenta | Nível | O que faz |
|---|---|---|
get_sample_audit | Grátis — sem chave | Um 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_visibility | Pro | Pontuaçã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_audit | Pro, com limite de taxa | Auditoria ú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_changes | Pro | O 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_competitors | Pro | Ranking 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_site | Pro | Iniciar (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_site | Pro | Parar o monitoramento de um site e liberar um slot de monitoramento. Idempotente. |
list_tracked_sites | Pro | Listar os sites que você monitora, com cadência, estado ativo e slots usados/restantes. |
get_monitoring_status | Pro | Um 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_status | Qualquer chave válida | Sua 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.
| Prompt | Precisa de chave? | O que faz |
|---|---|---|
| Ver um relatório de exemplo | Não | Percorre um relatório completo para example.com. Sem argumentos, sem configuração — um clique de qualquer instalação. |
| Verificar minha visibilidade de IA | Pro | Executa 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 site | Pro | Executa run_audit para um domínio e resume por categoria, com as três correções mais importantes. |
| Comparar-me a um concorrente | Pro | Executa 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:
| Argumento | Omitido | Fornecido |
|---|---|---|
business_name | Detectado do site e sinalizado com name_warning quando não pôde ser verificado | Tomado como fato e registrado como fornecido pelo chamador — o que suprime o aviso |
business_location | Detectado do site; se nada for encontrado, as perguntas se ampliam para o país ou descartam o local inteiramente | Escopa 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:
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)
| Var | Padrão | Finalidade |
|---|---|---|
WA_API_KEY | (obrigatório) | Chave de API por usuário (começa com wa_). |
WA_API_BASE_URL | https://api.website-auditor.io | A API do Website Auditor que este servidor encapsula. |
WA_SITE_URL | https://website-auditor.io | Usado para construir links de relatórios compartilháveis. |
WA_UPGRADE_URL | https://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_MS | 120000 | Tempo limite para chamadas de API. |
WA_AUDIT_CACHE_TTL_MS | 86400000 | Reutiliza 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_MS | 60000 | Por 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_auditainda funciona (esse é o objetivo dela); toda outra ferramenta retornaAUTH_REQUIREDcom 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 dePRO_REQUIRED: a solução é uma nova chave, não uma compra. - Sem assinatura ativa (chave válida, expirada/cancelada/nunca assinada) →
PRO_REQUIREDcom o preço e um link de upgrade — não há nível gratuito de API;check_upgrade_statusainda responde para que o chamador possa entender o motivo, eget_recommendationsainda responde com a lista gratuita ("tier": "free"). - Assinante (status
activeou 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.