GEO Tracker by DigestSEO

Rastreie citações de marca em sete superfícies de busca por IA. OSS gratuito; auditoria opcional pronta para cliente por EUR 99.

Documentação

DigestSEO — MCP de Visibilidade em IA para SEO e GEO

CI npm version MCP Registry License: MIT TypeScript Cloudflare Workers MCP mcp-geo MCP server Wellknown reliability GitHub stars EUR 99 AI Visibility Audit

Instalação Rápida

Funciona localmente via stdio com suas próprias chaves de API — todos os dados permanecem na sua máquina (veja a Política de Privacidade). Defina pelo menos uma chave de mecanismo (OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, PERPLEXITY_API_KEY, XAI_API_KEY, SERPAPI_API_KEY); mecanismos sem chave são ignorados automaticamente.

Tempo de execução: Node.js 22.13+ (CI testa Node 22 e 24).

Claude Desktop / qualquer cliente MCP (npx):

{
  "mcpServers": {
    "digestseo": {
      "command": "npx",
      "args": ["-y", "@digestseo/mcp-geo"],
      "env": {
        "OPENAI_API_KEY": "sk-...",
        "GEMINI_API_KEY": "your_key_here"
      }
    }
  }
}

ChatGPT (MCP remoto): O ChatGPT não se conecta diretamente a servidores MCP STDIO locais. Para o ChatGPT, use a configuração de MCP remoto auto-hospedado abaixo, ou a configuração do OpenAI Secure MCP Tunnel para um servidor rodando em uma máquina local/privada. O endpoint público geo-mcp.digestseo.com/mcp não é um serviço de escaneamento novo sem chave e pronto para uso.

Perplexity Computer (MCP remoto): O Perplexity Computer suporta conectores MCP remotos personalizados em planos elegíveis. Após auto-hospedar o mcp-geo, abra Account settings > Connectors > + Custom connector, escolha Remote, nomeie-o como digestseo e insira a URL https://<worker-host>/mcp da sua própria implantação. Use a opção OAuth do conector para o fluxo Worker; se você configurou CONNECT_SECRET, conclua essa etapa de navegador durante a conexão. Não use o endpoint público geo-mcp.digestseo.com/mcp como um serviço de escaneamento sem chave e pronto para uso. Consulte o guia de conectores Computer atual da Perplexity.

Claude Code:

claude mcp add --transport stdio digestseo -s user --env GEMINI_API_KEY=your_key_here -- npx -y @digestseo/mcp-geo

Ou instale a mesma integração MCP local através do marketplace de Claude Code controlado pelo proprietário deste repositório:

/plugin marketplace add AKzar1el/mcp-geo
/plugin install digestseo-geo@digestseo-mcp

O plugin do marketplace usa o .mcp.json do repositório para iniciar o npx -y @digestseo/mcp-geo. Zero chaves de provedor são suficientes para a descoberta de ferramentas; para escaneamentos com mecanismos, disponibilize apenas as chaves de provedor que você deseja para o processo do Claude Code. O comando direto claude mcp add acima continua sendo a opção mais simples quando você deseja anexar chaves de provedor explicitamente à configuração do servidor.

Codex CLI:

codex mcp add digestseo -- npx -y @digestseo/mcp-geo

O comando com zero chaves é suficiente para a descoberta de ferramentas. Adicione apenas as chaves de provedor que você deseja com opções repetidas de --env NAME=VALUE antes do -- quando escaneamentos com mecanismos forem necessários.

Amp CLI:

amp mcp add digestseo -- npx -y @digestseo/mcp-geo

O Amp executa isso como um servidor MCP STDIO local. O comando com zero chaves é suficiente para a descoberta de ferramentas; antes de escaneamentos com mecanismos, disponibilize apenas as chaves de provedor que você deseja para o processo do Amp ou configure-as nas configurações locais de MCP env do Amp em vez de commitar segredos. Consulte o guia MCP atual do Amp.

OpenCode v2:

opencode mcp add digestseo --global -- npx -y @digestseo/mcp-geo

O OpenCode v2 executa isso como um servidor STDIO local. Omita --global para configuração apenas no projeto. Zero chaves são suficientes para a descoberta de ferramentas MCP. Para escaneamentos com mecanismos, edite a configuração gerada do OpenCode v2 e adicione apenas as variáveis de provedor que você deseja sob mcp.servers.digestseo.environment, mapeando cada uma para uma referência de ambiente como "OPENAI_API_KEY": "{env:OPENAI_API_KEY}"; mantenha o valor real do segredo no ambiente do processo em vez de no arquivo de configuração. Verifique a conexão com opencode mcp list. Consulte o guia MCP do OpenCode v2 atual.

Mistral Vibe Code: adicione o mcp-geo ao ~/.vibe/config.toml no nível do usuário ou ao ./.vibe/config.toml no nível do projeto:

[[mcp_servers]]
name = "digestseo"
transport = "stdio"
command = "npx"
args = ["-y", "@digestseo/mcp-geo"]

A entrada com zero chaves é suficiente para a descoberta de ferramentas. Para escaneamentos com mecanismos, passe apenas as chaves de provedor que você deseja através da configuração de ambiente STDIO do Vibe ou do ambiente herdado pelo Vibe, em vez de commitar segredos. Use /mcp digestseo (ou /mcp) no Vibe para verificar o servidor e as ferramentas. Consulte o guia de servidor MCP atual da Mistral e a referência de configuração do Vibe.

LibreChat: adicione o mcp-geo ao librechat.yaml como um servidor STDIO local:

mcpServers:
  digestseo:
    type: stdio
    command: npx
    args:
      - -y
      - '@digestseo/mcp-geo'

Reinicie o LibreChat após alterar librechat.yaml. A entrada com zero chaves é suficiente para a descoberta de ferramentas MCP. Antes de escaneamentos com mecanismos, exponha apenas as chaves de API de provedor que você pretende usar para o processo do LibreChat, em vez de commitar valores secretos no arquivo YAML. Consulte o guia de configuração MCP atual do LibreChat e o guia de recursos MCP.

Raycast AI: abra Install MCP Server (ou Manage MCP Servers -> Install New Server), escolha Standard Input/Output, defina Command como npx e Arguments como -y e @digestseo/mcp-geo. A instalação com zero chaves é suficiente para a descoberta de ferramentas. Antes de escaneamentos com mecanismos, adicione apenas as chaves de provedor que você deseja nos campos Environment do MCP do Raycast, em vez de codificá-las em arquivos de projeto compartilhados. Reinicie o Raycast se npx foi adicionado ao PATH após o Raycast iniciar. Consulte o manual MCP atual do Raycast.

Msty Studio: abra Toolbox -> Add New Tool, escolha STDIO / JSON e use:

{
  "command": "npx",
  "args": ["-y", "@digestseo/mcp-geo"]
}

A ferramenta com zero chaves é suficiente para a descoberta MCP. Para escaneamentos com mecanismos, defina apenas as chaves de provedor que você deseja em Environments do Msty Studio e anexe-as à ferramenta, em vez de armazenar segredos brutos em arquivos compartilhados. O Msty Studio Desktop pode executar a ferramenta localmente; o Studio Web precisa da conexão Desktop/Sidecar documentada para ferramentas MCP locais. Consulte o guia MCP do Toolbox atual do Msty Studio e o guia de ambientes.

Zed: abra Settings -> AI -> MCP Servers, escolha Add Server -> Add Local Server e configure digestseo com o comando npx e os argumentos -y, @digestseo/mcp-geo. O servidor local com zero chaves é suficiente para a descoberta de ferramentas; para escaneamentos com mecanismos, adicione apenas as chaves de provedor que você pretende usar no mapa env do MCP local do Zed, em vez de commitar segredos em configurações de projeto compartilhadas. Se você executar o Path B no seu próprio Worker, escolha Add Remote Server e use https://<worker-host>/mcp; quando nenhum cabeçalho Authorization estiver configurado, o Zed usa o fluxo OAuth MCP padrão. Não trate o endpoint público do DigestSEO como um serviço de chaves de provedor pronto para uso. Consulte o guia MCP atual do Zed.

TraeCode: abra Settings -> MCP -> Add -> Manually add e cole esta configuração STDIO local, ou salve o mesmo objeto mcpServers como .trae/mcp.json em um projeto confiável:

{
  "mcpServers": {
    "digestseo": {
      "command": "npx",
      "args": ["-y", "@digestseo/mcp-geo"]
    }
  }
}

O TraeCode recomenda NPX/UVX para servidores MCP locais e suporta valores env quando escaneamentos com mecanismos precisam de chaves de provedor. A forma com zero chaves é suficiente para a descoberta; mantenha segredos brutos de provedor fora do .trae/mcp.json no nível do projeto. O TraeCode CLI também pode carregar esse arquivo MCP no nível do projeto, ou você pode adicionar uma entrada stdio equivalente através de traecli config edit e inspecioná-la com /mcp. Consulte a configuração MCP do IDE atual do TraeCode e o guia MCP do CLI.

GitHub Copilot CLI:

copilot mcp add digestseo -- npx -y @digestseo/mcp-geo

A instalação base começa com zero chaves de provedor para que a descoberta de ferramentas funcione. Adicione apenas as chaves de mecanismo que você deseja com a opção --env NAME=VALUE do Copilot CLI antes de executar escaneamentos.

Plugin de Agente Portátil (GitHub Copilot / VS Code / Kiro e outros clientes Agent Plugins 1.0): este repositório agora inclui o par padrão plugin.json + mcp.json na raiz. O GitHub Copilot CLI pode instalá-lo diretamente do GitHub:

copilot plugin install AKzar1el/mcp-geo

No VS Code, execute Chat: Install Plugin from Source e insira https://github.com/AKzar1el/mcp-geo. No Kiro, use Powers -> Add Custom Power -> Import power from GitHub com a mesma URL do repositório. O plugin portátil inicia o npx -y @digestseo/mcp-geo; zero chaves de provedor são suficientes para a descoberta, enquanto escaneamentos com mecanismos herdam apenas as chaves de provedor que você disponibiliza intencionalmente para o cliente host. Os caminhos de instalação nativos existentes acima permanecem válidos.

Qoder CLI:

qoder mcp add digestseo -- npx -y @digestseo/mcp-geo
qoder mcp list

O Qoder inicia isso como um servidor MCP STDIO local. O comando com zero chaves é suficiente para a descoberta de ferramentas; disponibilize apenas as chaves de provedor que você deseja para o processo do Qoder antes de escaneamentos com mecanismos. Se o Qoder já estiver em execução, use /mcp reload para redescobrir o servidor e as ferramentas. Consulte o guia de servidor MCP atual do Qoder e a referência MCP.

Docker Agent: O Docker Agent pode iniciar servidores MCP STDIO locais diretamente do YAML do agente. Adicione este conjunto de ferramentas ao agente que deve usar o mcp-geo:

toolsets:
  - type: mcp
    command: npx
    args: ["-y", "@digestseo/mcp-geo"]

A forma com zero chaves é suficiente para a descoberta de ferramentas. Para escaneamentos com mecanismos, adicione apenas as chaves de provedor que você precisa no mapa env: do conjunto de ferramentas (o Docker Agent suporta expansão ${env.NAME}) em vez de commitar valores secretos. Consulte a documentação de ferramentas MCP locais atual do Docker.

goose: adicione o mcp-geo como uma extensão STDIO local em ~/.config/goose/config.yaml (macOS/Linux) ou %APPDATA%\Block\goose\config\config.yaml (Windows):

extensions:
  digestseo-geo:
    type: stdio
    name: digestseo-geo
    enabled: true
    cmd: npx
    args: ["-y", "@digestseo/mcp-geo"]
    timeout: 300

A extensão com zero chaves é suficiente para a descoberta de ferramentas. Antes de escaneamentos com mecanismos, configure apenas as variáveis de ambiente de provedor que você deseja para esta extensão através das configurações de extensão / armazenamento de segredos do goose, em vez de colocar chaves de API brutas no arquivo YAML. O mesmo servidor também pode ser adicionado interativamente com goose configure -> Add Extension -> Command-Line Extension. Consulte a configuração de extensões atual do goose e a referência de configuração.

GitLab Duo CLI: as versões atuais do GitLab Duo CLI podem consumir marketplaces de plugins compatíveis com Claude diretamente. Registre este repositório e instale o plugin digestseo-geo existente:

glab duo plugin marketplace add https://github.com/AKzar1el/mcp-geo.git
glab duo plugin install digestseo-geo@digestseo-mcp

O plugin instalado carrega o mesmo servidor MCP local npx -y @digestseo/mcp-geo de .mcp.json. Zero chaves de provedor permitem a descoberta; disponibilize apenas as chaves de provedor que você deseja para o processo do GitLab Duo CLI antes de escaneamentos com mecanismos.

Factory Droid:

droid mcp add digestseo "npx -y @digestseo/mcp-geo"
droid mcp list

O Droid executa isso como um servidor MCP STDIO local. A instalação com zero chaves é suficiente para a descoberta de ferramentas; adicione apenas as chaves de provedor que você escolher na configuração MCP no nível do usuário do Droid antes de escaneamentos com mecanismos. Mantenha segredos de provedor fora dos arquivos .factory/mcp.json no nível do projeto.

Amazon Q Developer (IDE): abra o painel de chat do Q Developer ? Tools ? +, escolha STDIO, nomeie o servidor como digestseo, defina Command como npx e adicione os Argumentos -y e @digestseo/mcp-geo. Adicione apenas as variáveis de ambiente de provedor que você deseja antes de executar escaneamentos; zero chaves ainda permitem a descoberta de ferramentas MCP.

JetBrains AI Assistant (IDE): abra Settings > Tools > AI Assistant > Model Context Protocol (MCP) > Add, escolha STDIO e use:

{
  "mcpServers": {
    "digestseo": {
      "command": "npx",
      "args": ["-y", "@digestseo/mcp-geo"]
    }
  }
}

O JetBrains AI Assistant suporta servidores MCP STDIO e NPX locais. A forma com zero chaves é suficiente para a descoberta de ferramentas; antes de escaneamentos com mecanismos, disponibilize apenas as chaves de provedor que você deseja para o processo do IDE, ou importe um servidor MCP Claude já configurado.

JetBrains Air: este repositório já inclui o .mcp.json padrão na raiz que inicia o npx -y @digestseo/mcp-geo. No Air, abra Settings > AI > MCP Servers, habilite MCP support e Launch workspace MCP servers, e use o escopo Workspace para que o Air reutilize esse arquivo versionado. A configuração do repositório não contém segredos de provedor e é suficiente para a descoberta de ferramentas com zero chaves. Escaneamentos com mecanismos ainda exigem as chaves de provedor selecionadas no ambiente do processo do servidor local; mantenha-as fora do .mcp.json versionado. Consulte o guia de servidor MCP do JetBrains Air.

Visual Studio 2022 17.14+ / Visual Studio 2026: O Visual Studio usa sua própria configuração MCP no formato servers. Crie %USERPROFILE%\.mcp.json para uma instalação em todo o usuário ou <SOLUTIONDIR>\.mcp.json para uma solução:

{
  "servers": {
    "digestseo": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@digestseo/mcp-geo"]
    }
  }
}

Abra o GitHub Copilot Chat no modo Agent e use o menu Tools para verificar se digestseo está disponível. Nenhuma chave de provedor é necessária para a descoberta de ferramentas; antes de varreduras baseadas em mecanismos, disponibilize apenas as chaves de provedor que você deseja para o processo do Visual Studio, em vez de commitar segredos no arquivo de solução. Consulte a configuração atual do MCP no Visual Studio da Microsoft.

Cursor:

Add to Cursor

Windsurf: abra Manage MCPs → View raw config e adicione o pacote stdio local:

{
  "mcpServers": {
    "digestseo": {
      "command": "npx",
      "args": ["-y", "@digestseo/mcp-geo"],
      "env": {
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}

Use apenas as chaves de provedor que você deseja; zero chaves ainda permitem a descoberta de ferramentas MCP.

Roo Code: abra MCP Servers > Edit Global MCP, ou crie .roo/mcp.json para uma instalação no escopo do projeto, e adicione:

{
  "mcpServers": {
    "digestseo": {
      "command": "npx",
      "args": ["-y", "@digestseo/mcp-geo"]
    }
  }
}

O Roo Code suporta servidores MCP STDIO locais. A forma com zero chaves é suficiente para a descoberta de ferramentas; adicione apenas as chaves de provedor que você deseja antes das varreduras. No Windows, se o Roo não conseguir iniciar npx diretamente, use "command": "cmd" com "args": ["/c", "npx", "-y", "@digestseo/mcp-geo"], seguindo o fallback documentado do Roo para Windows.

VS Code: Instale o servidor stdio local no VS Code. A instalação base começa sem chaves de provedor para que a descoberta de ferramentas funcione; adicione apenas as chaves de API que você deseja na configuração de usuário do MCP no VS Code antes de executar varreduras.

LM Studio: Adicione o servidor stdio local ao LM Studio. A instalação base começa sem chaves de provedor para que a descoberta de ferramentas funcione; adicione apenas as chaves de API que você deseja em mcp.json do LM Studio antes de executar varreduras.

Kiro: Add to Kiro para uma instalação local com um clique, ou abra a configuração de MCP do usuário (~/.kiro/settings/mcp.json) / configuração do workspace (.kiro/settings/mcp.json) e adicione o pacote stdio local manualmente:

{
  "mcpServers": {
    "digestseo": {
      "command": "npx",
      "args": ["-y", "@digestseo/mcp-geo"]
    }
  }
}

O Kiro suporta servidores MCP STDIO locais em todas as suas superfícies atuais. A forma com zero chaves é suficiente para a descoberta; adicione apenas as variáveis de ambiente do provedor que você deseja antes de varreduras baseadas em mecanismos. Para uso remoto, hospede o Worker abaixo e configure sua própria URL /mcp implantada. O endpoint público geo-mcp.digestseo.com/mcp não é um serviço de varredura nova sem chave e pronto para uso.

Extensão Claude Desktop (um clique): baixe o pacote .mcpb da última versão e clique duas vezes nele — o Claude Desktop solicita as chaves de API.

Primeira execução: peça ao seu cliente para "rastrear acme.com como marca acme, depois atualizá-la"track_brand cria a marca com prompts gerados, refresh_brand executa a primeira varredura, check_visibility mostra as pontuações.

Agentes de IA instalando este servidor: siga llms-install.md. Prefere um servidor remoto com atualização automática via cron? Hospede você mesmo no Cloudflare Workers abaixo.


mcp-geo é um rastreador de visibilidade de IA de código aberto que mede com que frequência sua marca é citada por ChatGPT, Claude, Perplexity, Gemini, Grok, Google AI Overviews e Google AI Mode. É o equivalente de GEO (Generative Engine Optimization) e AEO (Answer Engine Optimization) ao Google Search Console — construído como um servidor MCP para que você possa consultar seus dados de visibilidade de IA diretamente no ChatGPT por meio de um aplicativo MCP remoto configurado, Claude.ai, Claude Desktop, Claude Code, GitHub Copilot CLI, Cursor, Codex CLI ou qualquer cliente compatível com MCP.

Página canônica do produto: DigestSEO mcp-geo — AI Visibility MCP Server

Estudo de caso de engenharia: DigestSEO MCP Suite — AI visibility, Search Console, web validation, and trend intelligence

Precisa de uma linha de base pronta para o cliente sem executar a stack você mesmo? O mcp-geo AI Visibility Audit custa EUR 99 uma única vez: uma marca, até três concorrentes, 20 prompts de intenção de compra, verificações em até cinco superfícies de IA suportadas onde provedores configurados retornam resultados utilizáveis, evidência de citações e um memorando de ações priorizadas. O pacote de código aberto permanece gratuito.

Veja a prova primeiro: Abra o relatório de exemplo gerado por meio do mcp-geo para ver o estilo de saída e a profundidade das evidências antes de solicitar a auditoria.

Pronto para solicitar? Abra um e-mail pré-preenchido com sua marca/domínio e até três concorrentes. Nenhuma assinatura ou chamada de vendas é necessária.

Entrega do pagamento: Após a confirmação de adequação e escopo, respondo com as instruções normais de fatura/pagamento.

Metodologia: Os mesmos 20 prompts de intenção de compra são executados como um diagnóstico pontual e relatados por mecanismo, com evidência de citação/fonte quando disponível. A auditoria é um instantâneo observado, não uma promessa de ranking proprietário ou previsão garantida.

Quer o protocolo antes de comprar? Leia a metodologia do AI Visibility Audit, incluindo escopo, cobertura de mecanismos, limites de interpretação e o que a auditoria não afirma.

Prefere zero configuração? Experimente a versão hospedada em digestseo.com — infraestrutura gerenciada no Cloudflare, sem chaves de API para gerenciar, multi-marca, atualização agendada, interface web. Lista de espera aberta agora. Entrar na lista de espera →


O que ele produz

Conecte via MCP, peça ao Claude "Execute uma análise de visibilidade de IA em [minha marca]", e em 90 segundos você recebe um memorando de qualidade de estrategista fundamentado em dados reais por mecanismo:

Example AI visibility report

Veja o relatório completo incluindo lacunas de conteúdo, recomendações de mecanismos e síntese →

Quer reproduzir a mesma estrutura de evidências em primeiro lugar com seus próprios dados? Use o prompt de relatório reutilizável do AI Visibility Audit.

O relatório acima foi gerado pelo Claude por meio do servidor MCP digestseo-mcp. A conversa encadeou cinco ferramentas hospedadas — visibility.check, visibility.compare, visibility.citations (Perplexity + Claude) e visibility.content_gaps — para produzir uma análise de 4 mecanismos com trechos de citações e um memorando de estratégia com 3 recomendações.


Novidades

[0.3.21] - 22 de setembro de 2026

  • MCP hospedado sem estado: o tráfego /mcp protegido por OAuth agora usa o caminho createMcpHandler do SDK-v2 do Cloudflare com compatibilidade legada sem estado e validação explícita de Host/Origin, enquanto a antiga vinculação Durable Object permanece apenas como uma retenção conservadora de migração.
  • Contexto de ferramenta mais enxuto: todas as doze ferramentas MCP agora expõem descrições concisas lideradas por exemplos e orientação completa de parâmetros de entrada, reduzindo a sobrecarga de contexto do cliente e tornando a seleção de ferramentas mais clara.

[0.3.20] - 22 de setembro de 2026

  • Solicitações de provedor limitadas: chamadas externas a provedores de IA e SerpAPI agora expiram após 90 segundos, em vez de permitir que uma API upstream travada pendure uma varredura indefinidamente.
  • Varreduras manuais duráveis do Worker: solicitações /admin/run-live autenticadas podem definir wait_for_completion: true para que atualizações manuais/do operador permaneçam anexadas até que o trabalho do mecanismo vinculado ao serviço termine.

[0.3.19] - 22 de setembro de 2026

  • Google AI Mode: opte por participar com SERPAPI_AI_MODE_ENABLED=true para medir o Google AI Mode separadamente por meio do SerpAPI, incluindo evidência de citação/fonte quando retornada.
  • Correções seguras de marcas rastreadas: usuários locais de MCP podem chamar update_brand para alterar identidade, concorrentes, aliases, exclusões ou cadência de atualização sem substituir prompts ou execuções históricas.
  • Agendamento manual: defina refresh_frequency como manual para pausar varreduras agendadas auto-hospedadas enquanto mantém refresh_brand explícito disponível.

[0.3.18] - 21 de setembro de 2026

  • Cobertura de visibilidade Grok: opte por participar com XAI_API_KEY para medir respostas fundamentadas do Grok via xAI Web Search junto com ChatGPT, Claude, Perplexity, Gemini e Google AI Overviews.

[0.3.17] - 21 de setembro de 2026

  • Conjuntos de medição exatos definidos pelo usuário: usuários locais de MCP agora podem chamar set_prompts para substituir os prompts ativos de uma marca por 1-50 perguntas de comprador acordadas, preservando execuções históricas; conjuntos idênticos repetidos são uma operação sem efeito.

[0.3.16] - 21 de setembro de 2026

  • Compatibilidade Gemini para novos projetos: varreduras Gemini agora usam gemini-3.1-flash-lite por padrão, evitando a restrição de acesso Gemini 2.5 que o Google aplica a alguns novos projetos, preservando a mesma integração GenerateContent.

[0.3.15] - 20 de setembro de 2026

  • Falhas de configuração de provedor mais claras: uma solicitação de atualização explícita para um mecanismo não configurado agora nomeia o mecanismo indisponível e explica como se recuperar, em vez de relatar que nenhum mecanismo está disponível.
  • Onboarding mais amplo para clientes locais: a configuração copiar-colar agora cobre Roo Code, Codex CLI e OpenCode v2, além dos clientes MCP existentes.
  • Links README instalados confiáveis: leitores de pacotes npm são direcionados para URLs duráveis do GitHub para documentação e ativos de relatório que são intencionalmente excluídos do tarball.

[0.3.14] - 20 de setembro de 2026

  • Entradas de medição inspecionáveis: usuários locais de MCP agora podem chamar list_prompts para revisar o conjunto exato de prompts de intenção de compra ativos para uma marca rastreada sem regenerá-lo ou alterá-lo.
  • Onboarding correto do ChatGPT: a orientação do ChatGPT agora usa um servidor MCP remoto configurado ou o OpenAI Secure MCP Tunnel para servidores locais/privados, em vez de anunciar registro STDIO local direto não suportado.

[0.3.13] - 20 de setembro de 2026

  • Evidência de citação mais fiel: get_citations agora preserva a URL exata da página citada nativa do mecanismo, incluindo caminho e consulta, quando o provedor retorna uma.
  • Metadados atuais da galeria CLI Gemini: o manifesto da extensão agora permanece sincronizado em versão com o pacote, evitando rótulos de versão de galeria desatualizados após o lançamento.

[0.3.12] - 20 de setembro de 2026

  • Melhor orientação de fluxo de trabalho para agentes: respostas de inicialização MCP locais e hospedadas agora incluem instruções concisas no nível do servidor para o fluxo correto de marca → atualização → visibilidade, comportamento assíncrono de atualização hospedada e semântica de mecanismo indisponível.

[0.3.11] - 19 de setembro de 2026

  • Rastreamento agendado mais confiável: frescor por mecanismo e fan-out de mecanismos devidos mantêm provedores desatualizados atualizados sem reexaminar desnecessariamente os frescos, enquanto as marcas podem escolher cadência diária ou semanal.
  • Manipulação de solicitações mais segura: seleções de mecanismos duplicadas são deduplicadas em atualização hospedada e leituras de visibilidade, e a criação de marcas hospedada rejeita valores de cadência de atualização inválidos antes da persistência.
  • Metadados completos do Claude Desktop: o manifesto MCPB agora declara todas as nove ferramentas locais fixas, incluindo track_brand, list_brands e generate_prompts, correspondendo ao servidor stdio real exposto após a instalação.

[0.3.10] - 19 de setembro de 2026

  • Atualizações BYOK mais seguras: nomes de mecanismos duplicados são deduplicados antes do despacho do provedor, para que uma única solicitação não possa acionar acidentalmente varreduras duplicadas ou cobranças do provedor.
  • Contratos MCP mais fortes: saídas estruturadas de prompts vencedores/perdedores e lacunas de conteúdo agora publicam esquemas concretos em vez de registros opacos, melhorando a validação no lado do cliente e a interoperabilidade de agentes.
  • Melhores instalações no Registry: os metadados do Official MCP Registry agora anunciam todas as cinco chaves de API de provedor suportadas como configuração secreta opcional para o pacote npm stdio.

[0.3.9] - 19 de setembro de 2026

  • Frescor de instantâneo transparente: instantâneos de visibilidade agora expõem o próprio carimbo de tempo de observação de cada mecanismo, para que dados de mecanismos mais antigos não possam ser confundidos com resultados uniformemente frescos.
  • Tendências de histórico auditáveis: o histórico de visibilidade agora inclui o denominador de prompts utilizáveis, a contagem de menções à marca e o tempo de observação por trás de cada pontuação por mecanismo.

[0.3.8] - 19 de setembro de 2026

  • Evidência de auditoria mais confiável: comparações de concorrentes agora honram sua janela de vários dias solicitada em todas as execuções utilizáveis e retornam contagens exatas de menções; trechos de citações e fallbacks de lacunas de conteúdo sem provedor são fundamentados na mesma evidência subjacente.
  • Alcance de instalação local mais amplo: adicionada configuração do Amazon Q Developer IDE para o pacote stdio local existente.

[0.3.7] - 19 de setembro de 2026

  • Contagem exata de prompts de auditoria: a geração de prompts agora persiste exatamente o número solicitado de prompts únicos ou deixa o conjunto de prompts existente intacto, protegendo o escopo fixo de 20 prompts da auditoria paga.

[0.3.6] - 18 de setembro de 2026

  • Verificações ChatGPT fundamentadas: a visibilidade ao vivo do ChatGPT usa pesquisa na web, e a pontuação de menções a domínios semelhantes foi reforçada.
  • Maior alcance de instalação local: adicionados metadados do Gemini CLI, além de caminhos de instalação com um clique para VS Code e LM Studio.

[0.3.5] - 17 de setembro de 2026

  • Correção de provedor/tempo de execução: migrou o Perplexity para a API de Agente e manteve as instalações de plugins no pacote stdio local, em vez do Worker público não configurado.
  • Confiança/prontidão: adicionada divulgação de privacidade própria, empacotamento MCPB somente em produção e fórmulas transparentes de pontuação de auditoria.

[0.3.4] - 15 de setembro de 2026

  • Portabilidade MCPB do Claude Desktop: o pacote não inclui mais binários nativos better-sqlite3; o armazenamento local usa o node:sqlite integrado no Node.js 22.13+.
  • Precisão do registro: os metadados oficiais agora anunciam apenas o pacote npm stdio, enquanto o endpoint hospedado público não é um serviço de nova verificação configurado e pronto para uso.

[0.3.3] - 10 de setembro de 2026

  • Auditoria única opcional: o pacote de código aberto permanece gratuito; equipes que desejam uma base pronta para o cliente podem solicitar a Auditoria de Visibilidade de IA mcp-geo por EUR 99 pelo CTA acima.
  • Caminho de solicitação com menos atrito: o README agora abre um e-mail pré-preenchido e marcado pela fonte, enquanto os detalhes da auditoria permanecem disponíveis em https://geo-mcp.digestseo.com/audit.

[0.3.2] — 27 de julho de 2026

  • Pacote com escopo publicado: @digestseo/mcp-geo com metadados sincronizados de Worker, MCP Registry e MCPB.
  • Metadados de ferramentas hospedadas: namespaces visibility.* com esquemas de entrada/saída tipados; os nomes das ferramentas stdio locais permanecem simples.
  • Distribuição e implantação: configuração D1 dedicada mcp-geo-db, metadados de plugins Cursor e Claude Code, e correções de dependências de produção.

[0.3.0] — Julho de 2026

  • CLI stdio local no npm (npx -y @digestseo/mcp-geo): as mesmas ferramentas MCP com banco de dados SQLite local (~/.digestseo/digestseo.sqlite) — sem necessidade de conta Cloudflare. Os mecanismos são executados inline com suas próprias chaves de API.
  • Ferramentas locais de gerenciamento de marca (somente CLI): track_brand, list_brands, generate_prompts. As implantações de Workers mantêm essas rotas atrás das rotas /admin/* protegidas por X-Seed-Secret.
  • Núcleo agnóstico de tempo de execução (src/core/) compartilhado pelo Worker e pela CLI, com um contrato Db implementado pelos adaptadores D1 e better-sqlite3. Todas as correções de precisão e segurança da 0.2.1 são aplicadas em ambos os tempos de execução.
  • Metadados de distribuição: server.json oficial do MCP Registry, extensão de desktop MCPB (pacote .mcpb), Dockerfile, llms-install.md para agentes de IA, fluxo de trabalho de publicação de versão.

[0.2.1] — Junho de 2026

  • Gate CONNECT_SECRET opcional no fluxo OAuth. Por padrão, o build OSS conclui automaticamente o /authorize para qualquer cliente MCP que conheça a URL do seu worker — qualquer pessoa que encontrar a URL pode se conectar e chamar visibility.refresh, gastando seus créditos de API do mecanismo. Defina CONNECT_SECRET e a etapa do navegador no fluxo de conexão agora solicitará antes de emitir um token. Consulte SECURITY.md.
  • Correspondência precisa de citações. Menções a marcas/concorrentes agora exigem limites de palavras (acme não corresponde mais a "acmeshop"), e verificações de citações vinculadas exigem o domínio exato ou um subdomínio (notacme.com não conta mais como um link para acme.com).
  • aliases e exclude_terms por marca. Aliases sempre contam como menção; termos de exclusão suprimem a correspondência de palavra simples no nome da marca e na raiz do domínio — então a marca "Monday" para de corresponder a "monday" o dia da semana, enquanto monday.com ainda conta. Aplique migrations/0005_brand_alias_exclude.sql; marcas existentes se comportam exatamente como antes.
  • Consistência de visibility.history. Execuções parcialmente concluídas agora contam para o histórico (correspondendo ao comportamento da 0.2.0 do visibility.check), e execuções totalmente falhas não aparecem mais como pontuações zero falsas.
  • CI + testes de unidade. O GitHub Actions executa tsc --noEmit além de uma suíte de testes de unidade de funções puras (npm run test:unit) cobrindo correspondência de menções, extração de citações e agregação de pontuação a cada push.
  • A documentação agora recomenda OpenAI + Anthropic como o par de mecanismos inicial — a capacidade do Gemini varia por modelo, projeto e nível de uso, então a variabilidade de cota específica do provedor pode produzir dados de primeira execução enganosos como o caminho mais barato documentado.
  • Comparação em tempo constante para SEED_SECRET / CONNECT_SECRET.

[0.2.0] — Maio de 2026

  • Fan-out HTTP por mecanismo. /admin/run-live agora cria uma linha de execuções por mecanismo e auto-busca /admin/run-engine uma vez por mecanismo. Cada mecanismo é executado em sua própria invocação de worker com seu próprio orçamento de 50 sub-requisições do plano gratuito — um fan-out de invocação única costumava estourar o limite no meio da execução e perder metade das linhas.
  • Service binding (env.SELF) despacha o fan-out por mecanismo através da estrutura interna da Cloudflare em vez de uma busca por URL pública, evitando a proteção "Worker chamou a si mesmo" (erro 1042) que bloqueia silenciosamente esta última.
  • Coluna de status em prompt_responses (ok / failed / skipped) além de error_message. Chamadas de mecanismo com falha costumavam escrever linhas raw_response='ERROR: ...' que a pontuação downstream tratava como acertos reais de zero menção; agora elas são explicitamente excluídas.
  • Inserts resistentes a FK. /admin/run-engine INSERT OR IGNOREs sua linha de execuções antes de persistir — o D1 é eventualmente consistente entre regiões de borda, e o INSERT INTO runs upstream do /admin/run-live nem sempre replica antes da chamada do mecanismo downstream chegar. O IGNORE deixa o FK feliz de qualquer forma.
  • Lote D1 em massa. Cada mecanismo coleta seus 20 resultados de prompts em memória e então envia inserts + gravações de cache + o UPDATE runs SET status='completed' final em uma única chamada D1.batch(). Reduz a contagem de sub-requisições por invocação de ~89 para ~26.
  • Consultas de visibilidade relaxadas. getLatestCompletedRun ancora em EXISTS(ok rows) em vez de status='completed', então execuções parcialmente concluídas ainda exibem seus dados na saída da ferramenta MCP em vez de desaparecerem silenciosamente.
  • Nova rota administrativa POST /admin/cleanup-failed-runs para exclusão única de linhas legadas poluídas após migrar para 0004.

[0.1.1] — Maio de 2026

  • A instalação manual agora é o caminho canônico. O script de configuração bash não confiável foi removido; o SETUP.md é autocontido e copiável, com cada prompt interativo do wrangler documentado inline.

[0.1.0] — Maio de 2026

  • Lançamento público inicial.
  • Suporte a 5 mecanismos: ChatGPT (gpt-4o-mini), Claude (claude-haiku-4-5), Perplexity (sonar), Gemini (gemini-2.5-flash-lite) e Google AI Overviews (via SerpAPI).
  • 6 ferramentas MCP hospedadas: visibility.check, visibility.history, visibility.compare, visibility.citations, visibility.content_gaps, visibility.refresh.
  • Os mecanismos são opcionais com base nas chaves de API que você fornece — defina apenas as credenciais que você tem, o restante é ignorado graciosamente.
  • Cloudflare Cron Trigger que atualiza automaticamente as marcas rastreadas a cada 6h, respeitando o refresh_frequency por marca (diário/semanal).
  • Armazenamento baseado em D1 para marcas, prompts, execuções, citações e um cache de prompts compartilhado.

O Que Isso Pode Fazer?

  • Veja quais ferramentas de IA citam sua marca e quais não — obtenha um detalhamento por mecanismo de quem está citando você para consultas de intenção de compra.
  • Acompanhe a visibilidade de IA semanalmente, automaticamente — o Cron Trigger integrado reexecuta as verificações na cadência que você configura por marca.
  • Compare sua visibilidade de IA com a dos concorrentes — porcentagens de share of voice, prompts que você vence, prompts que eles vencem.
  • Encontre lacunas de conteúdo — recomendações sintetizadas por Claude-Haiku com base nos seus prompts perdedores reais.
  • Use dentro de conversas no Claude.ai — adicione a URL do Worker implantado como um conector MCP personalizado e pergunte em linguagem natural.
  • Self-hosted na sua própria conta Cloudflare — suas chaves de API, seus dados, seu teto de custo. Os níveis gratuitos de Workers + D1 cobrem uma única marca com atualizações diárias.

Consulte o exemplo de relatório acima para ver como isso funciona na prática.


Ferramentas Disponíveis

As seis capacidades de análise são compartilhadas entre os dois transportes, mas os nomes MCP expostos são intencionalmente específicos do transporte: conexões hospedadas/Worker usam o namespace visibility.*, enquanto o pacote stdio local usa nomes simples.

Hospedado / Workerstdio localO que fazO que você fornece
visibility.checkcheck_visibilitySnapshot mais recente de visibilidade de IA em todos os mecanismos configurados para uma marca rastreada, com pontuações por mecanismo, prompts vencedores e prompts perdedores.brand_id, filtro opcional engines[]
visibility.historyget_visibility_historyHistórico de série temporal da visibilidade geral e por mecanismo, agrupado diariamente ou semanalmente.brand_id, days opcional (padrão 30), granularity opcional (daily/weekly)
visibility.comparecompare_competitorsComparação de share of voice contra domínios concorrentes, com prompts que você vence e prompts que eles vencem.brand_id, competitor_domains[] opcional, days opcional
visibility.citationsget_citationsOs eventos de citação reais — prompt, mecanismo, trecho da resposta, tipo de citação, URL da marca quando presente.brand_id, days opcional, filtro engine opcional
visibility.content_gapsget_content_gapsRecomendações de conteúdo priorizadas geradas por Claude-Haiku direcionadas aos seus prompts perdedores.brand_id, max_recommendations opcional (1-10)
visibility.refreshrefresh_brandAcionar manualmente uma nova verificação em todos os mecanismos cuja chave de API está definida.brand_id, filtro engines[] opcional

O CLI stdio local (npx, extensão de desktop, Docker) também fornece gerenciamento de marcas — em uma implantação de Workers, as mesmas operações ficam atrás das rotas /admin/* protegidas por X-Seed-Secret:

Ferramenta (somente CLI local)O que fazO que você fornece
track_brandComeçar a rastrear uma marca: cria localmente e gera seu conjunto de prompts de intenção de compra (Claude Haiku quando ANTHROPIC_API_KEY está definido, três prompts iniciais caso contrário).brand_id, name, domain, category opcional, competitors[], aliases[], exclude_terms[], prompt_count, refresh_frequency (daily/weekly/manual, padrão weekly)
update_brandCorrigir o domínio, nome, categoria, concorrentes, aliases, exclusões ou cadência de atualização de uma marca existente sem substituir prompts ativos ou execuções históricas. Defina a cadência para manual para pausar as verificações agendadas do Worker enquanto mantém a atualização manual disponível.brand_id além de quaisquer campos a alterar
list_brandsListar marcas rastreadas com domínios, concorrentes, aliases, exclusões e contagens de prompts ativos.
list_promptsInspecionar os prompts exatos de intenção de compra ativos de uma marca rastreada sem alterá-los.brand_id
set_promptsSubstituir o conjunto de prompts ativos por perguntas de compra exatas fornecidas pelo usuário, preservando execuções históricas.brand_id, prompts[] (1-50 perguntas únicas)
generate_promptsRegenerar o conjunto de prompts de uma marca via Claude Haiku (substitui prompts ativos, mantém histórico).brand_id, count opcional (padrão 20)

Começando

Passo 1 — Obtenha chaves de API

Os mecanismos são opcionais. Escolha os que você quiser; o restante é ignorado silenciosamente.

  • OpenAI — mecanismo ChatGPT (gpt-5-search-api) com busca na web. A OpenAI atualmente cobra US$ 10 por 1.000 chamadas de busca na web, além dos custos de tokens do modelo; consulte preços da API e chaves de API.
  • Anthropic — mecanismo Claude, além de geração de prompts e análise de lacunas de conteúdo (ambos usam Claude Haiku). ~€0,0002 por prompt. Os créditos de teste gratuitos geralmente são suficientes para avaliar. console.anthropic.com
  • Google AI Studio (Gemini) — mecanismo Gemini (gemini-3.1-flash-lite). O Google atualmente oferece uso de tokens no nível gratuito para este modelo, enquanto o uso pago é cobrado por token. Os limites de taxa variam por modelo, projeto e nível de uso, e o Google afirma que a capacidade real pode variar; verifique os limites ativos do seu projeto no AI Studio em vez de confiar em uma suposição fixa de RPM/RPD. Consulte preços do Gemini e limites de taxa.
  • Perplexity — mecanismo Perplexity Sonar. ~€0,005–0,008 por prompt. Somente pago. perplexity.ai/settings/api
  • xAI — mecanismo Grok (grok-4.6) com fundamentação obrigatória de Web Search. A xAI atualmente cobra US$ 5 por 1.000 chamadas de Web Search, além dos tokens do modelo. console.x.ai · preços
  • SerpAPI — Google AI Overviews, além do opcional Google AI Mode. Uma única chave SerpAPI alimenta ambos, mas o AI Mode fica deliberadamente desativado por padrão porque adiciona uma busca paga separada por prompt; defina SERPAPI_AI_MODE_ENABLED=true quando quiser essa sétima superfície. API do Google AI Mode · serpapi.com/dashboard

Par inicial recomendado: OpenAI + Anthropic (Claude). A OpenAI fornece visibilidade fundamentada do ChatGPT por meio da busca na web e cobra chamadas de busca mais tokens do modelo; a Anthropic também alimenta a geração de prompts e a análise de lacunas de conteúdo. Revise os preços atuais dos provedores antes de estimar o custo recorrente de varredura. Adicione Gemini, Perplexity, Grok ou SerpAPI deliberadamente quando quiser mais cobertura; a capacidade do Gemini varia por modelo, projeto e nível de uso, e o Google AI Overviews frequentemente retorna nenhum resultado (pontuado como zero). O Google AI Mode é uma chamada SerpAPI separada e permanece desativado até SERPAPI_AI_MODE_ENABLED=true, evitando que uma configuração SerpAPI existente duplique silenciosamente as chamadas de busca do Google.

Etapa 2 — Implante na sua conta Cloudflare

A implantação são 6 comandos e leva cerca de 5 minutos. Consulte SETUP.md para o passo a passo completo com explicações e solução de problemas, ou siga a versão rápida abaixo.

# 1. Install deps
npm install

# 2. Log in to Cloudflare
npx wrangler login

# 3. Copy the config template
cp wrangler.example.jsonc wrangler.jsonc

# 4. Create KV namespace + D1 database, paste each printed id into wrangler.jsonc
npx wrangler kv namespace create OAUTH_KV
npx wrangler d1 create mcp-geo-db

# 5. Set the required secret + at least one engine API key
#    Recommended starting pair — OpenAI uses web search plus model tokens; check current pricing:
npx wrangler secret put SEED_SECRET
npx wrangler secret put CONNECT_SECRET      # recommended — gates who can connect (see SECURITY.md)
npx wrangler secret put OPENAI_API_KEY      # ChatGPT engine
npx wrangler secret put ANTHROPIC_API_KEY   # Claude engine + prompt generation

# 6. Apply migrations and deploy
npx wrangler d1 migrations apply mcp-geo-db --remote
npx wrangler deploy

Após implantar seu próprio Worker, use a URL /mcp dessa implantação como endpoint remoto, por exemplo:

https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/mcp

Use a URL do seu Worker configurado para integrações de diretório ou cliente. O endpoint público geo-mcp.digestseo.com/mcp não é um substituto hospedado sem chave para uma implantação com credenciais do provedor de mecanismo.

Etapa 3 — Conecte-se ao seu cliente MCP

Após wrangler deploy terminar, você recebe uma URL como https://digestseo-mcp.YOUR-SUBDOMAIN.workers.dev.

Claude.ai (web)

Configurações → Conectores → Adicionar conector personalizado. Cole:

https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/mcp

Conclua o handshake OAuth. O conector fica verde quando estiver pronto.

ChatGPT (MCP remoto)

Os aplicativos MCP personalizados do ChatGPT conectam-se a servidores MCP remotos, então use a URL /mcp da sua implantação de Worker configurada acima. No ChatGPT, ative o Modo Desenvolvedor/aplicativos personalizados para seu workspace e adicione essa URL MCP remota. A disponibilidade depende do seu plano ChatGPT e da política de administração do workspace; o suporte MCP atual da OpenAI não exige nomes especiais de ferramentas search ou fetch.

https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/mcp

ChatGPT (local/privado via OpenAI Secure MCP Tunnel)

O OpenAI Secure MCP Tunnel é a ponte suportada quando você quer que o ChatGPT use o pacote stdio local sem expô-lo como um servidor HTTPS público. Crie um túnel no OpenAI Platform primeiro e depois mantenha tunnel-client em execução na mesma máquina que inicia o mcp-geo. Você precisa de um ID de túnel, uma chave de API de runtime do túnel e permissões de modo desenvolvedor/túnel do ChatGPT para o workspace de destino.

Disponibilize as chaves dos provedores que você quiser usar para o processo mcp-geo, e então inicialize um perfil de túnel com o comando do pacote local:

tunnel-client init --sample sample_mcp_stdio_local --profile digestseo --tunnel-id tunnel_0123456789abcdef0123456789abcdef --mcp-command "npx -y @digestseo/mcp-geo"
tunnel-client doctor --profile digestseo --explain
tunnel-client run --profile digestseo

Enquanto tunnel-client run estiver saudável, crie um aplicativo em modo desenvolvedor no ChatGPT, escolha Túnel como o tipo de conexão e selecione esse túnel. Este caminho é para uso privado/local; ele não publica o mcp-geo como um aplicativo público do ChatGPT. Siga o guia atual do Secure MCP Tunnel da OpenAI para criação de túnel, permissões, downloads e solução de problemas.

Claude Code

claude mcp add --transport http digestseo https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/mcp

Depois, execute /mcp dentro do Claude Code para concluir o handshake OAuth no seu navegador.

Claude Desktop

Edite a configuração do seu Claude Desktop:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "digestseo": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/mcp"
      ]
    }
  }
}

Reinicie o Claude Desktop após editar.

Cursor

Edite ~/.cursor/mcp.json:

{
  "mcpServers": {
    "digestseo": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/mcp"
      ]
    }
  }
}

Reinicie o Cursor.

Codex CLI

Adicione a ~/.codex/config.toml:

[mcp_servers.digestseo]
command = "npx"
args = [
  "-y",
  "mcp-remote",
  "https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/mcp",
]

Referência de Variáveis de Ambiente

VariávelObrigatóriaPadrãoDescrição
OPENAI_API_KEYopt-innão definidaAtiva o mecanismo ChatGPT. Sem ela, o ChatGPT é ignorado.
ANTHROPIC_API_KEYopt-innão definidaAtiva o mecanismo Claude e o gerador de prompts + analisador de lacunas de conteúdo alimentados por Claude Haiku.
GEMINI_API_KEYopt-innão definidaAtiva o mecanismo Gemini. Os limites de taxa variam por modelo, projeto e nível de uso; verifique os limites ativos do projeto no Google AI Studio (consulte Solução de Problemas).
PERPLEXITY_API_KEYopt-innão definidaAtiva o mecanismo Perplexity Sonar. Somente pago.
XAI_API_KEYopt-innão definidaAtiva o mecanismo Grok (grok-4.6) com fundamentação obrigatória de Web Search.
SERPAPI_API_KEYopt-innão definidaAtiva o Google AI Overviews via SerpAPI. Também fornece a credencial para o Google AI Mode quando o sinalizador explícito abaixo estiver ativado.
SERPAPI_AI_MODE_ENABLEDnãofalseDefina como true para adicionar o Google AI Mode como um mecanismo de visibilidade separado. Ele permanece desativado por padrão para evitar chamadas/custos extras inesperados da SerpAPI.
SEED_SECRETsimnão definidaSegredo compartilhado que protege todas as rotas /admin/*. Escolha uma string de alta entropia.
CONNECT_SECRETrecomendadanão definidaQuando definida, o fluxo de conexão OAuth solicita esse segredo no navegador antes de emitir um token. Sem ela, qualquer pessoa que conheça a URL do seu worker pode conectar um cliente MCP. Consulte SECURITY.md.
TURNSTILE_SITE_KEYnãonão definidaReservada para forks que adicionam um formulário público /check. Não usada pela versão OSS.
TURNSTILE_SECRET_KEYnãonão definidaO mesmo — reservada para forks.

As credenciais do provedor são definidas via wrangler secret put VAR em produção ou .dev.vars localmente. SERPAPI_AI_MODE_ENABLED é um sinalizador de runtime não secreto e pode ser armazenado sob o Wrangler vars ou definido no ambiente de processo local.


Arquitetura

flowchart LR
    C["MCP client<br/>(Claude.ai / Claude Code / Cursor / ...)"] -- "MCP over HTTP + OAuth" --> W["Cloudflare Worker<br/>digestseo-mcp"]
    CRON["Cron Trigger<br/>every 6h"] --> W
    W --> MCP["Stateless MCP handler<br/>(SDK v2, 6 hosted tools)"]
    W -- "one self-fetch per engine<br/>via SELF service binding" --> RE["/admin/run-engine<br/>(own invocation per engine)"]
    RE --> E1["OpenAI"]
    RE --> E2["Anthropic"]
    RE --> E3["Gemini"]
    RE --> E4["Perplexity"]
    RE --> E5["xAI<br/>(Grok)"]
    RE --> E6["SerpAPI<br/>(AI Overviews / AI Mode)"]
    RE --> DB[("D1<br/>brands / prompts / runs /<br/>responses / cache")]
    MCP --> DB

A vinculação legada do Durable Object GeoMcpAgent / MCP_OBJECT é mantida temporariamente para compatibilidade de migração, mas o tráfego atual de /mcp é atendido pelo manipulador stateless do SDK v2 mostrado acima.

Cada mecanismo é executado em sua própria invocação do Worker com seu próprio orçamento de 50 sub-requisições do plano gratuito; os resultados são enviados em um único D1.batch() por mecanismo. Todo o sistema cabe no nível gratuito da Cloudflare para uma única marca em uma cadência diária.


Segurança

  • /admin/* é protegido por SEED_SECRET (comparado em tempo constante).
  • /mcp exige OAuth; defina CONNECT_SECRET para que apenas pessoas com o segredo possam concluir o fluxo de conexão — fortemente recomendado sempre que a URL do seu worker for compartilhada em qualquer lugar, pois clientes conectados podem chamar visibility.refresh e gastar seus créditos de API do mecanismo.
  • Todas as chaves dos mecanismos ficam no armazenamento criptografado de segredos da Cloudflare; todos os dados permanecem no seu próprio banco de dados D1.

Detalhes completos e relato de vulnerabilidades: SECURITY.md.


Exemplos de Prompts

O relatório de exemplo acima foi gerado pelo primeiro prompt abaixo.

Depois que o conector estiver ativo no Claude.ai (ou em qualquer cliente MCP), experimente:

FerramentaExemplo de prompt
visibility.check"Quão visível é a brand_id acme na IA agora?"
visibility.history"Mostre-me a tendência de visibilidade de acme nos últimos 60 dias, diariamente."
visibility.compare"Compare acme com asana.com e monday.com nos últimos 14 dias."
visibility.citations"Mostre-me citações reais do Perplexity para acme da última semana."
visibility.content_gaps"Que conteúdo acme deve publicar para fechar sua lacuna de visibilidade? Dê-me os 5 principais."
visibility.refresh"Atualize acme em todos os mecanismos disponíveis agora."
visibility.refresh"Atualize acme mas apenas para Gemini e Claude."

Versão Hospedada

Se você preferir não gerenciar sua própria conta Cloudflare, chaves de API ou pagar contas individuais dos mecanismos, a versão hospedada do DigestSEO executa o mesmo servidor MCP em infraestrutura gerenciada, com suporte a múltiplas marcas, atualização agendada, interface web e faturamento consolidado. Lista de espera aberta — participe em digestseo.com.


Solução de Problemas

  • O Worker é implantado, mas as ferramentas retornam dados vazios — pelo menos uma chave de API do mecanismo está ausente. Verifique wrangler secret list e adicione as chaves que pretende usar. Mecanismos sem chaves são ignorados silenciosamente, o que pode deixar visibility.check sem dados.
  • Erro no engines available nos logs — nenhuma chave de API do mecanismo está definida. Defina pelo menos uma de OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, PERPLEXITY_API_KEY, XAI_API_KEY, SERPAPI_API_KEY.
  • Falha na migração do D1 — certifique-se de ter executado npx wrangler d1 migrations apply mcp-geo-db --remote (e também --local para wrangler dev). Para correções pontuais, npx wrangler d1 execute mcp-geo-db --remote --file=migrations/0001_initial.sql.
  • Conector MCP personalizado no Claude.ai não conecta — a URL deve terminar em /mcp. O handshake OAuth é concluído automaticamente na versão OSS (usuário dev único); se você definir CONNECT_SECRET, a etapa do navegador mostra um formulário de um campo — insira o segredo definido durante a implantação. Se entrar em loop, limpe o conector e adicione-o novamente. Verifique se o Worker está acessível publicamente (curl https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/healthz deve retornar ok).
  • Cron não dispara — verifique o painel da Cloudflare em Workers & Pages → digestseo-mcp → Settings → Triggers. A seção "Cron Triggers" deve listar 0 */6 * * *. Se estiver ausente, execute npx wrangler deploy novamente — o gatilho é registrado na implantação. O handler também só despacha mecanismos para marcas cuja cadência de refresh_frequency já passou, então uma marca recém-semeada pode não disparar no próximo limite de 6h.
  • 401 unauthorized de /admin/* — o cabeçalho X-Seed-Secret está ausente ou não corresponde ao SEED_SECRET implantado. Execute novamente npx wrangler secret put SEED_SECRET e atualize seu .env.test.
  • Worker retorna 404 no self-fetch / código de erro 1042 — a vinculação services em wrangler.jsonc está ausente ou o nome do service não corresponde ao campo name do worker. /admin/run-live faz self-fetch de /admin/run-engine via env.SELF (uma vinculação de serviço da Cloudflare) precisamente porque um fetch de URL pública de volta ao seu próprio hostname workers.dev é bloqueado pela proteção "Worker chamou a si mesmo" da Cloudflare. Confirme que o wrangler.jsonc que você implantou contém "services": [{ "binding": "SELF", "service": "<your-worker-name>" }] com o mesmo nome definido no campo "name" de nível superior. Após corrigir, npx wrangler deploy e execute novamente.
  • Limite de taxa do Gemini (HTTP 429) em prompts — os limites da API Gemini variam por modelo, projeto e nível de uso, e o Google observa que a capacidade real pode variar. Verifique os limites atuais do projeto em Google AI Studio e na documentação de limites de taxa do Google. Quando uma solicitação é limitada por taxa, o mcp-geo registra essa linha do mecanismo como falha e a exclui da pontuação bem-sucedida. O Google recomenda aguardar e tentar novamente após um curto período ou reduzir a taxa de solicitações; se o limite for consistentemente baixo demais para sua cadência de varredura, considere um nível pago adequado em vez de assumir uma cota universal de RPM/RPD no nível gratuito.
  • FOREIGN KEY constraint failed no wrangler tail durante /admin/run-engine — o handler defensivamente INSERT OR IGNORE a linha de execuções antes de persistir as respostas do prompt. Isso é uma proteção de idempotência/FK para trabalho de mecanismo despachado independentemente, então você não deve ver isso na versão 0.2.0+; se vir, confirme que implantou o src/index.ts mais recente (grep -n "INSERT OR IGNORE INTO runs" src/index.ts deve corresponder).

Contribuindo

Issues e PRs são bem-vindos. Veja CONTRIBUTING.md para a versão resumida.


Política de Privacidade

Política completa para o pacote local e a extensão Claude Desktop: https://geo-mcp.digestseo.com/privacy

Quando você executa digestseo-mcp localmente (npx, a extensão de desktop ou Docker), todos os seus dados — marcas, prompts, execuções, respostas e o cache de respostas — permanecem na sua máquina em um banco de dados SQLite local em ~/.digestseo/digestseo.sqlite (substituível com DIGESTSEO_DB_PATH). Os prompts de varredura são enviados apenas aos provedores de IA cujas chaves de API você configura (OpenAI, Anthropic, Google, Perplexity, xAI e/ou SerpAPI); o tratamento desse tráfego é regido pelas respectivas políticas de privacidade deles. Nada é enviado ao autor deste projeto: sem telemetria, sem análises, sem conta.

Uso e armazenamento de dados: Configuração local de marcas, prompts, execuções de varredura, respostas e respostas em cache são usados apenas para fornecer os recursos do servidor MCP que você invoca. Eles permanecem no banco de dados SQLite local descrito acima; este projeto não opera um serviço de conta nem coleta telemetria.

Processamento por terceiros: O tráfego de prompts e varreduras é enviado apenas aos provedores de IA que você configura explicitamente. Esses provedores processam e retêm esse tráfego sob suas próprias políticas de privacidade; o autor do projeto não recebe cópias dele.

Retenção e exclusão: Os dados locais permanecem na sua máquina até você excluir o banco de dados SQLite (ou o DIGESTSEO_DB_PATH personalizado que configurou). Remover esse banco de dados local remove o histórico e o cache locais armazenados pelo mcp-geo. A retenção no lado do provedor é controlada por cada provedor configurado.

Contato: Perguntas sobre privacidade do mcp-geo podem ser enviadas para info@tomiseregi.si.


Licença

MIT.

Construído e mantido por Tomi Šeregi.


Changelog

Veja CHANGELOG.md para o histórico completo de versões.

[0.3.2] — 27 de julho de 2026

  • Publicado @digestseo/mcp-geo com Worker, MCP Registry e metadados MCPB sincronizados.
  • Namespaces de ferramentas visibility.* hospedados com esquemas de entrada/saída tipados; nomes stdio locais permanecem planos.
  • Configuração D1 dedicada mcp-geo-db e metadados de plugin Cursor/Claude Code.
  • Correções de pins de dependências de produção.

[0.3.0] — julho de 2026

  • CLI stdio local no npm (npx -y @digestseo/mcp-geo) com armazenamento SQLite e execuções de mecanismo inline.
  • Ferramentas locais de gerenciamento de marcas: track_brand, list_brands, generate_prompts.
  • Núcleo agnóstico de runtime compartilhado entre Worker e CLI; adaptadores Db D1 + better-sqlite3.
  • MCP Registry server.json, extensão de desktop MCPB, Dockerfile, llms-install.md.

[0.2.1] — junho de 2026

  • Gate opcional CONNECT_SECRET no fluxo de conexão OAuth.
  • Correspondência de marcas/concorrentes por limite de palavra; verificações de citações vinculadas por domínio exato ou subdomínio.
  • aliases e exclude_terms por marca (migração 0005) para marcas homógrafas como Monday/Notion.
  • visibility.history inclui execuções parciais e descarta execuções totalmente falhas.
  • Workflow de CI (typecheck + testes unitários) e suíte de testes unitários de funções puras.
  • Documentação recomenda OpenAI + Anthropic como par inicial de mecanismos.
  • Comparação de segredos em tempo constante.

[0.2.0] — maio de 2026

  • Fan-out HTTP por mecanismo via vinculação de serviço env.SELF (uma invocação de worker por mecanismo, contornando a proteção de auto-chamada 1042 da Cloudflare).
  • Colunas status + error_message em prompt_responses — chamadas de mecanismo falhas agora são linhas explícitas, sem mais strings ERROR: em raw_response.
  • INSERT OR IGNORE na linha de execuções dentro de /admin/run-engine (lida com a latência de replicação entre regiões do D1 sem descartar prompt_responses por violações de FK).
  • Lote D1 em massa em cada runLive do mecanismo (~26 subrequests/invocação em vez de ~89; execuções completas de 20 prompts agora cabem no limite do plano gratuito).
  • getLatestCompletedRun ancorado em EXISTS(ok rows); execuções parcialmente concluídas ainda mostram seus dados.
  • Nova rota administrativa POST /admin/cleanup-failed-runs.

[0.1.1] — maio de 2026

  • Removido o script de configuração bash não confiável. A instalação manual via SETUP.md agora é o caminho canônico.

[0.1.0] — maio de 2026

  • Lançamento público inicial.
  • Suporte a 5 mecanismos: ChatGPT, Claude, Perplexity, Gemini, Google AI Overviews.
  • 6 ferramentas MCP.
  • Mecanismos opt-in com base nas chaves de API que você fornece.
  • Cloudflare Cron Trigger para atualização automática.