M Metadata / docs

All MCP Tools

141 tools exposed by the MetadataONE MCP server — every audience, campaign, creative, keyword, and analytics operation an AI agent needs to run B2B paid media end to end. Updated 2026-07-12 from the live server schema.

Connect via the quickstart and call any tool from Claude Code, Claude Desktop, or your own agent.

Audiences & Targeting 31

archive_audience

Archives (deletes) a custom audience from the platform. Identify the audience by its numeric ID or by name; if only a name is given, the tool resolves the ID automatically.

Key parameters: custom_audience_id, audience_name

create_audience_from_segment

Creates a website retargeting audience from a saved insights segment, including accounts that match the segment's criteria within a lookback window of 1 to 365 days. The segment must exist and be in READY status; create one first with create_segment if needed.

Key parameters: segment_id, name, lookback_window

create_bombora_audience

Creates a B2B audience built on Bombora buyer intent topics, combined with company firmographics, contact attributes, and geographic filters. Verify available intent topics first; at least one topic is required.

Key parameters: name, topics, industries, employees, seniority_include_ids, location_country_ids

create_csv_upload_linkedin_native_audience

Creates a LinkedIn-native audience from an uploaded CSV of company accounts, optionally layered with LinkedIn-native criteria such as employee ranges, revenue, job titles, and skills. Supply the account list either inline or as a CSV URL.

Key parameters: audience_name, companies, companies_source_csv_url, employees, job_titles, revenues

create_facebook_native_criteria_audience

Creates a Facebook audience using native Facebook targeting criteria: industry categories, countries, job titles, interests, and age range. Supports an estimate-only mode to preview audience size before creating.

Key parameters: name, min_age, max_age, industries, countries, estimate_only

create_firmographic_audience

Creates a B2B audience based on company attributes (industry, employee count, revenue) plus contact-level criteria like seniority, job function, and location. The default and most commonly used audience type; supports estimate-only size previews.

Key parameters: name, industries, employees, revenue, seniority_include_ids, estimate_only

create_g2_intent_dynamic_audience

Creates a dynamic G2 intent audience that refreshes daily as G2 buying signals update, filtered by buying stage and contact criteria. Requires a connected G2 integration and at least one buying stage.

Key parameters: name, intent_days, buying_stages, job_title_includes, location_country_ids, contacts_per_company_limit

create_g2_intent_linkedin_native_dynamic_audience

Creates a daily-refreshing G2 intent audience with LinkedIn-native targeting (employee ranges, revenue, job titles, skills, companies). Requires both G2 and LinkedIn integrations to be connected.

Key parameters: name, intent_days, buying_stages, employees, job_titles, revenues

create_g2_intent_static_audience

Creates a static G2 intent audience captured as a one-time snapshot at creation, filtered by buying stage and contact criteria. Unlike the dynamic variants, it does not refresh daily.

Key parameters: name, intent_days, buying_stages, job_function_include_ids, seniority_include_ids, location_country_ids

create_linkedin_native_criteria_audience

Builds a LinkedIn audience from native targeting criteria — job titles, skills, company names, employee-count ranges, revenue ranges, and countries. Supports an estimate-only mode that previews expected audience size without creating anything.

Key parameters: name, job_titles, skills, company_names, employees, estimate_only

create_reddit_target_group

Creates a Reddit target group with include/exclude targeting rules built from communities (subreddits), interests, keywords, and location. All criteria references must come from a prior criteria search, and location must be the first include block.

Key parameters: name, targeting.include, targeting.exclude

create_retargeting_audience

Imports an existing retargeting audience from a native ad channel (Google Ads, LinkedIn, or Facebook) into the platform. Use the retargeting-audience listing tool first to fetch the audience object, then pass it here to create the audience.

Key parameters: audience_data (id, name, type, subtype, channel, externalAccountId)

create_segment

Creates a segment from insights criteria, combining field-level match rules with AND/OR logic. Discover valid fields with the insights criteria search first; the segment returns with a READY, PENDING, or FAILED status.

Key parameters: name, criteria.operator, criteria.match (field, operator, type, value)

create_target_group

Creates a LinkedIn target group with include and exclude rules, including the ability to exclude existing audiences. Criteria IDs must come from the target-group criteria search, and location must be the first include criterion.

Key parameters: name, channel, targeting.include, targeting.exclude

create_technographic_audience

Builds a B2B audience of companies and contacts based on the technologies they use (e.g. Salesforce, HubSpot), optionally layered with firmographic filters like industry, company size, revenue, job function, seniority, and location. Supports an estimate-only mode to preview audience size before creating it.

Key parameters: name, technologies, industries, employees, seniority_include_ids, estimate_only

estimate_target_group

Estimate the audience size for a set of targeting criteria before creating a target group, supporting both include and exclude rules for criteria and audiences. Currently LinkedIn only; all criteria IDs must come from the target-group criteria search first, with location as the first include block.

Key parameters: channel, targeting.include, targeting.exclude

get_abm_account_lists

Lists account lists from the ABM library, including uploaded CSV lists and website retargeting lists, with filtering by filename, status, and type plus pagination. Returns account counts, readiness status, and audience associations.

Key parameters: filename, status, type, page, size, sort

get_audience_details

Retrieves custom audience information — configuration, targeting criteria, size metrics, and performance — filtered by audience name with pagination and sorting.

Key parameters: name, page, size, sort

get_custom_audience_contacts_csv_url

Generates a CSV export of a custom audience's contacts or companies and returns a time-limited presigned download URL. Supports custom audiences only (not native audiences) and requires elevated permissions.

Key parameters: audience_name

get_deep_audience_details

Retrieves complete configuration for one or more audiences, including full targeting criteria, segment settings, lookback windows, and composition metadata. Use after listing audiences to inspect or compare detailed setups.

Key parameters: audience_ids

get_intent_topics

Lists the buyer intent topics available for Bombora intent-based audience creation. Call this first: if no topics are returned, Bombora is unavailable for the account and a firmographic audience should be used instead.

Key parameters: (none)

get_matched_audiences

Retrieves custom audiences that match specified targeting types for a given advertising channel, returning the exact id/name/type/matchCount shape needed to attach audiences to campaigns or target groups.

Key parameters: type, channel, page, size, sort

get_retargeting_audiences

Lists all retargeting and native audiences available for a given channel (Google Ads, LinkedIn, or Facebook), including IDs, names, match counts, and subtypes. Useful for discovering existing audiences before building campaigns.

Key parameters: channel

list_target_groups

List and search target groups with case-insensitive partial name matching. Returns a paginated set of group IDs, names, channels, audience sizes, and statuses; use the ID to retrieve full details.

Key parameters: name, sort

retrieve_target_group_by_id

Retrieve full details for a target group by its numeric ID, including audiences, targeting criteria, channel, status, and estimated size. Use list_target_groups first if you only know the name.

Key parameters: target_group_id

search_reddit_criteria

Look up valid Reddit targeting options — communities, interests, contextual keywords, and locations — returning the external IDs and names needed to build a Reddit target group.

Key parameters: criteria_type, search_terms

search_target_group_criteria

Retrieve or search the valid LinkedIn targeting criteria values (locations, industries, seniority, job titles, skills, interests, and more) and their IDs for use when creating or updating a target group.

Key parameters: channel, criteria_type, search_terms, exact_match, reference_type

unarchive_audience

Restore a previously archived custom audience, identified by numeric ID or by name (the name is resolved to an ID automatically). At least one identifier is required.

Key parameters: custom_audience_id, audience_name

update_target_group

Updates a target group's name and/or targeting criteria, including both include and exclude rules. This is a full-replace (PUT) update, so the complete current configuration must be provided along with any changes.

Key parameters: target_group_id, name, targeting

upload_account_list_csv_audience

Uploads a list of company accounts (name + website) as a CSV and creates an account-list audience, with optional contact-level filters such as job title, seniority, and geography layered on top. Accepts either an inline company map or a public CSV URL.

Key parameters: audience_name, companies, companies_source_csv_url, job_title_includes, seniority_include_ids, location_country_ids

upload_contact_list_csv_audience

Uploads a list of individual contacts (email, name, job title, company) as a CSV and creates a contact-list audience. Accepts either an inline array of 300 to 300,000 contacts or a public CSV URL.

Key parameters: audience_name, contacts, contacts_source_csv_url

Campaigns & Budgets 21

add_and_edit_campaign_elements

Adds audiences, ads, offers, target groups, and keywords to an existing Precision (1x1x1) campaign, and edits campaign-level properties such as name, budget group, schedule dates, and per-channel offers. Supports LinkedIn, Facebook, Instagram, Google Ads, and Reddit; note that Lead Gen offers are locked to the channel they were created for.

Key parameters: campaign_data.campaignId, campaign_data.name, campaign_data.budgetGroup, campaign_data.startDate/endDate, per-channel objects (linkedin, facebook, google, instagram, reddit)

add_and_edit_native_campaign_elements

Edits an existing Channel-First (Native, NxNxN) campaign: appends new ad containers (one audience with ad-offer pairs), modifies or deletes existing containers, attaches target groups, and updates campaign-level fields like name, budget group, and dates. Use this for Native campaigns only; Precision campaigns use add_and_edit_campaign_elements.

Key parameters: campaign_data.campaignId, per-channel containers[], modify_containers[], target_groups[], startDate/endDate, budgetGroup

create_budget_group

Creates or updates a budget group that controls how much campaigns can spend. Supports Lead Generation (CPL) and Brand Awareness (CTR/CPC) configurations with monthly caps, benchmarks, and budget redistribution strategies.

Key parameters: data.name, data.goal, data.monthlyCap, data.budgetType, data.benchmark, data.budgetRedistributionStrategy

create_campaign

Creates a multi-channel campaign (LinkedIn, Facebook, Instagram, Google, Microsoft, Reddit) using the Precision Optimization (1x1x1) structure, where every audience x ad x offer combination runs as its own isolated experiment. This is the default campaign structure.

Key parameters: campaign_data.name, campaignType, startDate, endDate, budgetGroup, per-channel audiences/ads/offers

create_native_structure_campaign

Creates a multi-channel campaign using the Channel First (Native Structure, N×N×N) layout, where audiences, ads, and offers are grouped into per-channel containers and optimized together by each ad platform's native algorithm, with unified pacing and reporting. Supports LinkedIn, Facebook, Instagram, Google, Microsoft, and Reddit blocks.

Key parameters: campaign_data (name, campaignType, startDate, endDate, budgetGroup, per-channel containers)

duplicate_campaign

Create a new draft campaign as a deep copy of an existing one, carrying over the goal, budget group, landing pages, and every enabled channel with its audiences, ads, keywords, offers, and bid settings. The copy starts in draft and spends no budget until scheduled and launched.

Key parameters: campaign_id, name

get_budget_group

Returns the configuration and settings of a budget group by name, including its campaigns, budget allocation, and metadata. For spend or performance metrics, use budget_group_performance instead.

Key parameters: name

get_campaign_by_wizard_id

Retrieves full campaign details by campaign ID, including status, dates, budget group, per-channel configuration (budgets, audiences, ad groups, lead-gen forms, bid strategy), and summary statistics.

Key parameters: campaign_id

launch_campaign

Launches a draft campaign as a live campaign that immediately begins spending budget and serving ads across connected channels. Requires explicit user confirmation and at least one connected advertising channel.

Key parameters: campaign_id

list_budget_groups

Browse all budget groups in the account with pagination and flexible sorting by spend, budget, leads, CPL, and more. Use it for an at-a-glance overview of budget allocation; to look up a single group by name, use get_budget_group instead.

Key parameters: page, size, sort_by, sort_order

list_wizard_campaigns

List the account's Metadata-native campaigns with pagination, sorting (spend, leads, CPL, dates, and more), and independent campaign-status and experiment-status filters that mirror the UI tabs. For details on one named campaign, use campaign search instead.

Key parameters: status, experiment_statuses, name, sort_by, sort_order, page

manage_campaign

Pause an active campaign or restart a paused one by campaign ID. Pausing stops ad serving and budget spend; only Active campaigns can be paused and only Paused campaigns can be restarted.

Key parameters: campaign_id, action

remove_ad_from_campaign

Remove specific ads (ad groups) from one or more channels in an existing campaign, referenced by human-readable channel type and ad name. Supports removing multiple ads across multiple channels in a single call.

Key parameters: campaign_id, channel_ads

remove_audiences_from_campaign

Detach named audiences from one or more channels in an existing campaign. Audience and channel IDs are resolved automatically from the names you provide; multiple audiences across channels can be removed in one call.

Key parameters: campaign_id, channel_audiences

remove_channels_from_campaign

Disable one or more entire channels (e.g. Facebook, Google Ads) from an existing campaign. Returns the campaign state before and after the change.

Key parameters: campaign_id, channels

remove_target_groups_from_campaign

Detach named targeting groups from one or more channels in an existing campaign. Targeting groups are distinct from audiences; use the audience-removal tool for standard audiences.

Key parameters: campaign_id, channel_target_groups

search_campaigns_by_names

Find campaigns by full or partial name (case-insensitive) and get their IDs and current status (Active, Paused, Draft, Completed). Use this before launching, updating, or referencing any campaign.

Key parameters: campaign_names

search_experiments

Search experiments with flexible, combinable filters: partial name match on experiment or campaign name, budget group IDs, and launch status. Supports pagination and sorting.

Key parameters: search_name, budget_group_ids, launched_experiment_statuses, page, size

set_search_channel_final_url_suffix

Set or clear the Final URL Suffix (typically UTM tracking parameters) on a campaign's Google Ads or Microsoft Ads channel. The suffix is appended to every final URL served; pass an empty string to clear it.

Key parameters: campaign_id, channel, final_url_suffix

update_experiments_daily_budgets

Updates the daily budget allocation for one or more experiments in a single call. Accepts budget values as numbers or strings with dot or comma decimal separators.

Key parameters: budgets

update_reddit_channel_settings

Updates the Reddit channel settings of a draft campaign: native objective, comment permissions, feed/conversations placements, conversion pixel, and manual bid amount. Edits are only accepted while the campaign is still in draft.

Key parameters: campaign_id, objective, allow_comments, placements, conversion_pixel_id, bid_amount

Ads & Creative 25

archive_ad

Archives (soft-deletes) one or more ads, removing them from the active ad library. Archived ads retain their ID, creative, and history and can be restored later with unarchive_ad.

Key parameters: ids

create_update_convo_ad

Creates or updates a LinkedIn Conversation Ad: a branching in-message chat built as a graph of message steps, each with 1-5 action buttons that jump to another step, open a URL, or trigger the campaign's main call-to-action. Requires a valid LinkedIn sender fetched beforehand.

Key parameters: name, senderId, senderName, headlineText, steps, bannerCreativeLibraryId

create_update_document_ad

Creates or updates a LinkedIn Document Ad that promotes a PDF (whitepaper, ebook, report) natively in the feed, with a preview of the first pages and an unlock gate for the full document. The document must already exist in the creative library as a DOCUMENT asset.

Key parameters: name, libraryId, headline, text, maxPreviewPages, id

create_update_google_ads_ad

Create a new Google Ads responsive text ad or update an existing one by ID. Enforces Google's hard character limits: 3-15 headlines of up to 30 characters each and 1-4 descriptions of up to 90 characters each.

Key parameters: name, headlines, descriptions, id

create_update_image_ad

Create or update image or GIF ads across Facebook, Instagram, LinkedIn, and Reddit in a single batch call, with per-channel copy, landing URLs, and CTA options. Upload the creative first to obtain the image library ID passed as creativeID.

Key parameters: ads_data (adName, channels, creativeID, per-channel display URLs, metaCTA/linkedinCTA/redditCTA, id)

create_update_linkedin_message_ad

Create or update a LinkedIn Sponsored Message ad: a one-shot inbox message with a subject line, body (supports personalization macros), optional banner image, and a single CTA button. The sender must come from the account's approved LinkedIn sender list.

Key parameters: name, senderId, senderName, headlineText, messageText, actionText

create_update_video_ad

Create or update video ads across Facebook, Instagram, LinkedIn, and Reddit in one batch call, with per-channel copy, absolute landing-page URLs, and CTAs. Upload the video first to get a creativeID; Reddit video ads additionally require a separate image thumbnail.

Key parameters: ads_data (adName, channels, creativeID, per-channel display URLs, CTAs, redditThumbnailLibraryId)

edit_brand_creative

Edit an existing creative image with AI while preserving brand consistency — change headlines, CTAs, hero graphics, badges, colors, or multiple elements in one natural-language instruction. Returns a hosted URL for the edited image, which can be chained into further edits.

Key parameters: image_source, edit_instruction, domain

fetch_creative_details

Fetches detailed metadata for a specific creative asset in the library by ID, including name, content type, file properties, timestamps, visibility, and preview URLs. Useful for validating creative IDs before ad creation.

Key parameters: creative_id

fix_flexible_creative

Applies a free-text AI edit to a flexible creative's background image (for example, removing glare or changing scenery) and returns the edited image URL. Text and logo layers are never touched.

Key parameters: image_source, edit_instruction, domain

generate_brand_creative

Generates a finished, flat branded ad image using AI and the company's brand kit, with the headline and CTA baked into the pixels. Best when the image feeds directly into an ad or campaign; use the flexible variant for editable creatives.

Key parameters: domain, headline, instructions, platform, include_logo, logo_url

generate_brand_kit

Analyzes a company's website to extract its brand identity — logo, colors, fonts, and style — and saves it as a brand kit used for consistent ad creative generation.

Key parameters: domain, brand_name, force_regenerate, sample_ad_urls

generate_flexible_brand_creative

Generates an editable, layered brand creative: an AI background scene plus separately positioned text, CTA, and logo layers returned as a structured layout document. The default choice when the user wants to review or tweak a creative before finalizing.

Key parameters: domain, instructions, headline, cta, platform, include_logo

get_ad_details

Fetches complete details and configuration for one or more ads by ID, including ad copy, headline, CTA, links, and associated creative library assets. Useful for inspecting an ad before editing or analyzing its setup.

Key parameters: ids

get_brand_kit

Returns the stored brand kit for a company domain, including logos, colors, fonts, description, and industries. The brand kit must have been previously created via generate_brand_kit.

Key parameters: domain

get_linkedin_senders

Lists the LinkedIn sender identities approved for Sponsored Messaging (Conversation Ads and Message Ads) on the connected ad account. Call before creating a conversation or message ad, since senderId and senderName must come from this list.

Key parameters: (none)

regenerate_flexible_background

Regenerate only the background scene of a flexible creative while keeping text, CTA, and logo layers untouched. Returns a new background image URL; optionally guide the style with the current background image or pin a dominant color.

Key parameters: domain, instructions, platform, image_source, background_hex

render_flexible_creative

Flatten a layered flexible-creative document into a final PNG that is pixel-identical to the editor preview, and optionally upload it to the creatives library. Returns the rendered image URL, library image ID, and pixel dimensions.

Key parameters: design, name, upload_to_library

search_ads_by_names

Search the ad library by name with partial, case-insensitive matching and pagination. Returns ad IDs, channel and ad type, status, and creative image URLs, with a status filter for active, archived, or all ads.

Key parameters: ad_names, status, page, size, sort

search_library_images_by_name

Search or list creative assets in the library across all content types — images, videos, GIFs, and documents — with partial name matching, content-type filtering, and pagination. Omit the name to browse everything.

Key parameters: imageName, contentTypes, page, size

unarchive_ad

Restore one or more archived ads to active status, preserving each ad's ID, creative, and history. Find archived ad IDs first with search_ads_by_names using the archived status filter.

Key parameters: ids

update_brand_kit

Updates an existing brand kit with brand DNA parameters such as description, logos, color palettes, typography, CTA system, tone, and photography style. Only the company URL is required; any other field can be updated selectively.

Key parameters: company_url, logo_urls, primary_colors, primary_font, long_description, website_background

upload_image_creative

Downloads images from public URLs and uploads them to the platform's creative library, returning image library IDs. Required before creating image ads, since every ad references an uploaded creative asset.

Key parameters: images

upload_video_creative

Downloads videos from public URLs and uploads them to the platform's creative library, returning a video library ID for use as the creative in video ads. Video formats only; an optional image library ID can be attached as the thumbnail.

Key parameters: videos, thumbnail_library_id

Offers 5

create_update_offer

Create or update a Lead Gen offer (native forms inside LinkedIn, Facebook, or Instagram) or a Landing Page offer (external page usable on every channel). Note that native Lead Gen offers are permanently locked to the channel they are created for, while Landing Page offers are reusable across channels.

Key parameters: offer_type, data.offerName, data.channel, data.fields, data.landingPageUrl, data.goal

find_offer_url

Locates the best specific landing-page URL for a marketing offer on a given domain by probing common paths, scanning the sitemap, and scraping page links in parallel. Rejects generic hub pages so offers always point at a specific destination.

Key parameters: domain, offer_type, topic

find_privacy_url

Finds a website's privacy-policy URL using a waterfall of robots.txt, sitemap, and page-scrape strategies. Use it to auto-populate the privacy URL when creating lead-gen offers or to verify compliance.

Key parameters: domain

get_offer

Looks up an offer by name and returns its details (description, assets, configuration), or lists all available offers when no name is provided.

Key parameters: name

remove_offers_from_campaign

Remove offers — lead-gen forms or landing pages — from one or more channels in an existing campaign, referenced by channel type and offer name. The offer type and IDs are resolved automatically.

Key parameters: campaign_id, channel_offers

Keywords & Paid Search 14

add_keywords_to_negative_lists

Appends keywords to one or more existing Google Ads negative keyword lists so future ads stop matching those search terms. Supports a single match type for the whole batch or per-keyword match types in one call.

Key parameters: negativeListIds, keywords, match_type, channel

create_keywords

Batch-creates positive keywords in the platform keyword library, from a single term to hundreds at once. Created keywords become available for targeting and optimization in search campaigns.

Key parameters: keywords

create_negative_keywords_list

Creates a negative keywords list for Google Ads campaigns to prevent ads from showing on irrelevant search terms, such as competitor brands or low-intent queries. Accounts are limited to 20 negative keyword lists.

Key parameters: name, keywords, match_type, channel

delete_negative_keyword_lists

Permanently delete one or more Google Ads negative keyword lists, including every keyword they contain; campaigns using a deleted list lose the attachment. Multiple list IDs can be batched into a single call.

Key parameters: listIds, channel

experiments_keywords_stats

Returns keyword performance data across active experiments for a given date range, including Google Ads keyword metrics, trends, ROI, and conversions.

Key parameters: startDate, endDate

get_negative_keywords_list_details

Fetches the individual keywords inside a Google Ads negative keyword list, with text filtering, pagination, and sorting. Use to inspect existing exclusions before adding or removing entries.

Key parameters: listId, text, page, size, sort, channel

list_experiment_keywords

Search keywords currently running in experiments, filtered by keyword or experiment name. Returns the keyword, its external ID, experiment ID and name, and status — the IDs you need before pausing a keyword.

Key parameters: keywordOrExperimentName, page, size

list_keywords

List and search account keywords with pagination, name filtering (single term or multiple), and sorting by search volume, bid range, name, or modified date. Useful for building keyword lists and analyzing search-volume and bid metrics.

Key parameters: name, archived, sort, page, size

list_negative_keywords_list

List negative-keyword lists, optionally filtered by one or more (partial) names. Accounts are limited to 20 negative-keyword lists, so this also serves to check the current count. Currently supports Google Ads only.

Key parameters: name, channel

list_search_terms

Review the Google Ads search terms report — the actual queries that triggered your ads — with filters, sorting, and pagination. Use it to surface wasteful queries and decide which terms to add to a negative-keyword list.

Key parameters: searchTerm, experiment, keyword, matchType, startDate/endDate, sort

pause_experiment_keyword

Pause a specific keyword within an experiment without removing it. Requires the keyword's external ID and the experiment ID (from list_experiment_keywords); the operation is asynchronous, so the status may take time to update.

Key parameters: keywordExternalId, wizExperimentId

remove_keywords_from_campaign

Remove Google Ads keyword groups and/or detach negative keyword lists from a draft campaign's Google Ads channel, typically before replacing them with a new set. Keyword removal is only allowed while the campaign is in draft.

Key parameters: campaign_id, channel_keywords, channel_negative_keyword_lists, channel_id

remove_keywords_from_negative_list

Remove keywords from an existing Google Ads negative keyword list by exact text match. All match types for a given text are removed, and unmatched inputs are reported back without failing the call.

Key parameters: listId, keywords, channel

restart_experiment_keyword

Restart a previously paused keyword in a keyword experiment so it resumes running. Find the keyword's external ID and experiment ID via list_experiment_keywords first; the status change is applied asynchronously.

Key parameters: keywordExternalId, wizExperimentId

Analytics & Insights 21

account_funnel_reports

Retrieves account-level funnel performance across stages, from accounts reached by campaigns through engaged, converted, MQL, opportunity, and closed-won. Use it to analyze how target accounts progress through the marketing funnel over a date range.

Key parameters: startDate, endDate, reportTab, sort, size, page

account_level_stats

Returns account-wide statistics with a per-channel breakdown for a given period, including spend, impressions, clicks, leads, MQLs, pipeline, and ROI metrics. Supports preset timeframes (week, quarter, year) or a custom start/end date range.

Key parameters: timeframe, startDate, endDate

account_list_performance

Reports engagement and performance metrics for ABM account lists, including reached, engaged, converted, and qualified accounts plus pipeline influence. Useful for comparing list effectiveness and analyzing the account journey funnel.

Key parameters: channels, startDate, endDate, sort, size, page

budget_group_performance

Returns detailed performance statistics for a budget group referenced by name, including spend, leads, MQLs, CPL, CTR, conversion rates, and pipeline metrics for the experiments it contains. Accepts an optional date range; omitting dates returns all-time data.

Key parameters: budget_group_name, startDate, endDate, sort, size, excludeExperimentName

deep_funnel_stats

Run a comprehensive funnel conversion analysis for a given funnel and date range, including stage progression, ROI metrics, pipeline attribution, and experiment performance. Supports ALL, TRIGGERED, or INFLUENCED opportunity attribution models.

Key parameters: funnel_id, startDate, endDate, opportunityModel

demographic_country_stats

Return advertising performance metrics grouped by country, covering spend, impressions, clicks, leads, MQLs, pipeline, and cost efficiency across Facebook, Instagram, LinkedIn, and Google Ads. Supports custom date ranges, sorting, and pagination.

Key parameters: channels, fromMonth, toMonth, sort, size, page

experiment_performance_stats

Retrieves experiment-level performance statistics: spend, leads, impressions, clicks, CPL, CTR, MQLs, and pipeline metrics. Supports filtering by campaign, ad, audience, offer, channel, and date range for comparisons, ROI analysis, and top-performer ranking.

Key parameters: name, campaignName, startDate, endDate, sort, size

get_account_conversions_insights

Returns converted people (conversions) for one or more account domains, with sorting by created date, recent activity, or email, plus date-range filtering and pagination.

Key parameters: domains, startDate, endDate, sort, page, size

get_account_opportunities_insights

Retrieves CRM opportunities associated with one or more account domains, with filtering by opportunity status (open, closed won, closed lost, or no opportunities), date range, sorting, and pagination.

Key parameters: domains, status, startDate, endDate, sort, page/size

get_account_summary_insights

Returns a comprehensive account summary for specific domains, including engagement metrics (total touches, channels, website visits), revenue data (open and closed-won opportunity amounts), and company details such as industry, employee count, and engagement score.

Key parameters: domains

get_account_timeline_insights

Returns a chronological timeline of marketing, sales, and opportunity touchpoints for one or more account domains — ad impressions, website visits, lead conversions, sales tasks, and opportunity events — with filtering by touchpoint type, contact email, and date range.

Key parameters: domains, touchPoints, startDate, endDate, email, page/size

get_converted_leads

Returns lead-level converted lead records captured by campaigns, with rich filtering by campaign, channel, audience, job title, company, country, quality signals, and dates. Ideal for lead audits, ICP-fit analysis, and looking up individual leads.

Key parameters: campaignName, channels, jobTitle, startDate/endDate, qualityTypes, page/size

get_converted_leads_summary

Returns fast aggregate statistics on converted leads — totals by channel, MQL counts and rates, enrichment coverage, marketing-automation sync counts, and pipeline tie-back — without individual lead rows. Accepts the same filters as the lead-level endpoint. Call this first to establish a baseline before pulling lead rows.

Key parameters: campaignName, channels, startDate/endDate, qualityTypes, audienceTypes

get_insights_report

Queries account journey insights across many accounts with filtering, sorting, and pagination. Use for bulk analysis, trend exploration, or building segments from criteria; not for single-account lookups.

Key parameters: criteria, accountName, startDate, endDate, sort, page

get_segment_criteria

Returns the full criteria object for a saved segment, looked up by ID or name, along with its processing status. Pass the returned criteria object (not the segment ID) to get_insights_report.

Key parameters: segment_id, segment_name

list_segments

List saved segments (reusable filter configurations), optionally fuzzy-searched by name. Returns segment IDs and names; fetch a segment's criteria to use it in an insights report.

Key parameters: name, sort

performance_metrics

Pull granular performance metrics for ads, audiences, creatives, offers, target groups, or keywords, with extensive filters (channel, ad format, date range, spend/CPL thresholds) and sorting. Note that conversation and message ads are measured by opens, sends, and action clicks rather than clicks or CTR.

Key parameters: endpoint, startDate, endDate, channels, adFormats, sort

query_metadata_analytics_account

Query a rolled-up summary of your own account's context — firmographics, recent 90-day campaign history, drafts, and per-experiment performance — using natural language. Use it to ground recommendations in account history; for live campaign state or real-time spend, use the live analytics tools instead.

Key parameters: question

query_metadata_analytics_benchmarks

Query cross-account industry benchmarks and priors from the Metadata marketing knowledge base. Ask about a cohort (industry, company size, channel, ad format) rather than a specific company.

Key parameters: question, conversation_id

search_insights_criteria_fields

Discover the filter fields available for building insights criteria, returning each field's name, label, type, operators, and options. Call before get_insights_report or create_segment when filtering is needed.

Key parameters: search_keywords

website_engagement_stats

Retrieves website visitor engagement metrics such as sessions, page views, visitor counts, bounce rate, session duration, and conversions for a chosen timeframe. Supports pagination and sorting by any metric.

Key parameters: dateRange, page, size, sort

Ad Extensions 15

create_google_business_logo_extension

Attaches a business logo from the image library to Google Ads text ads for brand recognition (beta). Optionally pairs the logo with a business name and domain for reuse in Microsoft Ads.

Key parameters: image_library_id, business_name, domain_name

create_google_callout_extension

Adds a short, non-clickable selling-point snippet (for example "Free Shipping" or "24/7 Support") that appears beneath a Google Ads ad to reinforce value propositions.

Key parameters: callout_text

create_google_image_extension

Attaches 1-20 product or lifestyle images from the image library to a Google Ads text ad to improve click-through (beta). Supports alt text, an overlaid caption, and a destination URL.

Key parameters: image_library_ids, alternative_text, display_text, destination_url

create_google_lead_form_extension

Attaches an inline lead-capture form to a Google Ads ad so prospects can submit their email plus optional contact and work details without leaving the search results page. Captured leads flow directly into Metadata.

Key parameters: headline, business_name, email_lead_form_user_input_types, privacy_policy_url, call_to_action_type, post_submit_headline

create_google_price_extension

Adds a price list of 3-8 tiles beneath a Google Ads ad, each with a plan name, short description, USD amount, and billing unit. Ideal for SaaS pricing tiers, subscription plans, service menus, or rate cards.

Key parameters: price_qualifier, price_offerings (url, header, description, amount, unit)

create_google_promotion_extension

Creates a time-bound promotional offer shown under a Google Ads ad — choose a percent or dollar discount, optionally attach a promo code or minimum-order qualifier, tag a holiday occasion, and set the start/end window.

Key parameters: occasion, url, item, category_type, details_type, start_date/end_date

create_google_structured_snippet_extension

Adds a labeled list of offerings (structured snippet) beneath a Google Ads ad — a category header such as "Brands" or "Services" plus 3-10 short items, helping searchers self-qualify before clicking.

Key parameters: header, values

create_microsoft_business_logo_extension

Attaches your business logo to a Microsoft Ads (Bing) text ad for brand recognition, referencing a logo already uploaded to the image library and optionally pairing it with the business name and domain shown on the results page. Currently in beta.

Key parameters: image_library_id, business_name, domain_name

create_microsoft_callout_extension

Adds a short non-clickable selling-point snippet beneath a Microsoft Ads (Bing) ad — trust-building phrases like "Free Shipping" or "24/7 Support" that reinforce value props without using headline space.

Key parameters: callout_text

create_microsoft_image_extension

Attaches 1-20 product or lifestyle images to a Microsoft Ads (Bing) text ad to lift click-through, referencing assets already uploaded to the image library by ID. Currently in beta.

Key parameters: image_library_ids, alternative_text, display_text, destination_url

create_microsoft_price_extension

Adds a price list of 3-8 tiles beneath a Microsoft Ads (Bing) ad, each with a plan name, short description, USD amount, and billing unit. Ideal for SaaS pricing tiers, subscription plans, service menus, or rate cards.

Key parameters: price_qualifier, price_offerings (url, header, description, amount, unit)

create_microsoft_promotion_extension

Creates a time-bound promotional offer shown under a Microsoft Ads (Bing) ad — choose a percent or dollar discount, optionally attach a promo code or minimum-order qualifier, tag a holiday occasion, and set the start/end window.

Key parameters: occasion, url, item, category_type, details_type, start_date/end_date

create_microsoft_structured_snippet_extension

Adds a structured snippet extension to Microsoft Ads (Bing): a category header (e.g. "Brands", "Services") plus 3-10 short items shown beneath the ad, helping searchers self-qualify before clicking.

Key parameters: header, values

Accounts & Integrations 8

connect_channel

Generates the OAuth authorization URL used to connect an advertising channel account (LinkedIn, Meta/Facebook/Instagram, Google Ads, Reddit, or X) to the platform. Present the URL to the user, who completes authorization in their browser and confirms when done.

Key parameters: channel, is_mcp_client

connect_crm

Generates the OAuth authorization URL used to connect a CRM system (Salesforce or HubSpot) to the platform. Present the URL to the user, who completes authorization on the CRM's site and confirms when done.

Key parameters: crm

disconnect_channel

Disconnect an advertising channel integration (Facebook, Instagram, LinkedIn, Twitter/X, Reddit, or Google Ads) from the account. Disconnection is immediate and may affect active campaigns on that channel; the channel must be reconnected to resume advertising.

Key parameters: channel

get_account_details

Returns details about the authenticated user and current account, including account name, status, enabled channels, and subscription plan.

Key parameters: (none)

get_integrations_status

Returns connection status for all advertising channels, martech platforms, and CRM systems, including connection health, linked business accounts, and any errors. Useful for verifying setup or troubleshooting why campaigns are not running.

Key parameters: platformName

impersonate_account

Switches the active account context so all subsequent tool calls read from and write to the specified account. This is the standard account switcher for agency operators and multi-account users; authorization is enforced by the platform.

Key parameters: account_id

list_user_accounts

List the accounts the current user can access, with optional partial-name filtering. Returns user ID, email, default account, and each account's ID, name, and role; super users must supply a name filter to search platform-wide.

Key parameters: name

stop_impersonation

Switch back from a client account to your own default account, reversing impersonate_account. Safe to call even when not currently impersonating.

Key parameters: (none)

Utilities 1

get_current_date

Returns the real current date and time in UTC, plus year and quarter. Call this before any date-dependent operation (campaign dates, relative ranges like 'last 30 days') instead of guessing today's date. Takes no parameters.

Key parameters: none