meta-ads-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| META_ACCESS_TOKEN | Yes | Your Meta API access token with ads_read permission. | |
| META_AD_ACCOUNT_ID | Yes | Your Meta Ad Account ID, prefixed with act_ (e.g., act_123456789). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_campaignsA | List all campaigns for an ad account with status, objective, and budget info. |
| get_campaign_performanceB | Get performance KPIs for campaigns. Results match the Ads Manager — only the optimization event of each ad set counts as a 'Result'. |
| get_creative_performanceA | Get creative-level performance including video metrics (hook rate, thruplay rate). Results match the Ads Manager optimization event. |
| get_audience_breakdownB | Get performance broken down by demographics, platform, placement, device, or geography. Results match the Ads Manager optimization event. |
| get_budget_statusB | Get budget pacing and spend status for active campaigns. |
| get_ad_accountsA | List all ad accounts accessible with the current token. Use this first to find the right account ID. |
| get_adsetsA | List ad sets for a campaign with ID, name, status, budget, and optimization goal. Use this to find specific ad set IDs and see what each ad set optimizes for. |
| get_adsA | List ads with their actual delivery status (ACTIVE, PAUSED, etc.), name, and creative info. Unlike insights-based tools, this shows ALL ads regardless of spend. |
| get_debug_insightsA | Debug tool: returns raw action types from the API response. Use this to see exactly what conversion/action types Meta returns for a campaign. |
| get_ad_creativesA | Fetch ad creative images and display them inline. Shows the actual ad thumbnails/images alongside ad metadata (name, status, creative ID). Defaults to full-resolution images; set image_size='thumbnail' for the small 64x64 preview. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Each tool targets a distinct data view: account listing, campaign list, campaign performance, creative performance, audience breakdown, budget, ad sets, ads, creatives, and debug insights. The parallel performance tools are clearly separated by level or dimension.
All tools follow a consistent get_ prefix with a readable resource or metric descriptor. Plural nouns are used for list endpoints and entity_metric patterns for analytics endpoints, with only get_debug_insights as a mild outlier.
Ten tools is well within the ideal range and each one serves a clear purpose in a read-only Meta Ads workflow. There is no obvious redundancy or unnecessary bloat.
The read-only surface covers the full account → campaign → ad set → ad → creative hierarchy plus performance, budget, audience breakdown, and debug insights. Minor gaps exist such as no ad-set-level or ad-level performance endpoint and no write/management operations, but the tool set appears intentionally observational.