Skip to main content
Glama

Opus Growth, Ad Platforms MCP Connector

List Entities

list_entities
Read-onlyIdempotent

Lists the entities (campaigns, ad groups/ad sets, ads, keywords) of ANY connected ad platform with their IDs — use this instead of looking for a platform-specific list tool. platform: google_ads (default) | meta (facebook/instagram) | tiktok | linkedin | microsoft. entity: campaigns | ad_groups (adsets on Meta, adgroups on TikTok) | ads | keywords (Google Ads) | campaign_groups & creatives (LinkedIn). account = that platform's account id (for Google Ads you may also use customer_id); leave empty to use the connected/default account. parent_id narrows children to one parent (e.g. the campaign id when listing ad groups/ad sets, the ad set id when listing ads). Call describe(platform) to see which entity names a platform accepts.

DATES — read them before you judge anything: rows carry when each item was created, last changed and is scheduled to run, so "new / still learning / untouched for months / changed yesterday" is measured, not guessed. Google Ads: created_time (exact, Google keeps it 30 days), created_within_90d, updated_time (last 90 days; empty = unchanged for 90+ days), campaign start_time/end_time. Meta: created_time, updated_time, start_time/stop_time (campaign), start_time/end_time (ad set). TikTok: created_time, updated_time, ad group start_time/end_time. LinkedIn: created_time, updated_time, start_time/end_time (ISO, UTC). Microsoft: ad group start_date/end_date only (the API exposes no creation date). Before attributing a result to a change, compare these dates with the report period (get_report with start_date/end_date or a day breakdown).

Google Ads specifics (platform='google_ads'):

PAGING: rows is ONE PAGE — limit rows from offset (limit max 2000). total_rows is the real count and serving_count / serving_summary are always computed over ALL rows, not the page. truncated=true → call again with offset=next_offset and merge; never present the page as the complete list. Keyword and ad pages are returned as FLAT rows (a keyword inventory can run to thousands of rows — the raw nested GAQL form overflows the client's tool-result budget and then nothing reaches you at all).

CURRENT BIDS: ad group rows carry max_cpc (and target_cpa when set), keyword rows carry max_cpc plus effective_max_cpc and bid_source. Read the bid before changing it — a percentage change ("raise this by 30%") is otherwise sent as an absolute number and can LOWER the bid instead. bid_source: AD_GROUP_CRITERION means the keyword carries its own bid and OVERRIDES the ad group: raising the ad group bid then changes nothing for that keyword. Average CPC from a report is not a substitute — it is what was paid, not the ceiling that was set, and it is usually lower.

ACTIVE / RUNNING / LIVE = is_serving: true (derived from serving_status), NOT status: "ENABLED". They are different things: a campaign whose end date has passed still reads status=ENABLED while the Google Ads UI shows it as "Ended". When the user asks which campaigns are active, answer from is_serving and account for the rest using serving_status

  • status_reasons (ENDED, PAUSED, NOT_ELIGIBLE, MISCONFIGURED, PENDING...). Never present a status=ENABLED row as active on its own — the user is comparing your answer to their Google Ads screen. serving_summary gives the counts.

For campaigns it ALSO returns the bidding strategy (bidding_strategy), daily budget (daily_budget), targets (target_cpa / target_roas) and the max CPC ceiling (max_cpc, in account currency; null means no ceiling is set AT CAMPAIGN LEVEL). When max_cpc_note is present the campaign uses a portfolio strategy and max_cpc was not read.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
entityNocampaigns
offsetNo
accountNo
platformNo
parent_idNo
customer_idNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.