Tool Reference

Digital Face exposes 16 tools via MCP. Your AI client calls these automatically when you describe what you want to do.

11Read
5Write

Overview

ToolTypePlatformDescription
get_connections_statusReadCrossCheck which ad platforms (Google Ads, Meta Ads) are connected to your account and their current status.
review_campaign_spendReadCrossReview ad spend across all connected Google Ads and Meta Ads accounts.
get_campaign_performanceReadGooglePull campaign performance metrics (impressions, clicks, cost, conversions, CTR, CPC, CPA, ROAS) for a given date range.
research_keywordsReadGoogleResearch keyword ideas for Google Ads campaigns.
analyze_search_termsReadGoogleAnalyze Google Ads search terms to find wasted spend, high-CTR opportunities, and top performers.
analyze_wasted_spendReadGoogleFind Google Ads search terms that spent money but generated zero conversions.
suggest_ad_contentReadGoogleRetrieve current Google Ads copy and performance data.
create_search_campaignWriteGoogleCreate a new Google Ads search campaign with ad group, keywords, and responsive search ad.
manage_budgetWriteGoogleGet or update the daily budget for a Google Ads campaign.
manage_negative_keywordsWriteGoogleList or add negative keywords for a Google Ads campaign to prevent ads from showing on irrelevant searches.
pause_resume_campaignWriteGooglePause or resume a Google Ads campaign.
get_meta_performanceReadMetaPull Meta Ads (Facebook/Instagram) performance metrics for campaigns, ad sets, or ads.
search_meta_targetingReadMetaSearch for Meta Ads targeting interests and behaviors by keyword.
detect_creative_fatigueReadMetaDetect creative fatigue in Meta Ads by analyzing frequency, CTR trends, and CPA changes per creative.
optimize_meta_budgetReadMetaAnalyze Meta Ads budget allocation across ad sets and suggest reallocations.
create_meta_campaignWriteMetaCreate a new Meta Ads (Facebook/Instagram) campaign with targeting and creative.

Detailed Reference

get_connections_statusRead
Cross

Check which ad platforms (Google Ads, Meta Ads) are connected to your account and their current status. Returns a list of active connections with platform type and account ID.

Example Prompt

"Check my Digital Face connections"
review_campaign_spendRead
Cross

Review ad spend across all connected Google Ads and Meta Ads accounts. Flags overspending and underspending campaigns, and recommends budget reallocation based on ROAS performance.

Parameters

NameTypeRequiredDescription
dateRangeobjectNoDate range — provide preset (e.g. LAST_7_DAYS) or { startDate, endDate } in YYYY-MM-DD format

Example Prompt

"Review my ad spend for the last 7 days"
get_campaign_performanceRead
Google

Pull campaign performance metrics (impressions, clicks, cost, conversions, CTR, CPC, CPA, ROAS) for a given date range. Works for both Google Ads and Meta Ads.

Parameters

NameTypeRequiredDescription
platform"google_ads" | "meta_ads"YesThe advertising platform to query
accountIdstringYesThe ad account ID
dateRangeobjectNoDate range — preset or { startDate, endDate } in YYYY-MM-DD
limitnumberNoMaximum campaigns to return (default: 20)

Example Prompt

"Show my Google Ads campaign performance for last 7 days"
research_keywordsRead
Google

Research keyword ideas for Google Ads campaigns. Provide seed keywords to discover related terms with search volume, competition level, and estimated bid ranges.

Parameters

NameTypeRequiredDescription
accountIdstringYesThe Google Ads account ID
seedKeywordsstring[]YesOne or more seed keywords to generate ideas from
locationstringNoTarget location for search volume data (e.g. "United States")

Example Prompt

"Research keywords for running shoes"
analyze_search_termsRead
Google

Analyze Google Ads search terms to find wasted spend, high-CTR opportunities, and top performers. Categorizes terms into actionable buckets.

Parameters

NameTypeRequiredDescription
accountIdstringYesThe Google Ads account ID
campaignIdstringNoFilter to a specific campaign (omit for all campaigns)
dateRangeobjectNoDate range — preset or { startDate, endDate } in YYYY-MM-DD

Example Prompt

"Analyze search terms for my Google Ads account"
analyze_wasted_spendRead
Google

Find Google Ads search terms that spent money but generated zero conversions. Returns total waste amount, top offending terms, and a recommended negative keyword list. Read-only — does not apply changes.

Parameters

NameTypeRequiredDescription
accountIdstringYesThe Google Ads account ID
dateRangeobjectNoDate range — preset or { startDate, endDate } in YYYY-MM-DD

Example Prompt

"Find search terms with zero conversions"
suggest_ad_contentRead
Google

Retrieve current Google Ads copy and performance data. Returns headlines and descriptions with impressions, clicks, CTR, and conversions so the AI can suggest improvements.

Parameters

NameTypeRequiredDescription
accountIdstringYesThe Google Ads account ID
campaignIdstringNoOptional campaign ID to scope results to a specific campaign

Example Prompt

"Suggest improvements to my Google Ads copy"
create_search_campaignWrite
Google

Create a new Google Ads search campaign with ad group, keywords, and responsive search ad. Always created in PAUSED state — review before enabling.

Parameters

NameTypeRequiredDescription
accountIdstringYesThe Google Ads account ID
campaignNamestringYesCampaign name (1–255 characters)
dailyBudgetnumberYesDaily budget in account currency (minimum $10)
keywordsobject[]YesKeywords to target — each with text and matchType (EXACT, PHRASE, or BROAD)
headlinesstring[]YesAd headlines (3–15, max 30 chars each)
descriptionsstring[]YesAd descriptions (2–4, max 90 chars each)
finalUrlstringYesLanding page URL

Example Prompt

"Create a campaign for running shoes with a $50/day budget"
manage_budgetWrite
Google

Get or update the daily budget for a Google Ads campaign. Budget updates are capped at 50% of the current value per call for safety.

Parameters

NameTypeRequiredDescription
action"get" | "update"Yes"get" returns the current budget; "update" changes it
accountIdstringYesThe Google Ads account ID
campaignIdstringYesThe campaign ID to manage
newDailyBudgetnumberNoNew daily budget amount — required when action is "update" (minimum $10)

Example Prompt

"Increase the budget for campaign 12345678 to $75/day"
manage_negative_keywordsWrite
Google

List or add negative keywords for a Google Ads campaign to prevent ads from showing on irrelevant searches.

Parameters

NameTypeRequiredDescription
action"list" | "add"Yes"list" shows current negatives; "add" adds new ones
accountIdstringYesThe Google Ads account ID
campaignIdstringYesThe campaign ID to manage
keywordsobject[]NoKeywords to add — each with text and matchType (EXACT, PHRASE, BROAD). Required when action is "add"

Example Prompt

"Add free and cheap as negative keywords to campaign 12345678"
pause_resume_campaignWrite
Google

Pause or resume a Google Ads campaign. Pausing stops all ad serving immediately; resuming re-enables it.

Parameters

NameTypeRequiredDescription
action"pause" | "resume"Yes"pause" stops the campaign; "resume" re-enables it
accountIdstringYesThe Google Ads account ID
campaignIdstringYesThe campaign ID to pause or resume

Example Prompt

"Pause campaign 12345678"
get_meta_performanceRead
Meta

Pull Meta Ads (Facebook/Instagram) performance metrics for campaigns, ad sets, or ads. Returns impressions, clicks, cost, conversions, CTR, CPC, CPA, and ROAS with optional demographic or placement breakdowns.

Parameters

NameTypeRequiredDescription
accountIdstringYesThe Meta Ads account ID
dateRangeobjectNoDate range — preset or { startDate, endDate } in YYYY-MM-DD
level"campaign" | "adset" | "ad"NoReporting level (default: campaign)

Example Prompt

"Show my Meta Ads performance for last 30 days"
search_meta_targetingRead
Meta

Search for Meta Ads targeting interests and behaviors by keyword. Returns matching interests with audience sizes, topics, and category paths.

Parameters

NameTypeRequiredDescription
accountIdstringYesThe Meta Ads account ID
querystringYesInterest or behavior keyword to search for (e.g. "yoga", "real estate")

Example Prompt

"Search Meta targeting interests for yoga"
detect_creative_fatigueRead
Meta

Detect creative fatigue in Meta Ads by analyzing frequency, CTR trends, and CPA changes per creative. Returns a fatigue score with keep/refresh/pause recommendations.

Parameters

NameTypeRequiredDescription
accountIdstringYesThe Meta Ads account ID
campaignIdstringNoOptional campaign ID to scope the analysis (analyzes all campaigns if omitted)

Example Prompt

"Check for creative fatigue in my Meta campaigns"
optimize_meta_budgetRead
Meta

Analyze Meta Ads budget allocation across ad sets and suggest reallocations. Identifies underperforming (high CPA) and overperforming (low CPA) ad sets and recommends budget shifts. Read-only — does not apply changes.

Parameters

NameTypeRequiredDescription
accountIdstringYesThe Meta Ads account ID
campaignIdstringYesThe campaign ID to optimize budget for

Example Prompt

"Suggest budget reallocation for Meta campaign 23456789"
create_meta_campaignWrite
Meta

Create a new Meta Ads (Facebook/Instagram) campaign with targeting and creative. Always created in PAUSED state — review in Meta Ads Manager before enabling.

Parameters

NameTypeRequiredDescription
accountIdstringYesThe Meta Ads account ID
namestringYesCampaign name (1–255 characters)
objectivestringYesCampaign objective: TRAFFIC, CONVERSIONS, LEAD_GENERATION, BRAND_AWARENESS, REACH, or ENGAGEMENT
dailyBudgetnumberYesDaily budget in account currency (minimum $5)
imageUrlstringYesURL of the ad creative image
primaryTextstringYesPrimary ad text (recommended max 125 characters)
headlinestringYesAd headline (recommended max 27 characters)
linkUrlstringYesDestination URL for the ad
descriptionstringNoOptional ad description (recommended max 30 characters)
ctaTypestringNoCTA button: LEARN_MORE, SHOP_NOW, SIGN_UP, DOWNLOAD, BOOK_NOW, or CONTACT_US (default: LEARN_MORE)

Example Prompt

"Create a Meta campaign for my product launch with $20/day budget"

Safety Note

  • All Write tools include safety guardrails
  • New campaigns are always created in PAUSED state
  • Budget changes are capped at 50% per adjustment
  • Your AI client will confirm before executing write operations