MCP Reference: Endpoint, Sign-In and Tool Catalog
Reference for people who build or review MCP clients. For setup steps, use the guide for your AI app.
Endpoint
| URL | https://mcp.openadmanager.com/mcp |
|---|---|
| Transport | Streamable HTTP |
| Sign-in | OAuth 2.1 with PKCE (S256). Client ID metadata documents (CIMD) and dynamic registration. Tokens are bound to the MCP URL. |
| Discovery | /.well-known/oauth-protected-resource on the MCP host and /.well-known/oauth-authorization-server on the sign-in host. |
| Google Ads | If you use OpenAdManager's programmatic access (MCP or API) to Google Ads, you should obtain your own Google Cloud Platform account and Google Ads API access. How to set it up. |
| Without a token | 401 with a WWW-Authenticate challenge that points to the protected-resource metadata. |
Tool catalog
280 tools in 6 families. Catalog fingerprint (sha256): af3d86bbd8d9b395. What a tool does for you depends on your plan and on your AI permissions: a tool listed here as a change works only when its switch is on.
Every tool carries title, readOnlyHint and destructiveHint. Risk classes: Read never changes anything. Change edits an account. High risk and Asks when risky tools are the ones that can spend more or remove things; each is covered by its own switch, which you can turn off.
Google Ads42 tools
google_ads_act_on_recommendations
Apply or dismiss Google's optimization recommendations. List them first with google_ads_search (SELECT recommendation.resource_name, recommendation.type, recommendation.impact FROM recommendation). Applying can raise budgets or change bids: only when the user explicitly asks.
google_ads_add_ad_group_targeting
Add ad group audience and demographic targeting: user lists, interest and custom audiences, age ranges, genders, placements and topics. negative excludes them.
google_ads_add_campaign_targeting
Add campaign targeting: locations and excluded locations (geo target ids from google_ads_search_geo_targets), languages, negative keywords, devices bid adjustments, ad schedule and audiences.
google_ads_add_keywords
Add keywords (or negative keywords) to an ad group. Bids are max CPC in account currency micros. Valid keywords are added even if some fail.
google_ads_apply_label
Apply a label to campaigns, ad groups, ads (adGroupAds) or keywords (adGroupCriteria).
google_ads_create_ad
Create any other ad type (video responsive, Demand Gen, app, call...) from Ad REST JSON. Use google_ads_set_status to turn it on.
google_ads_create_ad_group
Create an ad group in a campaign. Use google_ads_set_status to turn it on.
google_ads_create_asset
Create other assets from Asset REST JSON: text, sitelink, callout, structured snippet, call, lead form, or a YouTube video ({youtubeVideoAsset: {youtubeVideoId}}; Google Ads plays video from YouTube).
google_ads_create_audience
Create an audience segment from REST JSON: a user list (rule-based website/app visitors, logical combinations), a custom audience (keywords, URLs, apps), or an audience. Customer Match uploads go through Google's Data Manager API, not this tool.
google_ads_create_bidding_strategy
Create a portfolio bidding strategy shared by campaigns. Targets in account currency micros.
google_ads_create_budget
Create a campaign budget. amount_micros is the daily amount in account currency micros (1000000 = 1.00).
google_ads_create_campaign
Create a campaign (Search, Display, Performance Max, Demand Gen, Shopping...). Use google_ads_set_status to turn it on. Create the budget first.
google_ads_create_client_account
Create a new client account under the connected user's own manager (MCC) account: customer_id is the manager. Currency and time zone cannot be changed later. email_address invites that person as an admin of the new account.
google_ads_create_conversion_action
Create a conversion action (website tag, offline click import, phone calls...). Values in account currency units.
google_ads_create_label
Create a label to organise campaigns, ad groups, ads and keywords.
google_ads_create_responsive_display_ad
Create a responsive display ad from image assets (upload them with google_ads_upload_image_asset). Use google_ads_set_status to turn it on.
google_ads_create_responsive_search_ad
Create a responsive search ad: 3-15 headlines (30 chars), 2-4 descriptions (90 chars), final URLs. Use google_ads_set_status to turn it on.
google_ads_customer_match_upload
Add or remove people on a Customer Match list (a CRM user list made with google_ads_create_audience) through Google's Data Manager API. Give plain email, phone (+ and country code), names and address; they are normalised and SHA-256 hashed here before they leave OpenAdManager. consent must say whether the people agreed to ad use of their data, as the user states it; adding also needs accept_terms: true from the user. Needs the Data Manager scope on the Google sign-in.
google_ads_experiment
Run a campaign experiment made with google_ads_mutate (experimentOperation, then experimentArmOperation for the control and treatment arms): schedule starts it (the treatment arm spends), promote applies the treatment to the base campaign, end stops it, async_errors lists why scheduling or promoting failed. Schedule and promote change spend: only when the user explicitly asks.
google_ads_field_metadata
Look up which GAQL fields a resource has (selectable, filterable, segments, metrics) before writing a query. Field reference: https://developers.google.com/google-ads/api/fields/latest/overview
google_ads_generate_keyword_ideas
Keyword ideas with search volume and competition, from seed keywords and/or a URL. Paginated.
google_ads_get_audience_insights
Audience Insights: action attributes (find audience attributes by text), composition (what an audience is made of), suggested_targeting (audiences to target), insights_finder (report link). request is the method's body in REST JSON (customerInsightsGroup is filled in).
google_ads_get_keyword_forecast
Forecast clicks, impressions, cost and conversions for a planned Search campaign (Keyword Planner forecast): campaign is a CampaignToForecast in REST JSON (keywordPlanNetwork, biddingStrategy, geoModifiers, languageConstants, adGroups with biddableKeywords).
google_ads_get_keyword_historical_metrics
Past search volume (monthly, last 12 months), competition and top-of-page bid range for known keywords (Keyword Planner historical metrics).
google_ads_get_reach_plan
Reach Planner for video and awareness: action locations (plannable locations), products (ad products for a location), forecast (reach, impressions and frequency for a budget; request is a GenerateReachForecastRequest in REST JSON with campaignDuration, plannedProducts, targeting). Google gives Reach Planner only to some accounts.
google_ads_link_assets
Attach assets to a campaign, ad group, asset group (Performance Max) or the whole account with a field type such as SITELINK, CALLOUT, HEADLINE, MARKETING_IMAGE, LOGO, YOUTUBE_VIDEO.
google_ads_link_client
Manager and client account links. On the manager (customer_id = manager): invite sends a link request to client_customer_id; cancel withdraws a pending one; terminate unlinks a client. On the client (customer_id = client): accept or decline a manager's request. link is the link's resource name from google_ads_search (FROM customer_client_link or customer_manager_link).
google_ads_list_accounts
List the Google Ads accounts the connected user can reach, with name, currency, time zone and whether each is a manager. Accounts the user reaches through their own manager account are in managed_accounts with the manager_id to pass as login_customer_id.
google_ads_list_invoices
Monthly invoices of an account on invoiced (monthly) billing: amounts, adjustments and PDF links. billing_setup from google_ads_search (SELECT billing_setup.resource_name FROM billing_setup).
google_ads_list_leads
Download lead form submissions (lead form assets): each lead's answers (name, email, phone...), campaign, ad group, asset and gclid, by submission date. format csv returns one CSV text with a column per answer. Google keeps only recent submissions, so download regularly. The data is personal: show or save it only as the user asks; OpenAdManager never logs or keeps it.
google_ads_mutate
Advanced: several create/update/remove operations in one request (googleAds:mutate), e.g. a whole campaign with budget, ad groups, ads and Performance Max asset groups using temporary ids (customers/<id>/campaignBudgets/-1). Atomic unless partial_failure. Use google_ads_set_status to turn them on. API reference: https://developers.google.com/google-ads/api/reference/rpc/latest/GoogleAdsService.Mutate
google_ads_remove
Remove resources by resource name (campaigns, ad groups, ads, keywords, labels, asset links...). This cannot be undone.
google_ads_report
Performance report without writing GAQL: pick a level, metrics, segments and a date range. cost_micros is in account currency micros (1000000 = 1.00).
google_ads_search
Run a Google Ads Query Language (GAQL) query, e.g. SELECT campaign.id, campaign.name, metrics.clicks FROM campaign WHERE segments.date DURING LAST_7_DAYS. Paginated: pass next_page_token back as page_token. GAQL reference: https://developers.google.com/google-ads/api/docs/query/overview
google_ads_search_geo_targets
Find geo target ids for cities, regions and countries by name, for location targeting.
google_ads_set_status
Pause or enable campaigns, ad groups, ads (adGroupAds), keywords (adGroupCriteria) or asset groups. ENABLED makes them eligible to spend: use it only when the user explicitly asks to launch.
google_ads_update
Update fields on any resource (campaign, ad group, ad, keyword bid, asset, conversion action, audience...) by resource name. fields are REST JSON (camelCase); only the given fields change.
google_ads_update_budget
Change a campaign budget's amount (account currency micros, 1000000 = 1.00) or name.
google_ads_upload_call_conversions
Import conversions from phone calls (call tracking): caller id in E.164 (+819012345678), call start time and conversion time. Valid rows are kept even if others fail.
google_ads_upload_click_conversions
Import offline conversions by click id (gclid, gbraid or wbraid). conversion_date_time like 2026-10-27 13:45:00+09:00. Valid rows are kept even if others fail.
google_ads_upload_conversion_adjustments
Adjust conversions already counted: RETRACTION (refunded, remove it), RESTATEMENT (new value) or ENHANCEMENT (add hashed email / phone for enhanced conversions for leads or web). Identify each by order_id or gclid + conversion_date_time. Email and phone are normalised and SHA-256 hashed here before they leave OpenAdManager.
google_ads_upload_image_asset
Upload an image (at most 5 MB) as an image asset, from base64 or a public https URL. Returns the asset resource name for ads, asset groups and links.
Meta ads63 tools
meta_ads_apply_labels
Apply ad labels to campaigns, ad sets or ads. Each id is reported separately.
meta_ads_archive_lead_form
Archive a lead form so no new ads can use it (Meta has no delete for forms that collected leads). Its leads stay readable.
meta_ads_copy
Duplicate a campaign, ad set or ad (deep_copy includes children).
meta_ads_create_ad
Create an ad in an ad set from a creative. Use meta_ads_set_status to turn it on.
meta_ads_create_ad_set
Create an ad set: budget (minor units, unless the campaign has its own), schedule, optimization goal, billing event and targeting (geo_locations, age_min/max, genders, interests, custom_audiences, publisher_platforms...). Use meta_ads_set_status to turn it on.
meta_ads_create_audience
Create a custom audience: a customer list (subtype CUSTOM, then add people with meta_ads_update_audience_users), website visitors or engagement (subtype WEBSITE/ENGAGEMENT with a rule).
meta_ads_create_budget_schedule
Raise a campaign's or ad set's daily budget for a high-demand period (a sale, a holiday): ABSOLUTE adds budget_value in minor units (cents), MULTIPLIER adds a percentage. At least 3 hours long. This raises spend: only when the user explicitly asks. Needs an ad account with Meta's budget scheduling capability. Remove one with meta_ads_delete.
meta_ads_create_campaign
Create a campaign. Use meta_ads_set_status to turn it on. Budgets in minor units (cents). special_ad_categories is required ([] when none apply).
meta_ads_create_catalog
Create a product catalog on a business.
meta_ads_create_creative
Create an ad creative. Link or video ad: page_id, link, message and image_hash or video_id. Carousel: page_id, link, message and cards (2-10). Boost an existing post: post_id (from meta_ads_list_page_posts) or instagram_media_id with instagram_user_id. Instant Experience: page_id, message, instant_experience_id. Catalog (dynamic) ad: page_id, product_set_id and template. Anything else (Advantage+ asset feeds, collection): object_story_spec / asset_feed_spec in fields.
meta_ads_create_custom_conversion
Create a custom conversion from pixel events matching a URL or event rule.
meta_ads_create_label
Create an ad label on an ad account to organise campaigns, ad sets and ads.
meta_ads_create_lead_form
Create a lead (Instant) form on a Page for lead ads: questions (prefilled types such as FULL_NAME, EMAIL, PHONE, or CUSTOM with a label and options), the privacy policy link (required by Meta) and the thank-you screen. Use the form id in an ad set with optimization_goal LEAD_GENERATION and a creative's call_to_action value lead_gen_form_id.
meta_ads_create_lookalike_audience
Create a lookalike audience from a source custom audience, for one or more countries and a size ratio (0.01 = top 1%).
meta_ads_create_pixel
Create a Meta Pixel (dataset) on an ad account for conversion tracking.
meta_ads_create_product_feed
Add a product feed to a catalog that Meta fetches from your https URL on a schedule (CSV, TSV, XML or Google Sheets). update_schedule refreshes prices and stock in between.
meta_ads_create_product_set
Create a product set in a catalog from a filter rule, e.g. {availability: {eq: 'in stock'}, price: {lt: 5000}}; catalog ad sets and creatives show a product set.
meta_ads_create_report
Start an asynchronous insights report for large date ranges or many rows. Poll it with meta_ads_get_report.
meta_ads_create_rule
Create an automated rule on an ad account (adrules_library): e.g. pause ads whose cost per result passes a limit, or notify. evaluation_spec, execution_spec and schedule_spec follow the Marketing API. Created DISABLED unless status ENABLED is set. An ENABLED rule that raises budgets or bids, rebalances budget or turns ads on (execution_type INCREASE_BUDGET, CHANGE_BUDGET, CHANGE_BID, REBALANCE_BUDGET, UNPAUSE) spends money: enable it only when the user explicitly asks. List rules with meta_ads_list edge adrules_library.
meta_ads_create_split_test
Create an A/B test (split test) on a business: 2-5 cells, each with the ad sets or campaigns it tests and a share of the audience (treatment_percentage, together exactly 100). The test runs between start_time and end_time once its ad sets are ACTIVE, so it can spend: only when the user explicitly asks.
meta_ads_delete
Delete an object that has no status, such as a creative, custom audience, label or custom conversion. Cannot be undone.
meta_ads_delete_rule
Delete an automated rule. Cannot be undone; its history goes with it.
meta_ads_estimate_audience
Estimate audience size and daily results for a targeting spec before creating an ad set.
meta_ads_execute_rule
Run an automated rule now, once, instead of waiting for its schedule. Its actions (pausing, budget or bid changes) apply immediately: only when the user explicitly asks.
meta_ads_get
Read one object (campaign, ad set, ad, creative, video upload status, audience, pixel...) with the fields asked for.
meta_ads_get_account_overview
An ad account's money and health: spend cap, amount spent, balance, minimum daily budget, payment type (never card numbers), status and why it is disabled, capabilities, and who has access (when it belongs to a business). Amounts are in minor units (cents).
meta_ads_get_lead_form
Read one lead (Instant) form: questions, privacy policy, thank-you screen, context card, status and lead counts.
meta_ads_get_leads
Download the leads a lead form (form_id) or one ad (ad_id) collected: name, email, phone and other answers, by date range. format csv returns one CSV text with a column per question. The data is personal: show or save it only as the user asks; OpenAdManager never logs or keeps it.
meta_ads_get_report
Status of an asynchronous report, and its rows once it is complete. Paginated with after.
meta_ads_get_rule_history
What automated rules did: one rule's history (rule_id), or every rule's on an ad account (ad_account_id): when it ran, the objects it changed and the result.
meta_ads_get_study
Read an A/B test or lift study with its cells and objectives, including the results Meta has so far (winner and confidence once it ends). Lift studies are read only.
meta_ads_get_targeting
Targeting helpers on an ad account: browse (the interest, behavior and demographic tree), suggestions (related interests for targeting_list), sentence (a targeting spec in plain words), reach (audience size for a spec), validate (whether interest names or ids still exist).
meta_ads_graph_get
Advanced read of any Marketing API edge no other tool covers: path {id}, {id}/{edge} or act_{id}/{edge} (or search). The id must be an ad object, catalog, lead form, Page or business this connection can see; logins, roles, people, apps, payment details and leads are never reachable. fields are plain names only (no edge{...} expansion). as_page_id reads as that Page (lead forms, posts, canvases). Marketing API reference: https://developers.facebook.com/docs/marketing-api
meta_ads_graph_post
Advanced change through any allowed Marketing API edge no other tool covers, e.g. {page_id}/canvases (create an Instant Experience), {catalog_id}/product_feeds rules, {audience_id}/usersreplace, or DELETE of an ad object. Needs Advanced changes on. It can only turn an existing object off (use meta_ads_set_status to turn on). Logins, roles, people, apps, ad account creation, payment details and spend caps are never reachable. Marketing API reference: https://developers.facebook.com/docs/marketing-api
meta_ads_insights
Performance insights for an ad account, campaign, ad set or ad: spend, impressions, clicks, ctr, cpc, actions, purchase_roas... by level, date range and breakdowns. Paginated with after. For big reports use meta_ads_create_report.
meta_ads_link_catalog_pixel
Connect pixels (or app event sources) to a catalog, so catalog ads can match site events to products.
meta_ads_list
List objects under an ad account or another object: campaigns, adsets, ads, adcreatives, adimages, advideos, customaudiences, saved_audiences, adspixels, customconversions, adlabels, activities... Paginated with after.
meta_ads_list_ad_accounts
List the ad accounts this connection can manage, with currency, status, time zone and amount spent.
meta_ads_list_budget_schedules
List a campaign's or ad set's budget schedules (high-demand periods).
meta_ads_list_businesses
List the Business Managers this connection belongs to; their ids open catalogs, A/B tests and business Pages.
meta_ads_list_catalog_objects
List what is in a catalog (catalog_id: products, product_sets, product_feeds, product_groups, external_event_sources, diagnostics), a feed (feed_id: uploads, products, rules) or a product set (product_set_id: products). Paginated with after.
meta_ads_list_catalogs
List the product catalogs a business owns (owned) or manages for clients (client), for catalog (dynamic) ads.
meta_ads_list_instagram
Instagram for ads: action accounts lists the Instagram accounts an ad account (ad_account_id) or Page (page_id) can advertise with; action media lists one account's posts (instagram_user_id) to use as instagram_media_id in a creative.
meta_ads_list_instant_experiences
List a Page's Instant Experiences (full-screen canvases) for creatives' instant_experience_id. Create new ones with meta_ads_graph_post on {page_id}/canvases.
meta_ads_list_lead_forms
List the lead (Instant) forms of a Facebook Page the connected person manages, with status, lead counts, questions and privacy policy.
meta_ads_list_page_posts
List a Page's published posts (newest first) with whether each can be boosted; pass a post's id to meta_ads_create_creative post_id to advertise it.
meta_ads_list_pages
List the Facebook Pages (and linked Instagram accounts) this connection can advertise for; ads need a page_id. With business_id: the Pages that Business Manager owns (owned_pages) or manages for clients (client_pages), for Pages the person has no personal role on.
meta_ads_list_studies
List a business's A/B tests and lift studies with their dates and type.
meta_ads_preview
Render a preview of an ad or creative in a placement; returns an iframe snippet.
meta_ads_search_ad_library
Search Meta's public Ad Library: competitors' ads by keyword or Page, for the countries they reached. Meta returns every ad type only for ads delivered in the EU (and political or issue ads everywhere). The connected person must have confirmed their identity at facebook.com/ID.
meta_ads_search_targeting
Find targeting ids: interests (adinterest), interest suggestions, locations (adgeolocation), locales, employers, job titles, schools, and behaviors/demographics (adTargetingCategory with class).
meta_ads_send_conversion_events
Send server-side conversion events (Conversions API) to a pixel. user_data values are hashed here before sending. Use test_event_code to see them in Events Manager without counting them.
meta_ads_set_account_spend_cap
Set, reset or remove an ad account's spend cap (the most it may spend in total, after which every ad stops). spend_cap is in the currency's main unit (dollars, not cents). Removing or raising the cap allows more spend: only when the user explicitly asks.
meta_ads_set_status
Pause, activate, archive or delete campaigns, ad sets and ads. ACTIVE makes them eligible to spend: use it only when the user explicitly asks to launch. Each id is reported separately.
meta_ads_update
Update fields on a campaign, ad set, ad, creative name, audience or other object, e.g. {name}, {targeting}, {end_time}, {bid_strategy}. Status ACTIVE makes it eligible to spend: only when the user explicitly asks.
meta_ads_update_audience_users
Add or remove people on a customer list audience. Give plain values; they are normalised and SHA-256 hashed here before they leave OpenAdManager (already-hashed values pass through).
meta_ads_update_budget
Change a campaign or ad set budget. Amounts in the account currency's minor units (cents: 2500 = 25.00).
meta_ads_update_catalog_items
Create, update or delete catalog items in one batch (items_batch, at most 1000). DELETE removes products from every ad that shows them. Check the result with meta_ads_list_catalog_objects edge diagnostics.
meta_ads_update_rule
Change an automated rule: name, evaluation_spec, execution_spec, schedule_spec or status. Turning ON a rule whose execution_type is INCREASE_BUDGET, CHANGE_BUDGET, CHANGE_BID, REBALANCE_BUDGET, UNPAUSE lets it raise spend: only when the user explicitly asks.
meta_ads_update_study
Change an A/B test: name, description, a later end_time, or the cells (send every cell's percentage). Meta cannot delete a test; end it early by setting end_time.
meta_ads_upload_image
Upload an ad image (at most 30 MB) from base64 or a public https URL. Returns its image_hash for creatives.
meta_ads_upload_product_feed
Fetch a feed file once now from a public https URL (a one-off upload). update_only changes only the listed items.
meta_ads_upload_video
Upload an ad video from a public https URL (Meta downloads it) or inline as base64 (at most 30 MB, e.g. a file made on your computer). Returns the video id; check processing with meta_ads_get fields ['status'] before using it in a creative.
Cross-platform (oam)21 tools
oam_get_playbook
Without a name: the playbook index for this plan. With a name: that playbook.
oam_leads_status
Says which connected ad accounts can download leads and, for each one that cannot, why and what to do. Google works once connected. Meta needs the leads permission on the connection. TikTok Ads, Reddit Ads and X Ads leads are not available here. Downloads no leads and makes no ad-platform call.
oam_list_accounts
Lists every ad account this token may use across platforms: platform, id, name, currency, time zone, manager flag and connection status. Served from the OpenAdManager database, so it costs no ad-platform calls.
oam_list_changes
Lists recent changes (and, on Managed accounts, what waits for the customer) for the organisation, or one change by change_id: status, summary, result ids and whether it can be undone.
oam_performance_report
Returns performance for chosen Google Ads, Meta Ads, TikTok Ads and Reddit Ads accounts side by side: spend, impressions, clicks, conversions. Pick a ready range or your own start_date and end_date, and break results down by campaign and by day. Results are grouped by platform; each platform keeps its own currency and Google rows are never blended into totals. For X Ads use x_get_account_stats.
oam_set_status
Pauses or enables up to 50 campaigns, ad groups or ads across Google Ads, Meta Ads, TikTok Ads and Reddit Ads. For X Ads use x_update_campaign. Reddit can only be paused here. Pausing needs Pause ads, enabling needs Turn ads on in the user's AI permissions.
oam_status
Shows the plan, usage this month (MCP requests and changes used, limit, reset date), this token's scopes, the allowed accounts per platform with connection health, Google access mode with its disclosure, what the AI may change (AI permissions), what waits for the customer on Managed accounts, and dashboard links. Makes no ad-platform call.
oam_tracking_add_site
Creates a draft site and starts the scan. Returns the install line, the DNS record to add and a dashboard link to finish; keys are pasted in the dashboard, never here. Refused at the plan site limit.
oam_tracking_apply_fix
Fixes one problem that OpenAdManager can fix for you, then measures again. The result says what changed.
oam_tracking_get_site
Shows one site: events with honest status, destinations (status only, never keys), address and TLS state, install state and health.
oam_tracking_list_problems
Lists tracking problems with effect, cause, evidence and whether OpenAdManager can fix it for you.
oam_tracking_list_sites
Lists tracked websites with status, platforms, a one-line verdict and the number of open problems. Served from the OpenAdManager database.
oam_tracking_remove_site
Removes a tracked website and its servers. Needs Delete and archive in the user's AI permissions. An undo window applies.
oam_tracking_report
Sales and leads per platform for a period: accepted, rejected, missing click ID and rescued, each with a source label and timestamp. No personal data. Google rows stay separate and are never blended into totals.
oam_tracking_send_test
Sends a test event through the whole path and returns per-platform proof. Free: test events are not metered.
oam_tracking_set_paused
Pauses or resumes sending to the ad platforms. Needs Website tracking in the user's AI permissions. Pausing can hurt ad optimisation.
oam_tracking_status
Live status of tracked websites and apps: whether the script was seen on the site, what each platform (Google, Meta, TikTok) received in the last 24 hours, whether each connection was set up automatically and when it was last proven with a test event, and what still needs the customer. Counts come from the OpenAdManager sent-events log, not from the platforms. No keys, tokens or personal data.
oam_tracking_update_events
Turns events on or off per platform, confirms or rejects suggested events, and sets the platform event mapping. Takes effect without a publish. The change can be undone with oam_undo_change.
oam_tracking_usage
Shows sites used of the plan limit, events used this month of the plan limit, the reset date and what happens over the limit.
oam_undo_change
Builds the inverse of an applied change from its stored before snapshot and runs it through the normal checks. The reverse needs its own permission (undoing a pause needs Turn ads on).
oam_update_budget
Sets the daily budget of one object (or its lifetime budget on Meta and TikTok), in account minor units, on Google Ads, Meta Ads and TikTok Ads. For Reddit Ads and X Ads use their own tools. Lowering needs Lower budgets, raising needs Raise budgets in the user's AI permissions.
Reddit ads33 tools
reddit_ads_account_history
The ad account's change log: who changed which campaign, ad group, ad, budget, bid, status or targeting, and when.
reddit_ads_activate
Launch: set campaigns, ad groups or ads of this account ACTIVE, which starts spending. Only after the user explicitly asks to launch. Each campaign and ad group carries confirm: its current goal_value, spend_cap and bid_value (null when unset), which the approval card shows and Reddit's live values must match. A campaign whose funding instrument cannot serve is refused. One result per item.
reddit_ads_archive
Archive campaigns, ad groups or ads of this account (status ARCHIVED, stops them for good), or with delete true mark them DELETED. One result per item.
reddit_ads_bid_suggestion
Suggested bid range (microcurrency) for an ad group setup: bid_type, objective, targeting and duration.
reddit_ads_create_ad
Create an ad in an ad group of this account, from a post (post_id from reddit_ads_create_post) with click_url and optional tracking parameters.
reddit_ads_create_ad_group
Create an ad group in a campaign of this account: bid_type and bid_value (microcurrency), budget (unless the campaign optimises budget), schedule, conversion pixel and targeting (communities, interests, keywords, geolocations, devices, custom audiences, exclusions).
reddit_ads_create_campaign
Create a campaign. It spends nothing until reddit_ads_activate.
reddit_ads_create_custom_audience
Create a custom audience: CUSTOMER_LIST (then add hashed people with reddit_ads_update_audience_users), PIXEL_RETARGETING or ENGAGEMENT_RETARGETING.
reddit_ads_create_post
Create an ad post (image, video, carousel or text) as a profile of this account, from library assets. Asynchronous: returns a receipt for reddit_ads_get_upload kind post_job, which gives the post_id for reddit_ads_create_ad.
reddit_ads_create_saved_audience
Save a reusable targeting set (communities, interests, geolocations and more) for ad groups.
reddit_ads_delete_custom_audience
Delete a custom audience of this account. This cannot be undone.
reddit_ads_estimate_audience
Audience size and delivery estimate (impressions, clicks, spend) for an objective, budget and targeting before anything is created.
reddit_ads_get
Read one campaign, ad group (with its targeting), ad, post, custom or saved audience, or lead form configuration, after checking it belongs to the ad account. Lead submissions are never returned.
reddit_ads_get_ad_account
Read one ad account: name, currency, time zone, attribution and status.
reddit_ads_get_reporting_fields
Every report field and breakdown name reddit_ads_report accepts.
reddit_ads_get_upload
Poll an asynchronous job: kind asset_upload with the upload ids from reddit_ads_upload_media, or kind post_job with the receipt from reddit_ads_create_post.
reddit_ads_get_write_schema
Reddit's exact field schema for a create or update (OpenAdManager refuses billing and computed fields). Read it before building data for a write tool.
reddit_ads_keyword_suggestions
Suggest related keywords to target from seed keywords.
reddit_ads_list
List an ad account's campaigns, ad groups, ads, custom or saved audiences, pixels, profiles (the advertiser identities posts run as) or lead form configurations, with configured and effective status. Money is microcurrency.
reddit_ads_list_ad_accounts
List the ad accounts this sign-in reaches, with id, name, currency, time zone, business and status. Optionally only one business's.
reddit_ads_list_businesses
List the Reddit Ads businesses this sign-in belongs to.
reddit_ads_list_creatives
List a profile's ad posts or its creative asset library (images, videos, headlines, calls to action). The profile must be attached to the ad account.
reddit_ads_list_funding_instruments
List the ad account's funding instruments (read only): currency, credit limit, billable amount (microcurrency) and whether each can serve ads.
reddit_ads_pause
Pause campaigns, ad groups or ads of this account (stops spend). One result per item.
reddit_ads_pixel_status
When each conversion event last fired on a pixel of the ad account.
reddit_ads_report
Performance report for the ad account: fields such as IMPRESSIONS, CLICKS, SPEND (microcurrency), CTR, CPC, ECPM, REACH, FREQUENCY, CONVERSION_* and VIDEO_*, broken down by up to three of CAMPAIGN_ID, AD_GROUP_ID, AD_ID, DATE, COUNTRY, COMMUNITY, KEYWORD, PLACEMENT and more. reddit_ads_get_reporting_fields lists every name.
reddit_ads_search_targeting
Find targeting values: communities (subreddits, search by text), community_names (look up exact names, comma separated), community_suggestions (from names or a website_url), interests, geolocations (country, cities search or postal code), devices, carriers, languages, third_party_audiences, time_zones.
reddit_ads_send_conversion_events
Send conversion events (Conversions API) to a pixel of this account: event_at (ms), action_source, type.tracking_type, click_id, metadata (value, currency, order) and user. Email, phone, external id, IP and mobile ad ids are SHA-256 hashed by OpenAdManager first. Use test_id to try events without counting them.
reddit_ads_update
Change a campaign, ad group, ad, saved audience or post of this account: names, targeting, schedule, click URLs, pixels and the like. Not budgets, bids, dates, status or the parent campaign/ad group (use reddit_ads_update_budget, pause, activate, archive). A live (ACTIVE) campaign, ad group or ad only takes a new name: pause it first for anything else. Nested objects such as targeting are replaced whole: read the object first.
reddit_ads_update_audience_users
Add or remove people in a customer-list audience of this account. Emails and mobile ad ids are normalised and SHA-256 hashed by OpenAdManager before they leave (already hashed values pass through). At most 2500 rows a call.
reddit_ads_update_budget
Change a campaign's or ad group's money or dates: goal_type, goal_value (budget), spend_cap, bid_strategy, bid_type, bid_value (microcurrency), start_time, end_time, funding_instrument_id. Returns old and new values. Confirm amounts with the user first.
reddit_ads_upload_media
Import creative assets into a profile's library: images and videos by public https URL (Reddit fetches them), headlines and calls to action. Asynchronous: poll reddit_ads_get_upload.
reddit_ads_validate_targeting
Check targeting before use: keywords (brand safety per keyword) or geolocations (ids or city names; reports the ones Reddit cannot target).
TikTok ads47 tools
tiktok_ad_audience_size_estimate
Estimates how many people a TikTok targeting choice reaches. Changes nothing.
tiktok_ad_create
Creates a TikTok ad. Use tiktok_ad_status_update to turn it on. Needs Create campaigns and ads in the user's AI permissions.
tiktok_ad_get
Lists or reads TikTok ads of an advertiser with their status.
tiktok_ad_status_update
Pauses or enables TikTok ads. Pausing needs Pause ads, enabling needs Turn ads on in the user's AI permissions.
tiktok_ad_update
Changes an existing TikTok ad, for example its text or link. Needs the matching permission in the user's AI permissions (budget, bid, audience or ad text).
tiktok_adgroup_budget_update
Changes the budget of a TikTok ad group. Needs Raise budgets in the user's AI permissions.
tiktok_adgroup_create
Creates a TikTok ad group. Use tiktok_adgroup_status_update to turn it on. Needs Create campaigns and ads in the user's AI permissions.
tiktok_adgroup_get
Lists or reads TikTok ad groups of an advertiser with their status, schedule and budget.
tiktok_adgroup_status_update
Pauses or enables TikTok ad groups. Pausing needs Pause ads, enabling needs Turn ads on in the user's AI permissions.
tiktok_adgroup_update
Changes an existing TikTok ad group, for example its schedule, bid or audience. Needs the matching permission in the user's AI permissions (budget, bid, audience or ad text).
tiktok_advertiser_info_get
Reads basic details of a TikTok advertiser account: name, currency, time zone and status.
tiktok_campaign_copy_task_create
Duplicates a TikTok campaign. Use tiktok_campaign_status_update to turn it on. Needs Create campaigns and ads in the user's AI permissions.
tiktok_campaign_create
Creates a TikTok campaign. Use tiktok_campaign_status_update to turn it on. Needs Create campaigns and ads in the user's AI permissions.
tiktok_campaign_get
Lists or reads TikTok campaigns of an advertiser with their status and budget.
tiktok_campaign_status_update
Pauses or enables TikTok campaigns. Pausing needs Pause ads, enabling needs Turn ads on in the user's AI permissions.
tiktok_campaign_update
Changes an existing TikTok campaign, for example its name or budget. Needs the matching permission in the user's AI permissions (budget, bid, audience or ad text).
tiktok_creative_cta_recommend_get
Suggests call-to-action buttons that fit a TikTok campaign objective.
tiktok_dmp_custom_audience_get
Reads details of TikTok custom audiences: size and status.
tiktok_dmp_custom_audience_list_get
Lists the custom audiences of a TikTok advertiser.
tiktok_dmp_custom_audience_lookalike_create
Creates a TikTok lookalike audience from an existing custom audience. It only becomes live when an ad group uses it.
tiktok_dmp_saved_audience_create
Saves a targeting choice (places, ages, interests) as a reusable TikTok audience.
tiktok_dmp_saved_audience_list_get
Lists the saved targeting audiences of a TikTok advertiser.
tiktok_file_image_ad_info_get
Reads details of uploaded TikTok ad images: size, format and review status.
tiktok_file_image_ad_search
Searches the images already uploaded to a TikTok advertiser account.
tiktok_file_image_ad_upload
Uploads an image for TikTok ads from a public web address and returns its image id, to use in tiktok_ad_create. Needs the user's own image address.
tiktok_file_video_ad_info_get
Reads details of uploaded TikTok ad videos: length, size, format and review status.
tiktok_file_video_ad_search
Searches the videos already uploaded to a TikTok advertiser account.
tiktok_file_video_ad_upload
Uploads a video for TikTok ads from a public web address and returns its video id, to use in tiktok_ad_create. Needs the user's own video address.
tiktok_identity_get
Lists the identities (the TikTok profile an ad is shown from) of an advertiser. An ad needs one.
tiktok_identity_info_get
Reads details of one TikTok ad identity.
tiktok_interest_keyword_search
Finds TikTok interests that match a word, with their ids, to use in an ad group.
tiktok_pixel_event_create
Adds events to a TikTok pixel so conversions can be tracked. Does not spend money.
tiktok_pixel_list_get
Lists the TikTok pixels of an advertiser with their status and events, to check conversion tracking.
tiktok_report_integrated_get
Returns a TikTok performance report: spend, impressions, clicks and conversions by chosen dimensions and dates.
tiktok_smart_plus_ad_create
Creates an Upgraded Smart+ TikTok ad. Use tiktok_smart_plus_ad_status_update to turn it on. Needs Create campaigns and ads in the user's AI permissions.
tiktok_smart_plus_ad_get
Lists or reads Upgraded Smart+ ads of a TikTok advertiser with their status.
tiktok_smart_plus_ad_status_update
Pauses or enables Upgraded Smart+ TikTok ads. Pausing needs Pause ads, enabling needs Turn ads on in the user's AI permissions.
tiktok_smart_plus_adgroup_budget_update
Changes the budget of an Upgraded Smart+ TikTok ad group. Needs Raise budgets in the user's AI permissions.
tiktok_smart_plus_adgroup_create
Creates an Upgraded Smart+ TikTok ad group. Use tiktok_smart_plus_adgroup_status_update to turn it on. Needs Create campaigns and ads in the user's AI permissions.
tiktok_smart_plus_adgroup_get
Lists or reads Upgraded Smart+ ad groups of a TikTok advertiser with their status and budget.
tiktok_smart_plus_adgroup_status_update
Pauses or enables Upgraded Smart+ TikTok ad groups. Pausing needs Pause ads, enabling needs Turn ads on in the user's AI permissions.
tiktok_smart_plus_campaign_create
Creates an Upgraded Smart+ TikTok campaign. Use tiktok_smart_plus_campaign_status_update to turn it on. Needs Create campaigns and ads in the user's AI permissions.
tiktok_smart_plus_campaign_get
Lists or reads Upgraded Smart+ campaigns of a TikTok advertiser with their status and budget.
tiktok_smart_plus_campaign_status_update
Pauses or enables Upgraded Smart+ TikTok campaigns. Pausing needs Pause ads, enabling needs Turn ads on in the user's AI permissions.
tiktok_tool_interest_category_get
Lists TikTok interest categories ads can target, with their ids.
tiktok_tool_language_get
Lists the languages TikTok ads can target, with their codes.
tiktok_tool_region_get
Lists the countries and regions TikTok ads can target, with the ids ad groups use.
X ads74 tools
x_activate_campaign
Turns on an X campaign so its line items can spend. Needs Turn ads on in the user's AI permissions.
x_activate_line_item
Turns on an X line item so it can spend money. Needs Turn ads on in the user's AI permissions.
x_add_targeting_criterion
Adds a targeting choice (location, interest, audience and so on) to an X line item.
x_batch_do_not_reach_list_users
Adds or removes people on an X do-not-reach list. Use only when the user asks and has the right to share the list.
x_create_ad_post
Publishes a promoted-only Post (not shown on the profile timeline) from the brand account on X. Needs Create campaigns and ads and Turn ads on in the user's AI permissions.
x_create_app_event_tag
Creates an X app event tag so app conversions can be tracked. Does not spend money.
x_create_app_list
Creates an X app list used to target or exclude mobile apps.
x_create_campaign
Creates an X campaign. Use x_activate_campaign to turn it on (needs Turn ads on in the user's AI permissions).
x_create_card
Creates an X card (website, app or video card) for use in a promoted Post. It does not spend by itself.
x_create_custom_audience
Creates an empty X custom audience. It only reaches people once a line item uses it.
x_create_do_not_reach_list
Creates an empty X do-not-reach list.
x_create_line_item
Creates an X line item (ad group) with its objective, bid, budget and placements. Use x_activate_line_item to turn it on (needs Turn ads on in the user's AI permissions).
x_create_media_creative
Creates an X media creative (an image or video ad) on a line item.
x_create_media_library_item
Adds an image or video to the X media library of an ads account.
x_create_tracking_tag
Creates an X third-party tracking tag for a creative.
x_create_web_event_tag
Creates an X pixel event (web event tag) so conversions can be tracked. Does not spend money.
x_delete_account_media
Deletes an X account media. Needs Delete and archive in the user's AI permissions, and it cannot be undone.
x_delete_app_event_tag
Deletes an X app event tag. Needs Delete and archive in the user's AI permissions, and it cannot be undone.
x_delete_app_list
Deletes an X app list. Needs Delete and archive in the user's AI permissions, and it cannot be undone.
x_delete_card
Deletes an X card. Needs Delete and archive in the user's AI permissions, and it cannot be undone.
x_delete_custom_audience
Deletes an X custom audience. Needs Delete and archive in the user's AI permissions, and it cannot be undone.
x_delete_do_not_reach_list
Deletes an X do not reach list. Needs Delete and archive in the user's AI permissions, and it cannot be undone.
x_delete_media_creative
Deletes an X media creative. Needs Delete and archive in the user's AI permissions, and it cannot be undone.
x_delete_media_library_item
Deletes an X media library item. Needs Delete and archive in the user's AI permissions, and it cannot be undone.
x_delete_tracking_tag
Deletes an X tracking tag. Needs Delete and archive in the user's AI permissions, and it cannot be undone.
x_delete_web_event_tag
Deletes an X web event tag. Needs Delete and archive in the user's AI permissions, and it cannot be undone.
x_estimate_audience
Estimates how many people an X targeting choice reaches. Changes nothing.
x_get_account_media
Reads one X account media of an ads account.
x_get_account_stats
Returns X performance numbers for campaigns, line items or ads over a date range: impressions, clicks, engagements and spend.
x_get_active_entities
Lists the X campaigns, line items and ads that served in a date range, to see what is really running.
x_get_app_event_tag
Reads one X app event tag of an ads account.
x_get_app_list
Reads one X app list of an ads account.
x_get_campaign
Reads one X campaign: status, budget, dates and funding.
x_get_campaign_reach
Returns how many people an X campaign reached and how often, for a date range.
x_get_card
Reads one X card of an ads account.
x_get_custom_audience
Reads one X custom audience of an ads account.
x_get_funding_instrument
Reads one funding instrument of an X ads account, read only.
x_get_line_item
Reads one X line item: status, objective, bid, budget, schedule and placements.
x_get_media_creative
Reads one X media creative of an ads account.
x_get_media_library_item
Reads one X media library item of an ads account.
x_get_promoted_post
Reads one promoted Post of an X ads account.
x_get_targeting_criterion
Reads one targeting criterion of an X line item.
x_get_tracking_tag
Reads one X tracking tag of an ads account.
x_get_web_event_tag
Reads one X web event tag of an ads account.
x_list_account_media
Lists the media uploaded to an X ads account.
x_list_account_posts
Lists the Posts of the account that can be promoted, including promoted-only posts.
x_list_ads_accounts
Lists the X ads accounts this sign-in can use, with their ids, names, currencies and time zones.
x_list_app_event_tags
Lists the X app event tags of an ads account.
x_list_app_lists
Lists the X app lists of an ads account.
x_list_campaigns
Lists the campaigns of an X ads account with their status, budget and dates.
x_list_cards
Lists the X cards of an ads account.
x_list_custom_audience_targeted
Lists the X line items that target a custom audience.
x_list_custom_audiences
Lists the X custom audiences of an ads account.
x_list_do_not_reach_lists
Lists the do-not-reach lists of an X ads account.
x_list_funding_instruments
Lists the payment methods and credit lines of an X ads account, read only. They cannot be changed here.
x_list_line_item_placements
Lists the placements X offers for a product and objective, to use when creating a line item.
x_list_line_items
Lists the line items (X ad groups) of an ads account with their status, bid, budget, schedule and targeting summary.
x_list_media_creatives
Lists the X media creatives of an ads account.
x_list_media_library
Lists the images and videos in the X media library of an ads account.
x_list_post_previews
Shows how a Post looks as an X ad before it is promoted.
x_list_promoted_posts
Lists the Posts promoted in an X ads account.
x_list_targeting_criteria
Lists the targeting criteria of an X line item.
x_list_tracking_tags
Lists the X tracking tags of an ads account.
x_list_web_event_tags
Lists the X pixel events (web event tags) of an ads account, to check conversion tracking.
x_promote_post
Promotes an existing X Post as an ad on a line item, which can spend money. Needs Create campaigns and ads and Turn ads on in the user's AI permissions.
x_remove_targeting
Removes a targeting choice from an X line item.
x_search_targeting_interests
Finds X interest and topic targeting options that match a word, with their ids.
x_search_targeting_locations
Finds X locations (countries, regions, cities) that match a word, with their ids.
x_update_campaign
Pauses an X campaign, or renames it. Each change needs its switch in the user's AI permissions (Pause ads, Turn ads on, Raise budgets and so on).
x_update_custom_audience
Renames an X custom audience.
x_update_line_item
Pauses an X line item, or renames it. Each change needs its switch in the user's AI permissions (Pause ads, Turn ads on, Change bids and so on).
x_update_media_library_item
Changes the name or details of an item in the X media library.
x_update_tracking_tag
Changes an X third-party tracking tag.
x_update_web_event_tag
Changes an X pixel event (web event tag), for example its name or attribution window.
Built-in skills
Ready-made workflows your AI app can run, like a weekly report or launching a campaign. In apps that show MCP prompts, they appear in the prompt or slash menu. Each one follows your plan and your AI permissions.
On every platform: Launch from my website · Write new ads · Campaign building · Account audit · Weekly report · Campaign planning · Launch and QA · Optimization · Lead export · Localized ad copy · A/B variant design · Creative brief · Tracking health · Find wasted spend · Conversion tracking check
- Google: Weekly report · Search terms cleanup · Budget pacing · Launch search campaign · Download leads · Customer match · Experiment · Performance Max · Conversion fixes · Agency accounts
- Meta: Performance report · Creative fatigue · Launch checklist · Budget shift · Download leads · Lead form campaign · Automated rules · Split test · Catalog ads · Budget schedule · Boost post · Account health · Competitor research
- TikTok: Performance report · Budget change
- Reddit: Performance report · Find communities · Launch a community campaign
- X: Performance report · Launch a campaign
Machine-readable copy: catalog.json.