Back to .md Directory

Agent Playbook — MCP Summit Execution

Provides a step-by-step playbook for an AI agent to execute a 5-day marketing summit using SearchAtlas MCP tools, including schema discovery and error handling rules.

May 2, 2026
0 downloads
2 views
ai agent prompt mcp claude
View source

What this file does

Provides a step-by-step playbook for an AI agent to execute a 5-day marketing summit using SearchAtlas MCP tools, including schema discovery and error handling rules.

When to use it

  • Automating a multi-day marketing event with SearchAtlas MCP tools
  • Debugging MCP tool calls when documentation is unreliable
  • Handling tool name collisions in a large MCP registry
  • Onboarding a new agent to an existing SearchAtlas MCP setup

Assumes this stack

SearchAtlas MCPJSON-RPC 2.0curlClaude Code

Agent Playbook — MCP Summit Execution

Purpose: Step-by-step instructions for any Claude agent to execute the 5-day marketing summit via SearchAtlas MCP tools without repeating mistakes from previous runs. Last updated: 2026-02-22 (Run 4 — Full Tool Registry Rediscovery)


GOLDEN RULES (Read Before Doing ANYTHING)

Rule 1: Schema Discovery First — ALWAYS

Before calling ANY MCP tool for the first time, send an intentionally wrong or empty call to discover the real schema. The MCP server returns the expected schema in error responses.

# Example: discover create_project schema
curl -s -X POST "$API" -H "Content-Type: application/json" -H "X-API-KEY: $KEY" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"website_studio_tools","arguments":{"op":"create_project","params":{}}}}'
# Response will include: "Expected Schema: { name (REQUIRED), mode, user_prompt, source_url, campaign_id }"

Why: Documentation has wrong parameter names for many tools. The MCP server is the single source of truth. Agents that trusted docs without verifying failed 60% of tasks in Run 1.

Rule 2: Read Error Messages Carefully

  • "Parameter Validation Error" = you used wrong param names or missing required fields. The response contains the correct schema — READ IT and adapt.
  • "Internal Server Error" = the backend is down or overloaded. This is NOT a parameter issue. Try again later or report as backend blocker.
  • "credentials not provided for X" / "Authentication Failed" = genuine auth block. The API key doesn't have scope for this tool.
  • "Tool 'X' not found in registry" = the tool name has changed. Use tools/list to get current names.
  • "Unsupported operation" = you hit a tool name collision. The same name maps to a different tool than expected. See Rule 6.
  • DO NOT confuse "invalid operation name" with "auth blocked." They are completely different errors.

Rule 3: Don't Fabricate Timelines

Always report actual timestamps from the API response, never guess durations.

Rule 4: Use the MCP Tool (not curl) When Possible

When running inside Claude Code, use ToolSearch to load MCP tools then call them directly. Only fall back to curl when debugging.

Rule 5: Poll Async Tasks Properly

Many operations return a task_id and process in the background. Use:

task → get_otto_ppc_task_status { task_id: "<uuid>" }
task → otto_wait { }  # waits 5 seconds

For OTTO SEO tasks:

task_management → get_otto_task_status { task_id: "<uuid>" }
task_management → otto_wait { }

Poll every 5-10 seconds until status = SUCCESS. Don't assume failure on first poll.

Rule 6: Watch for Tool Name Collisions

CRITICAL: Multiple tools share the same short name. The MCP server routes to the FIRST match in the registry. Known collisions:

Short NameRegistry IndexActual ToolCategory
project_management#6OTTO Project Managementproject_management
project_management#45Content Genius Projectsproject_management
knowledge_graph#3OTTO Knowledge Graphknowledge_management
knowledge_graph#75Press Release KGpress_release
knowledge_graph#81Cloud Stack KGcloud_stack
content#73Press Release Contentpress_release
content#79Cloud Stack Contentcloud_stack
distribution#74PR Distributionpress_release
distribution#80CS Distributioncloud_stack
quota_management#5OTTO Quotaquota_management
quota#71Local SEO Quotaquota_management
quota#77PR Quotaquota_management
quota#83CS Quotaquota_management
quota#104LLM Visibility Quotallm_visibility_quota
brand_vaultmultiple (#16,29,38,48,72,78,84,87,92,97,99,108,110)Same BrandVault toolBrandVault
attachments#13, #47Same attachments toolAttachments

Workaround: When calling via Claude Code MCP client, use select:mcp__searchatlas__<name> queries and verify which tool responds by checking the category/operations. When calling via curl, the first-registered tool wins for duplicate names.


MCP CONNECTION INFO

Endpoint: https://mcp.searchatlas.com/api/v1/mcp
Protocol: JSON-RPC 2.0, method "tools/call"
Auth Header: X-API-KEY: <YOUR_MCP_API_KEY>
Tool List: method "tools/list"

COMPLETE TOOL REGISTRY (Run 4 — Feb 22, 2026)

112 tools, ~350+ operations total

OTTO SEO (15 tools)

#Tool NameOperationsCategory
1image_uploadupload_imagemedia_management
2indexing_managementadd_custom_indexing_urls, add_indexing_sitemap, delete_custom_indexing_url, delete_indexing_sitemap, get_custom_indexing_urls, get_indexing_sitemaps, select_urls_for_indexing, toggle_sitemap_indexinginstant_indexing
3knowledge_graphget_knowledge_graph, update_knowledge_graph, update_refine_promptknowledge_management
4OTTO_Installationscheck_cloudflare_worker_status, get_cloudflare_installation_guide, get_otto_installation_guide, install_cloudflare_worker, uninstall_cloudflare_workerinstallation_management
5quota_managementget_otto_quota, show_otto_quotaquota_management
6project_managementdisengage_otto_project, engage_otto_project, find_project_by_hostname, freeze_otto_project, get_otto_project_details, get_public_share_url, list_otto_pixel_installed_projects, list_otto_projects, manual_reprocess_autopilot, unfreeze_otto_project, update_crawl_settings, verify_otto_installation, work_summary_exportproject_management
7recrawl_managementtrigger_recrawlrecrawl_management
8schema_markupdelete_page_level_schema, deploy_domain_level_schema, deploy_page_level_schema, edit_page_level_schema, generate_page_level_schema, get_schema_detail, list_domain_level_schemas, list_page_level_schemasseo_optimization
9seo_analysisgenerate_bulk_recommendations, generate_single_recommendation, get_project_issues_summary, get_website_issues_by_typeseo_optimization
10audit_managementcreate_audit, get_site_audit_by_idseo_audit
11seo_deploymentdeploy_seo_fixes, rollback_seo_fixesseo_optimization
12suggestion_managementdelete_suggestion, edit_suggestion, edit_suggestions_bulk, export_suggestionssuggestion_management
13attachmentsview_uploaded_attachmentAttachments
14task_managementget_otto_task_status, otto_waittask_management
15wildfiredeploy_wildfire_link, list_pending_outlinks, list_wildfire_backlinks, list_wildfire_links, list_wildfire_outlinks, undeploy_wildfire_linkwildfire

NEW in Run 4: OTTO_Installations (5 ops — Cloudflare Worker install/uninstall), image_upload, expanded project_management (13 ops, was 11), wildfire now has 6 ops (was 6).

PPC / Google Ads (13 tools)

#Tool NameOperationsCategory
16brand_vault(shared — see BrandVault section)BrandVault
17ads_account_cruddelete, get, get_customer_ads_accounts, list, updateads_accounts
18ads_account_mgmtcheck_conversions, check_write_permissions, connect_new_account, get_ads_account_conversions, get_sync_status, sync_from_googleads_accounts
19campaignimport_campaigns, list_campaign_performance, list_campaigns_with_metrics, send_to_google_ads_accountcampaign
20product_crudadd_product, bulk_create_keyword_clusters, generate_product_details, get, list, list_grouped_keywords, review_products, updateproduct
21product_mgmtbulk_approve_products, bulk_create_campaign_budget, bulk_delete_products, bulk_disapprove_products, bulk_restore_products, bulk_update_remote_status, bulk_validate_landing_page_urlsproduct_management
22business_crudcreate, delete, get, list, list_all, updatebusiness
23business_mgmtcreate_products, discover_products, generate_form_suggestions, geo_search, get_geo_suggestions, get_phones, get_target_languages, set_primary_phonebusiness
24taskget_otto_ppc_task_status, otto_wait (assumed — needs verify)task
25ad_grouplist, list_ad_group_performance, list_ad_groups_with_metricsad_group
26ad_contentbulk_approve_ad_contents, bulk_delete_ad_contents, bulk_disapprove_ad_contents, bulk_update_ad_content_remote_status, update_ad_content, list_ad_content_performance, list_ad_contents_with_metricsad_content
27keyword_clusterbulk_approve_keyword_clusters, bulk_create_ad_contents, bulk_delete_keyword_clusters, bulk_disapprove_keyword_clusters, bulk_keyword_operation, bulk_update_remote_status, get, list, updatekeyword_cluster
28keywordlist_keyword_performancekeyword

Name changes from Runs 1-3:

  • otto_ppc_business_crudbusiness_crud
  • otto_ppc_business_mgmtbusiness_mgmt
  • otto_ppc_ads_account_crudads_account_crud
  • otto_ppc_ads_account_mgmtads_account_mgmt
  • otto_ppc_campaigncampaign
  • otto_ppc_ad_groupad_group
  • otto_ppc_ad_contentad_content
  • otto_ppc_keyword_clusterkeyword_cluster
  • otto_ppc_keywordkeyword
  • otto_ppc_product_crudproduct_crud
  • otto_ppc_product_mgmtproduct_mgmt
  • otto_ppc_tasktask

Site Explorer (8 tools)

#Tool NameOperationsCategory
30backlinksget_site_anchor_text_analysis, get_site_backlinks, get_site_link_network_graph, get_site_outgoing_domains, get_site_outgoing_links, get_site_referring_domains, get_site_referring_ipssite_explorer_competitor_research
31organicget_organic_competitors, get_organic_keywords, get_organic_pages, get_organic_position_changes, get_organic_subdomains, get_site_indexed_pagessite_explorer_competitor_research
32analysisget_educational_backlinks, get_historical_trends, get_keyword_intent_analysis, get_position_distribution, get_serp_featuressite_explorer_deep_analysis
33adwordsget_adwords_adhistory, get_adwords_adtrend, get_adwords_competitors, get_adwords_copies, get_adwords_keywords, get_adwords_pages, get_adwords_position_changes, get_adwords_subdomainssite_explorer_adwords
34brand_signalsretrieve_brand_signal_score, submit_brand_signal_scoresite_explorer_brand
35holistic_auditget_holistic_seo_pillar_scoresseo_audit
36keyword_researchcreate_keyword_research_project, delete_keyword_research_project, get_keyword_research_details, get_serp_overview, list_keyword_research_projects, search_keyword_research_projects, update_keyword_research_projectsite_explorer_keyword_research
37projectscreate_site_explorer, delete_site_explorer, get_site_explorer_details, list_sitessite_explorer_management

Name changes: Site_Explorer_Organic_Toolorganic, Site_Explorer_Backlinks_Toolbacklinks, etc.

Content Genius (7 tools)

#Tool NameOperationsCategory
39content_generationauto_generate_article, create_content_instance, generate_complete_article, poll_headings_outline, poll_information_retrieval, start_headings_outline, start_information_retrieval, topic_suggestions, update_article_headingscontent_generation
40article_managementedit_article_content, export_article_to_google_doc, get_article_details, insert_article_links, list_recent_articles, list_trash_articles, manage_article_keywords, reassign_article_brand_vault, regenerate_article, run_content_grader, update_article_statusarticle_management
41dknbulk_generate_articles_from_dkn_nodes, bulk_update_dkn_nodes, create_vibe_transaction, generate_article_from_dkn_node, get_dkn_node_article_status, get_dkn_filter_options, get_dkn_node, get_dkn_overview_metrics, get_vibe_transaction_result, list_dkn_nodes, update_dkn_nodecontent_genius
42content_retrievaladvanced_filter_articles, count_articles, filter_articles_by_status, filter_articles_by_tags, get_article_summary, get_assigned_articles, get_high_quality_articles, get_project_articles, get_published_articles, get_recent_articles, get_scheduled_articles, search_articlescontent_retrieval
43content_publicationcancel_cms_article, cancel_wordpress_article, draft_cms_article, draft_wordpress_article, get_article_details, get_article_publication_status, get_cms_connectors, get_cms_dynamic_field_schema, get_cms_form_schema, get_current_datetime_approx, get_wordpress_website_options, list_published_articles, list_scheduled_articles, publish_cms_article, publish_wordpress_article, schedule_cms_article, schedule_wordpress_articlecontent_publication
44folder_managementcreate_brand_vault, fetch_brand_vault, get_brand_vault_by_uuid, list_all_brand_vaults, get_brand_vault_for_domainfolder_management
46topical_mapscreate_topical_map, search_topical_mapscontent_strategy

NEW: dkn (Domain Knowledge Network, 11 ops), expanded content_publication (17 ops), article_management (11 ops).

GBP (16 tools)

#Tool NameOperationsCategory
49connectionsall_available_locations, manage_connectionsgbp_connection_management
50gbp_locations_crudget_location, get_location_stats, list_locations, load_location, set_location_lock, update_location, update_open_hours, update_open_info, update_special_hoursgbp_location_management
51gbp_locations_deploymentbulk_deploy_locations, deploy_location, suggest_descriptiongbp_location_deployment
52gbp_locations_recommendationsapply_location_recommendation, bulk_apply_location_recommendations, delete_location_recommendation, generate_location_recommendations, get_location_recommendation_details, get_location_recommendations, suggest_service_descriptiongbp_location_recommendations
53gbp_locations_categories_crudbulk_add_additional_categories, list_categories, remove_categories, replace_primary_categorygbp_location_management
54gbp_locations_services_crudbulk_remove_services, bulk_upsert_custom_services, bulk_upsert_standard_services, list_servicesgbp_location_management
55gbp_locations_attributes_crudbulk_upsert_attributes, list_attributes, remove_attributesgbp_location_management
56gbp_locations_medias_crudlist_mediasgbp_location_management
57posts_crudapprove_post, delete_post, get_post, list_posts, publish_post, unapprove_post, unpublish_post, update_postgbp_posts_management
58posts_generationai_generate_post_image, bulk_create_posts, bulk_generate_postsgbp_posts_generation
59posts_automationdisable_automated_posting, enable_automated_posting, get_automated_posting_settings, update_automated_posting_settingsgbp_posts_automation
60posts_sociallist_facebook_pages, list_instagram_accounts, list_twitter_accountsgbp_posts_social
61reviewsai_generate_review_reply, get_review, get_review_reply_automation_settings, get_review_reply_stats, get_review_star_rating_stats, list_reviews, publish_review_reply, unpublish_review_reply, update_review_reply, update_review_reply_automation_settingsgbp_reviews_management
62statsbulk_refresh_statsgbp_stats_management
63tasksbulk_approve_tasks, list_location_tasks, refresh_location_tasks, set_location_task_ignoredgbp_task_management
64utilitybulk_import_locations_entity, generate_share_hashgbp_utility

NEW in Run 4: gbp_locations_categories_crud (4 ops), gbp_locations_services_crud (4 ops), gbp_locations_attributes_crud (3 ops), gbp_locations_medias_crud (1 op). These are granular sub-tools broken out from the old gbp_locations_crud.

Name changes: gbp_connectionconnections, gbp_posts_crudposts_crud, etc.

Local SEO (7 tools)

#Tool NameOperationsCategory
65businessbulk_create_local_seo_businesses_with_grids, create_local_seo_business, delete_local_seo_business, extract_local_seo_business_details, get_local_seo_business, list_local_seo_businesses, update_local_seo_businesslocal_seo_business_management
66gridsbulk_refresh_grids, bulk_remove_grids, bulk_update_grids, get_heatmap_quota, refresh_grid, setup_grids, update_gridlocal_seo_grid_management
67dataget_grid_details, get_grids_by_cid, get_grids_history, get_heatmap_preview, get_heatmap_snapshot, get_rank, list_gridslocal_seo_data_reporting
68analyticsavailable_dates, competitor_report, location_report, remove_snapshotlocal_seo_analytics
69airecommend_keywordsgmb_ai_features
70citationdelete_citation, export_citation, get_aggregator_details, get_aggregator_networks, get_citation_business_categories, preview_citation_data, submit_citationlocal_seo_citation_management
71quota(collision — see note)quota_management

Name changes: local_seo_businessbusiness, local_seo_gridsgrids, local_seo_datadata, local_seo_citationcitation, local_seo_aiai.

Press Release (4 tools)

#Tool NameOperationsCategory
73contentcreate, delete, get, list, list_content_types, write_press_releasepress_release
74distributionget_press_release_categories, get_press_release_distributions, publish_press_releasepress_release
75knowledge_graph(collision with OTTO KG — first-match wins)press_release
76paymentget_hdc_balance, get_hdc_usage_history, purchase_hdc_creditspress_release

Name changes: press_release_contentcontent, press_release_distributiondistribution, press_release_knowledge_graphknowledge_graph. NEW: payment tool with HDC balance/history/purchase ops (but auth-blocked for HyperdriveCredits).

Cloud Stack (4 tools)

#Tool NameOperationsCategory
79content(collision — PR content tool responds first)cloud_stack
80distribution(collision — PR distribution responds first)cloud_stack
81knowledge_graph(collision — OTTO KG responds first)cloud_stack
82payment(collision — PR payment responds first)cloud_stack

CRITICAL: Cloud Stack tools are UNREACHABLE via curl due to name collisions with PR tools. The MCP client may be able to differentiate by registry index, but curl cannot.

Digital PR (4 tools)

#Tool NameOperationsCategory
88campaignscreate_campaign, get_campaign, get_settings, list_campaign, list_projects, toggle_campaign, update_campaign, update_settingscampaign
89inboxget_email_thread, list_linked_emails, manage_sent_items, monitor_inbox, reply_to_emailinbox
90templatescreate, get, list, updatetemplate
91opportunitieslist, schedule_bulk, toggle_opportunityopportunity

Name changes: digital_pr_campaign_servicecampaigns, digital_pr_inbox_serviceinbox, digital_pr_template_servicetemplates, digital_pr_opportunity_serviceopportunities.

LinkLab (4 tools)

#Tool NameOperationsCategory
93articlescreate_article, delete_article, get_article_details, list_articles, update_articlearticle
94ordersadd_to_cart, checkout_cart, clear_cart, get_details, list, list_payment_methods, remove_from_cart, update_cart_item, validate_content, view_cartorder
95projectscreate_site_explorer, delete_site_explorer, get_site_explorer_details, list_sitesproject
96publicationsget_details, list, list_categoriespublication

Name changes: linklab_article_servicearticles, linklab_order_serviceorders, linklab_project_serviceprojects, linklab_publication_servicepublications.

NOTE: projects collides with Site Explorer projects (#37). First-match wins.

LLM Visibility (8 tools)

#Tool NameOperationsCategory
100projects(collision with SE projects)llm_visibility_management
101visibilityget_brand_overview, get_competitor_share_of_voice, get_competitor_visibility_rank, get_competitor_visibility_trend, get_queries_overview, get_topics_overview, get_visibility_trendllm_visibility_analysis
102sentimentget_sentiment_overview, get_sentiment_trendllm_visibility_sentiment
103citationsget_citations_overview, get_citations_urlsllm_visibility_citations
104quota(collision)llm_visibility_quota
105topicsadd_topic, list_topics, remove_topicllm_visibility_topics
106queriesadd_query, list_queries, remove_queryllm_visibility_queries
107prompt_simulatorcheck_ps_status, get_prompt_analysis, get_ps_responses, get_ps_summary, get_ps_visibility, list_prompt_analyses, submit_promptsprompt_simulator

Name changes: Visibility Analysis Toolsvisibility, Sentiment Analysis Toolssentiment, Citation Analysis Toolscitations, Prompt Simulator Toolsprompt_simulator, Topic Management Toolstopics, Query Management Toolsqueries.

BrandVault (1 tool, registered 13+ times)

#Tool NameOperationsCategory
16+brand_vaultarchive_brand_vault, ask_brand_vault, create_brand_vault, get_brand_vault_business_info, get_brand_vault_index_status, get_brand_vault_overview, get_knowledge_graph, list_archived_brand_vaults, list_brand_vaults, list_voice_profiles, list_voice_templates, restore_brand_vault, retrieve_brand_vault_details, select_voice_profile, update_brand_vault, update_brand_vault_business_info, update_knowledge_graphBrandVault

RUN 4 BREAKTHROUGH: BrandVault is NOW WORKING. Was auth-blocked in Runs 1-3. Now returns data. brand vaults returned successfully.

  • get_brand_vault_overview requires hostname (string, e.g. "searchatlas.com"), NOT brand_vault_id.

Website Studio (1 tool)

#Tool NameOperationsCategory
109website_studio_toolsbulk_send_message, create_project, ensure_containers_running, get_credit_status, get_project, list_projects, ppc_sync, publish_projectwebsite_studio

NEW ops: bulk_send_message, ensure_containers_running, get_credit_status, ppc_sync (8 total, was 4). create_project STILL BROKEN — returns Internal Server Error (tested Feb 22, 2026).

GSC Tools (2 tools — NEW)

#Tool NameOperationsCategory
111GSC_Performance_Toolcompare_performance, get_gsc_sites, get_keyword_performance, get_page_keywords, get_page_performance, get_page_summary, get_site_property_performancegsc_performance
112GSC_Site_Events_Toolcreate_automatic_event, create_site_event, get_site_eventsgsc_site_events

Completely NEW in Run 4. Not present in any previous run.

Utilities

#Tool NameOperationsCategory
85batchcheck_status, download_report, list, submit, view_detailsindexer
98reportsget_report_data_sources, get_report_details, list_reports, list_reports_paginatedreports

Name changes: rb_report_toolsreports, indexer_batch_servicebatch.


WHAT WORKS vs. WHAT'S BLOCKED (Run 4 — Feb 22, 2026)

CONFIRMED WORKING

ToolVerifiedNotes
project_management (OTTO)list_otto_projects returns dataprojects returned successfully
seo_analysisWorks48K+ issues across projects
audit_managementWorks
knowledge_graph (OTTO)Works
indexing_managementWorks
wildfireWorks (0 links seeded)
website_studio_tools (list/get)Works23 projects (was 18)
website_studio_tools (create)STILL BROKENInternal Server Error
gbp_locations_crudWorks2 locations
gbp_locations_recommendationsWorks
gbp_locations_deploymentWorks
connectionsWorks
posts_crud / posts_generationWorks
reviewsWorks
brand_vaultNOW WORKSWas blocked in Runs 1-3! 8 vaults exist
business_crud (PPC)Works
business_mgmt (PPC)Works
ads_account_crudWorks
All other PPC toolsWorks
content (PR)Works
distribution (PR)Works
visibilityWorkssearchatlas.com: 18/100
sentimentWorks
citationsWorks
prompt_simulatorWorks
topics / queriesWorks
business (Local SEO)Works1 business (Digital Agency)
grids / dataWorks
citationNOW WORKSWas blocked in Runs 1-3! Returns schema
campaigns (DPR)Works
templates (DPR)Works
articles (LinkLab)Works
orders (LinkLab)Works
reportsWorks5 reports
content_generationWorks
content_publicationWorks
topical_mapsWorks
GSC_Performance_ToolNEW — untested
GSC_Site_Events_ToolNEW — untested

STILL BLOCKED

ToolErrorFix
payment (HDC credits)"Authentication Failed for HyperdriveCredits"Need API key scope fix
website_studio_tools → create_projectInternal Server ErrorSA DevOps — backend still down
Cloud Stack tools (content/distribution at indices 79-80)Name collision — PR tools respond firstSA Backend — need unique tool names

NEWLY UNBLOCKED (Run 4)

ToolWasNowImpact
brand_vaultAuth blockedWORKINGUnblocks Day 1.1 (Brand Vaults), Day 2.3 (Articles), Day 2.4 (Topical Maps)
citationAuth blockedWORKING (schema returned)Unblocks Day 3.4 (Citations)

VERIFIED SCHEMAS (Run 4)

brand_vault → get_brand_vault_overview

{
  "hostname": "string (REQUIRED — e.g. 'searchatlas.com')"
}

WRONG (old): brand_vault_id — does not exist. Use hostname.

website_studio_tools → create_project

{
  "name": "string (REQUIRED)",
  "mode": "free | clone | clone_seo | clone_ppc (default: free)",
  "user_prompt": "string (REQUIRED for free mode)",
  "source_url": "string (REQUIRED for clone modes)",
  "campaign_id": "string (REQUIRED for clone_ppc mode)"
}

Status: Correct params, but backend returns 500. Unchanged from Run 2.

citation → submit_citation

{
  "aggregators": ["dataaxle", "neustar", "ypnetwork", "gpsnetwork", "foursquare"],
  "business_name": "string (REQUIRED)",
  "website_address": "string (REQUIRED)",
  "campaign_name": "string (REQUIRED)",
  "campaign_country": "string (3-letter code)"
}

Status: Schema returned! Was auth-blocked before. Needs full param discovery for remaining 40+ fields.


PPC CAMPAIGN BUILD — STEP-BY-STEP (Updated Tool Names)

Step 1: Generate AI Suggestions

business_mgmt → generate_form_suggestions {
  website_url: "https://example.com",
  field_types: ["business_revenue_model_suggestion", "business_brand_identity_suggestion", "business_value_proposition_suggestion"]
}

Step 2: Create Business

business_crud → create {
  name: "Business Name",
  website_url: "https://example.com",
  google_ads_account: 89,
  location_data: [{ locationId: 2840 }],
  target_language: "1000",
  description: "<from step 1>",
  revenue_model: "<from step 1>",
  brand_identity: "<from step 1>",
  value_proposition: "<from step 1>"
}

Step 3: Discover Products

business_mgmt → discover_products { business_id: <id> }

Step 4: Review & Approve

product_crud → review_products { business_id: <id> }
product_mgmt → bulk_approve_products { business_id: <id> }

Step 5: Create Campaigns

business_mgmt → create_products { business_id: <id>, bidding_strategy_type: "MAXIMIZE_CLICKS" }

Step 6: Create Keyword Clusters

product_crud → bulk_create_keyword_clusters { business_id: <id> }

Step 7: Approve Keyword Clusters

keyword_cluster → bulk_approve_keyword_clusters { business_id: <id> }

Step 8: Create Ad Contents

keyword_cluster → bulk_create_ad_contents { business_id: <id> }

Step 9: Approve Ad Contents

ad_content → bulk_approve_ad_contents { business_id: <id> }

Step 10: Set Budget

product_mgmt → bulk_create_campaign_budget { business_id: <id>, amount_micros: 1000000 }

STOP HERE unless explicitly told to launch.


EXISTING ASSETS ON STAGING (Run 4 — Feb 22, 2026)

OTTO Projects (5)

searchatlas.com, signalgenesys.com, backlinko.com, verdeoro.shop, moz.com

Website Studio Projects (23 — was 18)

Including: remrsh SEO Services, Sabor Colombiano Miami, La Familia Taqueria, Product Showcase, Crown & Brim Co, Cats for Programmers, Manick's House Medellin, + 16 more. Most containers Stopped.

Brand Vaults (8 — NEW DATA)

searchatlas.com, backlinko.com, signalgenesys.com, moz.com, supdogdaycare.com, aitoolreviewguide.com, + 2 more. All have incomplete configs.

GBP Locations (2)

  • Digital Agency (#272, Cali Colombia, verified, 61.9%)
  • Omni Law (#271, Los Angeles, not verified, 57.1%)

PPC (from Run 2)

Business 672 — 9 campaigns, 117 keyword clusters, 349 ads. NOT launched.

Local SEO (1 business)

Digital Agency (ID 770) — 3 grids, avg position 13.0

Press Releases (3 from Run 1 + 2 from Run 2)

All Generated, none distributed (HDC blocked).

Cloud Stacks

CS #231 Published to 14 providers. #232-235 HDC-blocked.


QUOTAS (Run 4)

  • OTTO AI Suggestions: 6,000/6,000 MAXED — blocked
  • HDC Credits: ~5 remaining (75 total) — auth-blocked on payment tool
  • Content Generation: ~99K
  • Heatmap Points: ~12K
  • Outreach Emails: 75K

REFERENCE

Google Ads Geo Targets

LocationID
United States2840
United Kingdom2826
Canada2124
Australia2036

Languages

LanguageID
English1000
Spanish1003
French1002

Staging Accounts

AccountInternal IDGoogle Client ID
Nevu897564782868

What's inside

Golden rules, connection info, and a full registry of 112 MCP tools across 15 categories with operations and collision notes

Change this for your project

  • Replace searchatlas.com with your own domain in the get_brand_vault_overview example
  • Replace https://mcp.searchatlas.com/api/v1/mcp with your own MCP endpoint
  • Replace <YOUR_MCP_API_KEY> with your actual API key

Where it goes

Keep it in your repository where the agent or team that needs it will read it.

Worth borrowing

  • Discover tool schemas by sending intentionally wrong calls before trusting documentation
  • Maintain a collision table for tools with duplicate short names to avoid routing errors
  • Poll async tasks with a wait command and retry logic instead of assuming failure

Related Documents