SEOG — MCP를 통한 로컬 SEO
개요
SEOG (seog.ai)는 Google Maps에서 운영되는 비즈니스를 위한 AI 로컬 SEO 플랫폼입니다. 이 원격 MCP 서버는 제품 전체를 90개 도구로 노출합니다 — 웹 앱의 버튼이 호출하는 것과 동일한 도메인 서비스로, 에이전트가 브라우저를 열지 않고도 완전한 로컬 SEO 업무를 실행할 수 있습니다: 비즈니스 가져오기, 키워드 추적 및 순위 확인, 지리적 그리드에서 지도 가시성 스캔, Google 리뷰 동기화 및 답변, 경쟁사 관찰, 웹사이트 및 Search Console 감사, Google 게시물 게시, PDF 보고서 생성 등.
엔드포인트: https://api.seog.ai/mcp (스트리밍 가능한 HTTP), 개인 토큰으로 인증합니다. 모든 호출은 해당 SEOG 계정으로 실행됩니다 — 익명 모드는 없습니다.
지침
설정
https://app.seog.ai에서 가입한 후, 설정 → MCP 액세스에서 개인 토큰을 발급받으세요 (한 번만 표시됨). 다음 중 하나로 설치합니다:
Claude Code 플러그인으로 설치 (권장 — 이 스킬 과 서버 구성을 함께 제공):
/plugin marketplace add TerminalSkills/skills
/plugin install seog@terminal-skills
Claude Code가 설치 중에 토큰을 요청하고 자격 증명 저장소에 저장합니다. 비대화형(스크립트, CI)으로 설치:
claude plugin marketplace add TerminalSkills/skills
claude plugin install seog@terminal-skills --config mcp_token="$SEOG_MCP_TOKEN"
/plugin list (seog → 활성화됨) 및 /mcp (seog → 연결됨)로 확인합니다.
스킬 + 수동 MCP 서버 등록으로 설치 (모든 클라이언트):
npx terminal-skills install seog
claude mcp add --transport http seog https://api.seog.ai/mcp \
--header "Authorization: Bearer $SEOG_MCP_TOKEN"
Codex / Gemini CLI / Cursor의 경우, 동일한 URL과 Authorization: Bearer 헤더로 HTTP MCP 서버를 등록하세요. tools/list로 확인 — seog-platform 서버에서 90개 도구가 제공됩니다 (화이트 라벨 계정에서는 더 적음; 지침 참조).
계정, 요금제 및 크레딧 — 유료 도구 실행 전에 먼저 읽으세요
- 토큰은 SEOG 계정을 식별합니다. 도구는 해당 계정의 데이터에만 작동합니다.
- SEOG는 크레딧(CR) 단위로 청구하며, 규칙은 하나입니다: 외부 API를 호출하는 모든 작업은 유료이며, 앱에서 해당 클릭과 동일한 가격입니다. 이미 저장된 데이터를 읽는 것은 무료입니다. 여기에는 실행 취소 및 삭제도 포함됩니다. 각각 Google에 대한 호출을 다시 실행합니다.
get_credit_balance는 잔액 + 요금제를 반환합니다.list_feature_prices는 모든 유료 도구의 가격을 보여줍니다. 여러 비즈니스를 한꺼번에 처리하기 전에 두 가지를 모두 확인하세요.- 유료 도구가 실패하면 청구되지 않습니다 (제공-또는-환불). 따라서 실패한 실행이 조용히 비용을 발생시키지 않습니다.
create_report는 유일한 비동기 케이스입니다: QUEUED 보고서를 즉시 반환하고 PDF가 생성될 때 청구됩니다 (실패 시 환불). 따라서 크레딧이 대기열에 추가될 때 이동했다고 가정하지 말고get_report를 폴링하세요.
도구 맵
전체 매개변수 스키마 및 가격 정보: references/mcp-tools.md.
💳 = 크레딧 소모.
| 도메인 | 도구 |
|---|---|
| 비즈니스 | list_businesses, get_business, search_places💳, import_business💳, update_business, delete_business |
| 프로필 건강 | get_business_audit, get_action_plan, list_recommendations, analyze_business_profile, set_recommendation_status |
| 프로필 편집 (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 |
| 순위 | list_keywords, add_keyword💳, check_keyword💳, refresh_rankings💳, keyword_history, keyword_recommendations💳, keyword_recommendations_cache, toggle_keyword, remove_keyword |
| 지도 그리드 + AI 답변 | run_grid_scan💳, get_latest_grid_scan, get_keyword_grid_scan, get_grid_history, get_grid_snapshot, check_ai_overview💳, get_ai_overview |
| 리뷰 | list_reviews, review_stats, sync_reviews💳, draft_review_response, generate_review_reply💳, publish_review_reply💳, verify_review_reply💳 |
| 경쟁사 | 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 |
| AI 가시성 | get_ai_visibility, get_ai_visibility_pillars, get_ai_presence_matrix, check_ai_visibility💳, list_citations, check_citations💳 |
| 웹사이트 + Search Console | get_website_analysis, refresh_website_analysis💳, refresh_website_all💳, get_search_performance, get_search_console_status, load_search_performance💳 |
| Google 게시물 | list_posts, get_post_templates, validate_post, draft_post_content💳, publish_post💳, refresh_posts💳, delete_post💳 |
| Google 연결 | get_google_connection_status, get_gbp_performance, load_gbp_performance💳, load_gbp_keyword_history💳, list_gbp_import_locations, import_gbp_business💳 |
| 계정 + 보고서 | 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💳 |
핵심 워크플로우
온보딩 — search_places → 선택한 placeId로 import_business. 사용자의 Google 계정이 이미 연결되어 있으면 list_gbp_import_locations → import_gbp_business를 선호하세요: 소유자 연결을 바인딩하여 리뷰 답변 및 게시물을 활성화합니다.
순위 추적 — keyword_recommendations 비용을 지불하기 전에 keyword_recommendations_cache (무료)를 읽으세요. add_keyword (동네 순위를 위한 locationLabel 선택 사항). 한 번의 실시간 확인을 위한 check_keyword 또는 단일 청구로 모든 활성 키워드를 위한 refresh_rankings. 추세를 위한 keyword_history. 그리드 전체의 지도 적용 범위를 위한 run_grid_scan (가격은 gridSize에 따라 조정됨).
리뷰 작업 — sync_reviews → list_reviews(filter="needs-response") → 초안 작성을 위한 generate_review_reply → 사용자에게 물어보기 → publish_review_reply (Google에 공개적으로 표시됨) → 게시 확인을 위한 verify_review_reply. draft_review_response는 로컬 초안을 저장하고 아무것도 게시하지 않습니다.
프로필 수정 — get_action_plan / get_business_audit로 차이점을 찾은 다음 apply_profile_fix (전화, 웹사이트, 영업 시간, 이름, 상태) 또는 draft_business_description → apply_business_description. 둘 다 실시간 리스팅에 기록됩니다. undo_profile_fix / undo_business_description으로 되돌릴 수 있습니다.
프로필 이상 진단 — get_website_analysis + get_search_performance (마지막 실행의 무료 읽기), refresh_website_all로 두 가지를 한 번의 청구로 다시 실행. AI 답변 준비 상태 및 NAP 일관성을 위한 get_ai_visibility_pillars 및 list_citations.
예시
예시 1: 주간 요약, 크레딧 인지
"이번 주 내 클라이언트들은 어떤가요?"
1. get_credit_balance → 180 CR (Growth 요금제) — 조사에 충분
2. list_businesses → 15개 비즈니스
3. 비즈니스별: refresh_rankings # 모든 활성 키워드에 대해 한 번 청구
sync_reviews → list_reviews(filter="needs-response")
compare_competitors + list_competitor_alerts # 둘 다 무료
4. 각 부정적인 미답변 리뷰에 대해 generate_review_reply → 초안 제공
5. get_action_plan(businessId) → 요약을 위한 우선 순위 수정 사항
게시(publish_review_reply)는 소유자의 명시적인 승인을 기다립니다.
예시 2: 작업 중 크레딧 소진
> run_grid_scan(businessId, keywordId, gridSize=7)
✗ 크레딧이 부족합니다: 이 작업은 45 CR이 필요하지만 계정 잔액은 12 CR입니다.
실행된 항목이 없으며 청구되지 않았습니다. https://app.seog.ai/billing에서
충전하거나 업그레이드한 후 다시 시도하세요.
올바른 동작: 숫자와 링크를 전달하고, 유료 조사를 중단하고 (루프에서 다시 시도하지 마세요), 무료 읽기(list_keywords, get_latest_grid_scan, review_stats, get_action_plan)로 요약을 완료하세요.
지침
- 돈은 진짜입니다. 사용자가 요청하지 않은 유료 도구를 절대 실행하지 마세요.
list_feature_prices로 배치 가격을 책정하고 먼저get_credit_balance를 확인하세요. 항목별 루프보다 번들 청구(refresh_rankings,refresh_website_all,refresh_business_overview)를 선호하세요. 동일한 작업에 대해 비용이 더 적게 듭니다. - 게시는 공개적이며 되돌리기 어렵습니다.
publish_review_reply,publish_post,apply_profile_fix및apply_business_description은 실시간 Google 리스팅에 기록됩니다. 정확한 텍스트를 인용하고 먼저 승인을 받으세요. 비즈니스 이름을 변경하면 리스팅이 Google 재확인 절차에 들어갈 수 있습니다. 실행하기 전에 이 점을 알리세요. - 되돌릴 수 없는 도구는
confirm: true가 필요합니다 —delete_business,delete_profile_photo,delete_post,remove_keyword,remove_competitor,delete_report. 플래그가 없으면 설계상 실행을 거부합니다: 삭제될 내용을 정확히 인용하고, 승인을 받은 후 전달하세요.delete_business는 리뷰, 키워드, 순위 및 경쟁사를 함께 삭제합니다. 삭제된 사진과 게시물은 복원할 수 없습니다. 사용자가 추적을 일시 중지하려는 경우toggle_keyword를 선호하세요. - 오류를 읽고 재시도하지 마세요. 도구 오류는 자체 설명적입니다:
INSUFFICIENT_CREDITS는 가격, 잔액 및 충전 URL을 제공합니다.PLAN_REQUIRED는 평가판이 종료되었거나 요금제가 없음을 의미합니다.FEATURE_NOT_IN_PLAN은 기능과 요금제 이름을 알려줍니다. 이를 전달하세요. 재시도 루프는 다시 실패할 뿐입니다. - 일부 도구는 설계상 존재하지 않습니다. 화이트 라벨/에이전시 계정은 원시 Google 콘텐츠를 반환하는 도구(
search_places,check_keyword,sync_reviews,discover_competitors,run_grid_scan,import_gbp_business, …)를 사용할 수 없습니다. 도구를 "찾을 수 없음"인 경우, 추측하지 말고 계정이 해당 도구에 대해 승인되지 않았다고 말하세요. - 사진 업로드 및 Google / Search Console OAuth는 웹 앱(파일 바이트 및 브라우저)에 남아 있습니다. 그 외 모든 것은 여기에서 사용할 수 있습니다.
- ID는 토큰의 계정으로 범위가 지정된 UUID입니다. 유효한 UUID에서 404가 발생하면 일반적으로 다른 계정에 속한다는 의미입니다.
- 토큰은 자격 증명입니다. 절대 커밋하지 말고 로그와 대화 기록에서 제거하세요. 401은 설정에서 취소되었음을 의미합니다. 사용자에게 재발급을 요청하세요.