Meta Ads MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| META_APP_ID | No | Meta App ID for browser login flow. | |
| META_APP_SECRET | No | Meta App Secret for browser login flow. | |
| META_ACCESS_TOKEN | No | Long-lived user access token for Meta Marketing API. | |
| META_AD_ACCOUNT_ID | No | Ad account ID in the form act_<digits>. | |
| META_GRAPH_API_VERSION | No | Meta Graph API version. | v23.0 |
| META_OAUTH_REDIRECT_URI | No | Custom OAuth redirect URI (default http://localhost:8721/callback). |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_ad_accountsA | List Meta ad accounts available to the configured access token. Args: params: Maximum result count and JSON or Markdown response format. Returns:
A rendered Use this to discover an account ID before account-scoped reads. Do not use it to inspect campaigns or to create, update, or delete ad accounts. |
| get_campaignsA | Get campaigns for an explicit or configured default ad account. Args: params: Optional account ID, maximum result count, and JSON or Markdown response format. Returns:
A rendered Use this for an account-level campaign inventory. Do not use it for performance metrics or for campaign creation, edits, or status changes. |
| get_adsetsA | Get ad sets beneath an account or campaign parent. Args: params: Parent account or campaign ID, maximum result count, and JSON or Markdown response format. Returns:
A rendered Use this to inspect the ad-set hierarchy for a known parent. Do not use it for performance metrics or to create, edit, pause, or delete ad sets. |
| get_adsA | Get ads beneath an account, campaign, or ad-set parent. Args: params: Parent object ID, maximum result count, and JSON or Markdown response format. Returns:
A rendered Use this to inspect ads for a known hierarchy parent. Do not use it for performance metrics or to create, edit, pause, or delete ads. |
| get_insightsA | Get raw Meta performance metrics for an object and reporting period. Args: params: Object ID, aggregation level, either a date preset or custom since/until range, maximum row count, and response format. Returns:
A rendered Use this for flexible read-only metric retrieval at account, campaign, ad-set, or ad level. Do not use it to modify delivery or to infer causal lift from platform-attributed results. |
| performance_summaryA | Rank campaign performance and flag heuristic symptoms for review. Args: params: Optional account ID, reporting preset, CTR, ROAS, and frequency thresholds, and JSON or Markdown response format. Returns:
A rendered Use this for read-only campaign triage, not as proof of causation or a verified diagnosis. Conversions and ROAS are platform-reported using Meta attribution, not incremental; a holdout or lift test is required to claim incrementality, and periods should be compared at similar spend. Do not use this tool to make delivery changes or assert causal campaign impact. |
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 6 tools
Each tool targets a distinct resource (ad accounts, campaigns, ads, ad sets, insights, performance summary) with clear boundaries and explicit 'do not use' guidance, eliminating ambiguity.
Most tools follow a 'get_<resource>' pattern (get_campaigns, get_ads, get_insights, get_adsets), with one using 'list_' (list_ad_accounts) and another using a noun phrase (performance_summary), which is a minor inconsistency.
The 6 tools are well-scoped for a read-only Meta Ads analytics server, covering account discovery, hierarchical retrieval, insights, and a summary function without being excessive.
The surface is read-only and covers listing and insights, but lacks any create, update, or delete capabilities, and misses tools for single-object retrieval or ad account details beyond listing.