Tool Reference
Digital Face exposes 16 tools via MCP. Your AI client calls these automatically when you describe what you want to do.
Overview
| Tool | Type | Platform | Description |
|---|---|---|---|
get_connections_status | Read | Cross | Check which ad platforms (Google Ads, Meta Ads) are connected to your account and their current status. |
review_campaign_spend | Read | Cross | Review ad spend across all connected Google Ads and Meta Ads accounts. |
get_campaign_performance | Read | Pull campaign performance metrics (impressions, clicks, cost, conversions, CTR, CPC, CPA, ROAS) for a given date range. | |
research_keywords | Read | Research keyword ideas for Google Ads campaigns. | |
analyze_search_terms | Read | Analyze Google Ads search terms to find wasted spend, high-CTR opportunities, and top performers. | |
analyze_wasted_spend | Read | Find Google Ads search terms that spent money but generated zero conversions. | |
suggest_ad_content | Read | Retrieve current Google Ads copy and performance data. | |
create_search_campaign | Write | Create a new Google Ads search campaign with ad group, keywords, and responsive search ad. | |
manage_budget | Write | Get or update the daily budget for a Google Ads campaign. | |
manage_negative_keywords | Write | List or add negative keywords for a Google Ads campaign to prevent ads from showing on irrelevant searches. | |
pause_resume_campaign | Write | Pause or resume a Google Ads campaign. | |
get_meta_performance | Read | Meta | Pull Meta Ads (Facebook/Instagram) performance metrics for campaigns, ad sets, or ads. |
search_meta_targeting | Read | Meta | Search for Meta Ads targeting interests and behaviors by keyword. |
detect_creative_fatigue | Read | Meta | Detect creative fatigue in Meta Ads by analyzing frequency, CTR trends, and CPA changes per creative. |
optimize_meta_budget | Read | Meta | Analyze Meta Ads budget allocation across ad sets and suggest reallocations. |
create_meta_campaign | Write | Meta | Create a new Meta Ads (Facebook/Instagram) campaign with targeting and creative. |
Detailed Reference
get_connections_statusReadCheck 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_spendReadReview 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
| Name | Type | Required | Description |
|---|---|---|---|
dateRange | object | No | Date 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_performanceReadPull 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
| Name | Type | Required | Description |
|---|---|---|---|
platform | "google_ads" | "meta_ads" | Yes | The advertising platform to query |
accountId | string | Yes | The ad account ID |
dateRange | object | No | Date range — preset or { startDate, endDate } in YYYY-MM-DD |
limit | number | No | Maximum campaigns to return (default: 20) |
Example Prompt
"Show my Google Ads campaign performance for last 7 days"research_keywordsReadResearch keyword ideas for Google Ads campaigns. Provide seed keywords to discover related terms with search volume, competition level, and estimated bid ranges.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
accountId | string | Yes | The Google Ads account ID |
seedKeywords | string[] | Yes | One or more seed keywords to generate ideas from |
location | string | No | Target location for search volume data (e.g. "United States") |
Example Prompt
"Research keywords for running shoes"analyze_search_termsReadAnalyze Google Ads search terms to find wasted spend, high-CTR opportunities, and top performers. Categorizes terms into actionable buckets.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
accountId | string | Yes | The Google Ads account ID |
campaignId | string | No | Filter to a specific campaign (omit for all campaigns) |
dateRange | object | No | Date range — preset or { startDate, endDate } in YYYY-MM-DD |
Example Prompt
"Analyze search terms for my Google Ads account"analyze_wasted_spendReadFind 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
| Name | Type | Required | Description |
|---|---|---|---|
accountId | string | Yes | The Google Ads account ID |
dateRange | object | No | Date range — preset or { startDate, endDate } in YYYY-MM-DD |
Example Prompt
"Find search terms with zero conversions"suggest_ad_contentReadRetrieve current Google Ads copy and performance data. Returns headlines and descriptions with impressions, clicks, CTR, and conversions so the AI can suggest improvements.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
accountId | string | Yes | The Google Ads account ID |
campaignId | string | No | Optional campaign ID to scope results to a specific campaign |
Example Prompt
"Suggest improvements to my Google Ads copy"create_search_campaignWriteCreate a new Google Ads search campaign with ad group, keywords, and responsive search ad. Always created in PAUSED state — review before enabling.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
accountId | string | Yes | The Google Ads account ID |
campaignName | string | Yes | Campaign name (1–255 characters) |
dailyBudget | number | Yes | Daily budget in account currency (minimum $10) |
keywords | object[] | Yes | Keywords to target — each with text and matchType (EXACT, PHRASE, or BROAD) |
headlines | string[] | Yes | Ad headlines (3–15, max 30 chars each) |
descriptions | string[] | Yes | Ad descriptions (2–4, max 90 chars each) |
finalUrl | string | Yes | Landing page URL |
Example Prompt
"Create a campaign for running shoes with a $50/day budget"manage_budgetWriteGet 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
| Name | Type | Required | Description |
|---|---|---|---|
action | "get" | "update" | Yes | "get" returns the current budget; "update" changes it |
accountId | string | Yes | The Google Ads account ID |
campaignId | string | Yes | The campaign ID to manage |
newDailyBudget | number | No | New daily budget amount — required when action is "update" (minimum $10) |
Example Prompt
"Increase the budget for campaign 12345678 to $75/day"manage_negative_keywordsWriteList or add negative keywords for a Google Ads campaign to prevent ads from showing on irrelevant searches.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
action | "list" | "add" | Yes | "list" shows current negatives; "add" adds new ones |
accountId | string | Yes | The Google Ads account ID |
campaignId | string | Yes | The campaign ID to manage |
keywords | object[] | No | Keywords 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_campaignWritePause or resume a Google Ads campaign. Pausing stops all ad serving immediately; resuming re-enables it.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
action | "pause" | "resume" | Yes | "pause" stops the campaign; "resume" re-enables it |
accountId | string | Yes | The Google Ads account ID |
campaignId | string | Yes | The campaign ID to pause or resume |
Example Prompt
"Pause campaign 12345678"get_meta_performanceReadPull 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
| Name | Type | Required | Description |
|---|---|---|---|
accountId | string | Yes | The Meta Ads account ID |
dateRange | object | No | Date range — preset or { startDate, endDate } in YYYY-MM-DD |
level | "campaign" | "adset" | "ad" | No | Reporting level (default: campaign) |
Example Prompt
"Show my Meta Ads performance for last 30 days"search_meta_targetingReadSearch for Meta Ads targeting interests and behaviors by keyword. Returns matching interests with audience sizes, topics, and category paths.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
accountId | string | Yes | The Meta Ads account ID |
query | string | Yes | Interest or behavior keyword to search for (e.g. "yoga", "real estate") |
Example Prompt
"Search Meta targeting interests for yoga"detect_creative_fatigueReadDetect 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
| Name | Type | Required | Description |
|---|---|---|---|
accountId | string | Yes | The Meta Ads account ID |
campaignId | string | No | Optional campaign ID to scope the analysis (analyzes all campaigns if omitted) |
Example Prompt
"Check for creative fatigue in my Meta campaigns"optimize_meta_budgetReadAnalyze 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
| Name | Type | Required | Description |
|---|---|---|---|
accountId | string | Yes | The Meta Ads account ID |
campaignId | string | Yes | The campaign ID to optimize budget for |
Example Prompt
"Suggest budget reallocation for Meta campaign 23456789"create_meta_campaignWriteCreate a new Meta Ads (Facebook/Instagram) campaign with targeting and creative. Always created in PAUSED state — review in Meta Ads Manager before enabling.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
accountId | string | Yes | The Meta Ads account ID |
name | string | Yes | Campaign name (1–255 characters) |
objective | string | Yes | Campaign objective: TRAFFIC, CONVERSIONS, LEAD_GENERATION, BRAND_AWARENESS, REACH, or ENGAGEMENT |
dailyBudget | number | Yes | Daily budget in account currency (minimum $5) |
imageUrl | string | Yes | URL of the ad creative image |
primaryText | string | Yes | Primary ad text (recommended max 125 characters) |
headline | string | Yes | Ad headline (recommended max 27 characters) |
linkUrl | string | Yes | Destination URL for the ad |
description | string | No | Optional ad description (recommended max 30 characters) |
ctaType | string | No | CTA 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