SEOG — SEO Local vía MCP
Resumen
SEOG (seog.ai) es una plataforma de SEO local basada en IA para negocios que viven en Google Maps. Su servidor MCP remoto expone todo el producto como 90 herramientas — los mismos servicios de dominio que la aplicación web invoca mediante botones — para que un agente pueda ejecutar una práctica completa de SEO local sin abrir un navegador: importar un negocio, rastrear y verificar posiciones de palabras clave, escanear la visibilidad en el mapa en una cuadrícula geográfica, sincronizar y responder reseñas de Google, vigilar competidores, auditar el sitio web y Search Console, publicar publicaciones en Google y generar informes PDF.
Endpoint: https://api.seog.ai/mcp (HTTP transmisible), autenticado con un token personal. Cada llamada se ejecuta como esa cuenta de SEOG — no hay modo anónimo.
Instrucciones
Configuración
Regístrate en https://app.seog.ai, luego ve a Configuración → Acceso MCP para emitir un token personal (se muestra una sola vez). Instala de una de estas formas:
Como plugin de Claude Code (recomendado — incluye esta habilidad y la configuración del servidor):
/plugin marketplace add TerminalSkills/skills
/plugin install seog@terminal-skills
Claude Code pedirá el token durante la instalación y lo almacenará en el almacén de credenciales. De forma no interactiva (scripts, CI):
claude plugin marketplace add TerminalSkills/skills
claude plugin install seog@terminal-skills --config mcp_token="$SEOG_MCP_TOKEN"
Verifica con /plugin list (seog → habilitado) y /mcp (seog → conectado).
Como habilidad + servidor MCP registrado manualmente (cualquier 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, registra un servidor MCP HTTP con la misma URL y el encabezado Authorization: Bearer. Verifica con tools/list — 90 herramientas del servidor seog-platform (menos en cuentas de marca blanca; consulta las Directrices).
Cuenta, plan y créditos — léelo antes de ejecutar herramientas de pago
- El token identifica una cuenta de SEOG; las herramientas actúan solo sobre los datos de esa cuenta.
- SEOG factura en créditos (CR) con una regla: todo lo que llame a una API externa es de pago, al mismo precio que el clic equivalente en la aplicación. Las lecturas de datos ya almacenados son gratuitas. Esto incluye deshacer y eliminar — cada una reproduce una llamada a Google.
get_credit_balancedevuelve el saldo + plan;list_feature_pricespone precio a cada herramienta de pago. Verifica ambos antes de un barrido de múltiples negocios.- Una herramienta de pago que falla no se cobra (entrega o reembolso), por lo que una ejecución fallida nunca cuesta dinero en silencio.
create_reportes el único caso asíncrono: devuelve un informe ENCOLADO de inmediato y el cargo se aplica cuando se genera el PDF (se reembolsa si falla), así que consultaget_reporten lugar de asumir que los créditos se movieron al encolar.
Mapa de herramientas
Esquemas de parámetros completos y notas de precios: references/mcp-tools.md.
💳 = gasta créditos.
| Dominio | Herramientas |
|---|---|
| Negocios | list_businesses, get_business, search_places💳, import_business💳, update_business, delete_business |
| Salud del perfil | get_business_audit, get_action_plan, list_recommendations, analyze_business_profile, set_recommendation_status |
| Edición de perfil (escribe en 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 |
| Cuadrícula del mapa + respuestas 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 |
| Reseñas | list_reviews, review_stats, sync_reviews💳, draft_review_response, generate_review_reply💳, publish_review_reply💳, verify_review_reply💳 |
| Competidores | 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 |
| Visibilidad en IA | get_ai_visibility, get_ai_visibility_pillars, get_ai_presence_matrix, check_ai_visibility💳, list_citations, check_citations💳 |
| Sitio web + Search Console | get_website_analysis, refresh_website_analysis💳, refresh_website_all💳, get_search_performance, get_search_console_status, load_search_performance💳 |
| Publicaciones de Google | list_posts, get_post_templates, validate_post, draft_post_content💳, publish_post💳, refresh_posts💳, delete_post💳 |
| Conexión con Google | get_google_connection_status, get_gbp_performance, load_gbp_performance💳, load_gbp_keyword_history💳, list_gbp_import_locations, import_gbp_business💳 |
| Cuenta + informes | 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💳 |
Flujos de trabajo principales
Incorporación — search_places → import_business con el placeId elegido. Si la cuenta de Google del usuario ya está conectada, prefiere list_gbp_import_locations → import_gbp_business: vincula la conexión del propietario, que es lo que desbloquea las respuestas a reseñas y las publicaciones.
Seguimiento de rankings — lee keyword_recommendations_cache (gratis) antes de pagar por keyword_recommendations; add_keyword (opcional locationLabel para posicionar desde un vecindario); check_keyword para una verificación en vivo o refresh_rankings para cada palabra clave activa en un solo cargo; keyword_history para la tendencia; run_grid_scan para la cobertura del mapa en una cuadrícula (el precio escala con gridSize).
Gestionar reseñas — sync_reviews → list_reviews(filter="needs-response") → generate_review_reply para un borrador → preguntar al usuario → publish_review_reply (visible públicamente en Google) → verify_review_reply para confirmar que se publicó. draft_review_response guarda un borrador local y no publica nada.
Corregir el perfil — get_action_plan / get_business_audit para encontrar brechas, luego apply_profile_fix (teléfono, sitio web, horario, nombre, estado) o draft_business_description → apply_business_description. Ambos escriben en la ficha activa; undo_profile_fix / undo_business_description revierten.
Diagnosticar más allá del perfil — get_website_analysis + get_search_performance (lecturas gratuitas de las últimas ejecuciones), refresh_website_all para volver a ejecutar ambas en un solo cargo; get_ai_visibility_pillars y list_citations para la preparación de respuestas de IA y consistencia NAP.
Ejemplos
Ejemplo 1: Resumen semanal, consciente de créditos
"¿Cómo están mis clientes esta semana?"
1. get_credit_balance → 180 CR (plan Growth) — suficiente para el barrido
2. list_businesses → 15 negocios
3. por negocio: refresh_rankings # un cargo por todas las palabras clave activas
sync_reviews → list_reviews(filter="needs-response")
compare_competitors + list_competitor_alerts # ambos gratuitos
4. generate_review_reply para cada reseña negativa sin responder → presentar los borradores
5. get_action_plan(businessId) → correcciones priorizadas para el resumen
Publicar (publish_review_reply) espera el sí explícito del propietario.
Ejemplo 2: Créditos se agotan durante el barrido
> run_grid_scan(businessId, keywordId, gridSize=7)
✗ Créditos insuficientes: esta acción cuesta 45 CR y el saldo de la cuenta es 12 CR.
No se ejecutó nada y no se cobró nada. Recarga o mejora en
https://app.seog.ai/billing, luego reintenta.
Comportamiento correcto: transmite los números y el enlace, detén el barrido de pago (no reintentes en un bucle) y completa el resumen con lecturas gratuitas — list_keywords, get_latest_grid_scan, review_stats, get_action_plan siguen funcionando.
Directrices
- El dinero es real. Nunca ejecutes una herramienta de pago que el usuario no haya solicitado. Calcula el precio de un lote con
list_feature_pricesy verificaget_credit_balanceprimero. Prefiere cargos agrupados (refresh_rankings,refresh_website_all,refresh_business_overview) sobre bucles por elemento: cuestan menos por el mismo trabajo. - Publicar es público y difícil de deshacer.
publish_review_reply,publish_post,apply_profile_fixyapply_business_descriptionescriben en la ficha activa de Google. Cita el texto exacto y obtén aprobación primero. Cambiar el NOMBRE del negocio puede poner la ficha en re-verificación de Google — díselo antes de hacerlo. - Las herramientas irreversibles requieren
confirm: true—delete_business,delete_profile_photo,delete_post,remove_keyword,remove_competitor,delete_report. Sin la bandera se niegan a ejecutarse, por diseño: cita exactamente lo que se eliminará, obtén un sí, luego pásalo.delete_businesselimina en cascada reseñas, palabras clave, rankings y competidores; las fotos y publicaciones eliminadas no se pueden restaurar. Prefieretoggle_keywordcuando el usuario solo quiere pausar el seguimiento. - Lee el error en lugar de reintentar. Los errores de las herramientas se explican por sí mismos:
INSUFFICIENT_CREDITSda el precio, el saldo y la URL para recargar;PLAN_REQUIREDsignifica que el periodo de prueba terminó o no existe un plan;FEATURE_NOT_IN_PLANnombra la función y el plan. Transmí telos — un bucle de reintentos solo fallará de nuevo. - Algunas herramientas están ausentes por diseño. Las cuentas de marca blanca/agencia no obtienen las herramientas que devuelven contenido sin procesar de Google (
search_places,check_keyword,sync_reviews,discover_competitors,run_grid_scan,import_gbp_business, …). Si una herramienta "no se encuentra", di que la cuenta no está autorizada para ella en lugar de adivinar. - La subida de fotos y la autenticación OAuth de Google / Search Console permanecen en la aplicación web (bytes de archivo y un navegador). Todo lo demás está disponible aquí.
- Los IDs son UUIDs limitados a la cuenta del token — un 404 en un UUID de apariencia válida generalmente significa que pertenece a otra cuenta.
- El token es una credencial: nunca lo comprometas, y elimínalo de los registros y transcripciones. Un 401 significa que fue revocado en Configuración — pide al usuario que lo emita de nuevo.