SEOG — SEO Local via MCP
Visão Geral
SEOG (seog.ai) é uma plataforma de SEO local com IA para negócios que vivem no Google Maps. Seu servidor MCP remoto expõe o produto completo como 90 ferramentas — os mesmos serviços que os botões do aplicativo web chamam — para que um agente execute uma prática completa de SEO local sem abrir um navegador: importar um negócio, rastrear e verificar rankings de palavras-chave, escaniar visibilidade no mapa em uma grade geográfica, sincronizar e responder avaliações do Google, observar concorrentes, auditar o site e o Search Console, publicar posts no Google e gerar relatórios em PDF.
Endpoint: https://api.seog.ai/mcp (HTTP streamable), autenticado com um token pessoal.
Toda chamada executa como aquela conta SEOG — não há modo anônimo.
Instruções
Configuração
Cadastre-se em https://app.seog.ai, depois vá em Configurações → Acesso MCP para gerar um token pessoal (mostrado uma vez). Instale de uma das seguintes formas:
Como plugin do Claude Code (recomendado — inclui esta skill e a configuração do servidor):
/plugin marketplace add TerminalSkills/skills
/plugin install seog@terminal-skills
O Claude Code solicitará o token durante a instalação e o armazenará no repositório de credenciais. De forma não interativa (scripts, CI):
claude plugin marketplace add TerminalSkills/skills
claude plugin install seog@terminal-skills --config mcp_token="$SEOG_MCP_TOKEN"
Verifique com /plugin list (seog → enabled) e /mcp (seog → connected).
Como skill + servidor MCP registrado manualmente (qualquer cliente):
npx terminal-skills install seog
claude mcp add --transport http seog https://api.seog.ai/mcp \
--header "Authorization: Bearer $SEOG_MCP_TOKEN"
Para Codex / Gemini CLI / Cursor, registre um servidor MCP HTTP com a mesma URL e
cabeçalho Authorization: Bearer. Verifique com tools/list — 90 ferramentas do servidor
seog-platform (menos em contas white-label; consulte Diretrizes).
Conta, plano e créditos — leia antes de executar ferramentas pagas
- O token identifica uma conta SEOG; as ferramentas atuam apenas nos dados dessa conta.
- O SEOG cobra em créditos (CR) com uma regra: qualquer coisa que chame uma API externa é paga, pelo mesmo preço do clique equivalente no aplicativo. Leituras de dados já armazenados são gratuitas. Isso inclui desfazer e excluir — cada um repete uma chamada ao Google.
get_credit_balanceretorna saldo + plano;list_feature_pricesprecifica cada ferramenta paga. Verifique ambos antes de uma varredura com vários negócios.- Uma ferramenta paga que falha não é cobrada (entrega-ou-reembolso), então uma execução falha nunca
custa dinheiro silenciosamente.
create_reporté o único caso assíncrono: retorna um relatório QUEUED imediatamente e a cobrança é efetivada quando o PDF é gerado (reembolsado se falhar), então monitore comget_reportem vez de assumir que os créditos foram debitados no enfileiramento.
Mapa de ferramentas
Esquemas completos de parâmetros e notas de preço: references/mcp-tools.md.
💳 = gasta créditos.
| Domínio | Ferramentas |
|---|---|
| Negócios | list_businesses, get_business, search_places💳, import_business💳, update_business, delete_business |
| Saúde do perfil | get_business_audit, get_action_plan, list_recommendations, analyze_business_profile, set_recommendation_status |
| Edição de perfil (escreve no Google) | apply_profile_fix💳, undo_profile_fix💳, draft_business_description💳, apply_business_description💳, undo_business_description💳, list_profile_photos, delete_profile_photo💳, get_profile_fix_options, list_recent_profile_edits |
| Rankings | list_keywords, add_keyword💳, check_keyword💳, refresh_rankings💳, keyword_history, keyword_recommendations💳, keyword_recommendations_cache, toggle_keyword, remove_keyword |
| Grade do mapa + respostas de IA | run_grid_scan💳, get_latest_grid_scan, get_keyword_grid_scan, get_grid_history, get_grid_snapshot, check_ai_overview💳, get_ai_overview |
| Avaliações | list_reviews, review_stats, sync_reviews💳, draft_review_response, generate_review_reply💳, publish_review_reply💳, verify_review_reply💳 |
| Concorrentes | discover_competitors💳, get_discovered_competitors, list_competitors, add_competitor💳, remove_competitor, set_competitor_watchlist, snapshot_competitor💳, refresh_competitors💳, compare_competitors, list_competitor_alerts, mark_competitor_alerts_read, scan_competitor_spam |
| Visibilidade em IA | get_ai_visibility, get_ai_visibility_pillars, get_ai_presence_matrix, check_ai_visibility💳, list_citations, check_citations💳 |
| Site + Search Console | get_website_analysis, refresh_website_analysis💳, refresh_website_all💳, get_search_performance, get_search_console_status, load_search_performance💳 |
| Posts do Google | list_posts, get_post_templates, validate_post, draft_post_content💳, publish_post💳, refresh_posts💳, delete_post💳 |
| Conexão com o Google | get_google_connection_status, get_gbp_performance, load_gbp_performance💳, load_gbp_keyword_history💳, list_gbp_import_locations, import_gbp_business💳 |
| Conta + relatórios | get_dashboard, get_credit_balance, list_feature_prices, get_metrics_history, list_reports, create_report💳, get_report, delete_report, refresh_business_profile💳, refresh_business_overview💳 |
Fluxos de trabalho principais
Integração — search_places → import_business com o placeId escolhido. Se a conta do Google
do usuário já estiver conectada, prefira list_gbp_import_locations → import_gbp_business:
isso vincula a conexão do proprietário, que é o que desbloqueia respostas a avaliações e posts.
Rastrear rankings — leia keyword_recommendations_cache (grátis) antes de pagar por
keyword_recommendations; add_keyword (locationLabel opcional para ranquear a partir de um bairro);
check_keyword para uma verificação única ou refresh_rankings para todas as palavras-chave ativas
em uma única cobrança; keyword_history para a tendência; run_grid_scan para cobertura do mapa
em uma grade (o preço escala com gridSize).
Trabalhar avaliações — sync_reviews → list_reviews(filter="needs-response") →
generate_review_reply para um rascunho → pergunte ao usuário → publish_review_reply
(visível publicamente no Google) → verify_review_reply para confirmar que foi publicado.
draft_review_response salva um rascunho local e não publica nada.
Corrigir o perfil — get_action_plan / get_business_audit para encontrar lacunas, depois
apply_profile_fix (telefone, site, horário, nome, status) ou
draft_business_description → apply_business_description. Ambos escrevem na ficha ativa;
undo_profile_fix / undo_business_description revertem.
Diagnosticar além do perfil — get_website_analysis + get_search_performance
(leituras gratuitas das últimas execuções), refresh_website_all para executar ambos em uma
única cobrança; get_ai_visibility_pillars e list_citations para prontidão de respostas de IA
e consistência de NAP.
Exemplos
Exemplo 1: Resumo semanal, com verificação de crédito
"Como estão meus clientes esta semana?"
1. get_credit_balance → 180 CR (plano Growth) — suficiente para a varredura
2. list_businesses → 15 negócios
3. por negócio: refresh_rankings # uma cobrança para todas as palavras-chave ativas
sync_reviews → list_reviews(filter="needs-response")
compare_competitors + list_competitor_alerts # ambos gratuitos
4. generate_review_reply para cada avaliação negativa não respondida → apresente os rascunhos
5. get_action_plan(businessId) → correções prioritárias para o resumo
Publicar (publish_review_reply) aguarda o sim explícito do proprietário.
Exemplo 2: Créditos acabam no meio da varredura
> run_grid_scan(businessId, keywordId, gridSize=7)
✗ Créditos insuficientes: esta ação custa 45 CR e o saldo da conta é 12 CR.
Nada foi executado e nada foi cobrado. Recarregue ou faça upgrade em
https://app.seog.ai/billing e tente novamente.
Comportamento correto: repasse os números e o link, pare a varredura paga (não tente
novamente em loop) e termine o resumo com leituras gratuitas — list_keywords,
get_latest_grid_scan, review_stats, get_action_plan ainda funcionam.
Diretrizes
- Dinheiro é real. Nunca execute uma ferramenta paga que o usuário não solicitou. Precifique um lote com
list_feature_pricese verifiqueget_credit_balanceprimeiro. Prefira cobranças agrupadas (refresh_rankings,refresh_website_all,refresh_business_overview) em vez de loops por item — elas custam menos pelo mesmo trabalho. - Publicar é público e difícil de desfazer.
publish_review_reply,publish_post,apply_profile_fixeapply_business_descriptionescrevem na ficha ativa do Google. Cite o texto exato e obtenha aprovação primeiro. Alterar o NOME do negócio pode colocar a ficha em reverificação do Google — avise antes de fazer isso. - Ferramentas irreversíveis exigem
confirm: true—delete_business,delete_profile_photo,delete_post,remove_keyword,remove_competitor,delete_report. Sem o sinalizador, elas se recusam a executar, por design: cite exatamente o que será excluído, obtenha um sim e então passe.delete_businesselimina em cascata avaliações, palavras-chave, rankings e concorrentes; fotos e posts excluídos não podem ser restaurados. Prefiratoggle_keywordquando o usuário quiser apenas pausar o rastreamento. - Leia o erro em vez de tentar novamente. Erros de ferramentas são autoexplicativos:
INSUFFICIENT_CREDITSdá preço, saldo e URL para recarga;PLAN_REQUIREDsignifica que o teste terminou ou não há plano;FEATURE_NOT_IN_PLANnomeia o recurso e o plano. Repasse-os — um loop de repetição só falhará novamente. - Algumas ferramentas estão ausentes por design. Contas white-label/agência não recebem as ferramentas
que retornam conteúdo bruto do Google (
search_places,check_keyword,sync_reviews,discover_competitors,run_grid_scan,import_gbp_business, …). Se uma ferramenta "não for encontrada", diga que a conta não está autorizada para ela, em vez de adivinhar. - O upload de fotos e a autenticação OAuth do Google / Search Console permanecem no aplicativo web (bytes de arquivo e um navegador). Todo o resto está disponível aqui.
- Os IDs são UUIDs com escopo na conta do token — um 404 em um UUID de aparência válida geralmente significa que pertence a outra conta.
- O token é uma credencial: nunca o cometa, e remova-o de logs e transcrições. Um 401 significa que foi revogado nas Configurações — peça ao usuário para reemitir.