SEOG — MCPによるローカルSEO
概要
SEOG (seog.ai) は、Googleマップ上でビジネスを展開する企業向けの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 → enabled)と/mcp(seog → connected)で確認します。
スキル + 手動で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)**で課金され、ルールは1つ:「外部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で1回のライブチェックまたはrefresh_rankingsで1回の課金ですべてのアクティブキーワードをチェック、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で1回の課金で両方を再実行。get_ai_visibility_pillarsとlist_citationsでAI回答対応状況とNAP一貫性を確認。
例
例1:クレジット対応の週次ダイジェスト
「今週、クライアントの状況はどうですか?」
1. get_credit_balance → 180 CR(Growthプラン) — スイープに十分
2. list_businesses → 15件のビジネス
3. ビジネスごとに: refresh_rankings # 全アクティブキーワードで1回の課金
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は設定で無効化されたことを意味します — ユーザーに再発行を依頼してください。