{"name":"com.getmcpads/meta-ads","slug":"getmcpads-meta-ads","title":"Meta Ads","description":"Meta Ads MCP server: 42 read tools, 24 opt-in preview-first writes.","url":"https://mcp.market/server/getmcpads-meta-ads","rating":null,"grade":"B","score":80,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":35,"stars":1,"forks":1,"downloads_week":623,"last_push_at":"2026-10-26T13:49:38.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/get-mcp-ads/meta-ads-mcp-server","website":"https://www.getmcpads.com/tools/meta-ads","version":"2.1.1","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@getmcpads/meta-ads-mcp-server","version":"2.1.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Meta access token with at least the ads_read permission.","isRequired":true,"isSecret":true,"name":"META_ACCESS_TOKEN"},{"description":"Set to 1 to expose 24 write tools. Default calls preview; confirm:true applies changes.","name":"META_ENABLE_WRITES"},{"description":"Graph API version. Defaults to v26.0.","name":"META_API_VERSION"}]}],"tools":[{"name":"meta_debug_token","description":"Inspect token identity, validity, expiry and scopes. When Meta refuses to inspect this token with itself, independently check the connecting user and granted permissions; token and app metadata then remain unknown.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_account_details","description":"Get detailed information for a specific Meta ad account: name, currency, timezone, spend cap, status, business info.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_ad_activity","description":"Read ad account activity logs from /{ad_account_id}/activities with object, event, actor, timestamp, and extra_data fields.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_ad_preview","description":"Get the read-only preview markup for an existing Meta ad in a requested placement format. The response may contain an iframe body but never creates or edits a creative.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_ad_studies","description":"List conversion lift studies and A/B tests (Ad Studies) for an ad account. Includes study type, status, and cells.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_ads","description":"List ads for a Meta ad account, optionally filtered by ad set. Returns ad ID, name, status, and creative reference.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_adsets","description":"List ad sets for a Meta ad account, optionally filtered by campaign. Returns targeting, budget, optimization, and schedule info.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_audience_details","description":"Read detailed custom, saved, and lookalike audiences with pagination and rich fields where permissions allow.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_audiences","description":"List custom, saved, and lookalike audiences for a Meta ad account.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_brand_safety_controls","description":"Read brand safety, suitability, placement, and context-control signals from ad account/ad set targeting and optional block-list edges.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_business_assets","description":"Discover accessible Meta Business assets read-only: businesses, pages, Instagram accounts, pixels, and datasets when permissions allow.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_campaign_structure","description":"Get hierarchical campaign structure: campaigns -> ad sets -> ads. Useful for understanding account organization.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_campaigns","description":"List campaigns for a Meta ad account. Returns campaign ID, name, status, objective, budget, and bid strategy.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_catalog_products","description":"Read Product Catalogs and Product Items when catalog access is available. Returns join-ready product metadata without creating or updating catalog assets.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_creative_assets","description":"Return ad-linked creative media with actual ad names, collection covers, all carousel/flexible components, resolved image hashes and video URLs. Catalog-only ads are classified separately; use the hosted GetMCPAds service for an interactive visual gallery. Raw creative metadata remains available for diagnostics.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_creatives","description":"Get ad creative content: text, images, videos, links, call-to-action. Returns creative details for specified ads.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_delivery_diagnostics","description":"Aggregate read-only delivery diagnostics across campaigns, ad sets, and ads using status/effective_status/issues_info where available plus simple delivery insights.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_insights","description":"Query Meta Ads performance insights. Supports 170+ metrics, 43+ breakdowns with intelligent query planning. Use meta://metrics resource to see available metrics. Use meta://breakdowns for available breakdowns. The query planner automatically splits incompatible metric/breakdown combinations into multiple API requests and merges results. For purchases, leads or conversion analysis, request actions ","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_insights_raw","description":"Query the Meta Insights edge with validated native field names, breakdowns, action breakdowns, attribution windows, filters, sort, summary, and pagination. This complements meta_get_insights when Meta adds fields before the curated metric catalog is updated.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_instagram_accounts","description":"List Instagram accounts linked to accessible Pages, Business Manager assets, or an ad account when permissions allow.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_node_fields","description":"Read arbitrary flat fields from one Meta Graph node. This GET-only escape hatch covers newly released campaign, ad set, ad, creative, audience, catalog, Page, Instagram, pixel, and other accessible node fields without waiting for a fixed MCP schema update.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_organic_content_enrichment","description":"Read Facebook Page posts and Instagram media with URLs, native periods and optional insights. These are content insights, not Ads Insights; do not infer an organic-only breakdown.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_page_posts","description":"Read published Facebook Page posts using a Page token resolved from the connected user. Returns exact PageID_PostID, message, permalink and media attachments. Use postId for an exact existing-post ad preflight. No Instagram media, comments, likes or insights are requested; this read alone does not establish advertising eligibility.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_pages","description":"List accessible Facebook Pages with id, name, category, tasks, picture, and linked Instagram account references when available.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_pixels","description":"List pixels and datasets from an ad account or Business Manager when accessible, returning actionable warnings for permission-limited edges.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_study_results","description":"Get detailed results for a conversion lift or A/B test study. Returns objectives, cells, and lift results.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_get_video_sources","description":"Resolve fresh download URLs (source) and thumbnails for specific ad videos. Call this at download time: the returned URLs are signed and expire quickly.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_health_check","description":"Read-only connection diagnostic: inspects token identity and granted permissions, and lists accessible ad accounts without exposing the access token. Unavailable checks remain unknown; granted scopes do not prove app access level or clearance of Meta security checkpoints.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_interpret_experiment_results","description":"Read and interpret A/B test or conversion lift study results with confidence guardrails, cells, objectives, and optional cell entities.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_join_product_insights","description":"Query product-breakdown insights and enrich rows with Product Catalog metadata when catalog access is available.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_list_ad_accounts","description":"List all Meta ad accounts accessible with the current token. Returns account ID, name, currency, timezone, and status.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_list_ad_images","description":"List the ad account image library (/adimages): hash, name, dimensions, status, a permanent publicly served display URL (permalink_url), short-lived CDN URLs, and optionally the creatives using each image.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_list_ad_videos","description":"List the ad account video library (/advideos): title, duration, processing status, and publicly served thumbnails (preferred and largest sizes). Source file URLs are returned only on request because they expire quickly.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_list_edge_raw","description":"List an allowlisted read-only Meta Graph edge with caller-selected flat fields, filters, and cursor pagination. Use this for broad metadata/entity discovery when a specialized tool does not expose a newly added field.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_rename_ad_account","description":"Rename a Meta ad account. The name is the only thing that changes. Previews by default.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_search_entities","description":"Search campaigns, ad sets, or ads by name within an ad account. Useful for finding specific entities.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_search_targeting_options","description":"Search Meta's read-only targeting metadata for interests, validated interests, geographies, locales, countries, cities, regions, markets, or postal codes.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_validate_query","description":"Validate a metric/breakdown combination BEFORE executing. Returns errors and warnings. Use this to check if your query will work.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":80,"grade":"B","scanned_at":"2026-10-30T06:00:28.134Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-30T06:00:28.104Z","components":{"code":{"score":25,"max":25,"notes":["9 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 4 days ago"]},"identity":{"score":6,"max":10,"notes":["namespace and repository owner differ","website matches verified namespace"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@getmcpads/meta-ads-mcp-server","version":"2.1.1","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-10-26T14:45:03.446Z","repositoryUrl":"git+https://github.com/get-mcp-ads/meta-ads-mcp-server.git","weeklyDownloads":623}],"repo":{"found":true,"owner":"get-mcp-ads","repo":"meta-ads-mcp-server","archived":false,"pushedAt":"2026-10-26T13:49:38Z","stars":1,"forks":1,"openIssues":4,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/333092235?v=4","ownerCreatedAt":"2026-09-23T20:58:16Z","license":"Apache-2.0"},"icon":{"url":"https://www.getmcpads.com/icon.svg?icon.04oocdq1kv3ro.svg","source":"registry"},"presence":{"stars":1,"forks":1,"downloadsWeek":623,"license":"Apache-2.0","lastPushAt":"2026-10-26T13:49:38.000Z","score":35}}}},"grade_history":[{"kind":"restore","fromGrade":"C","toGrade":"B","reason":"score 80","createdAt":"2026-10-30T06:00:29.563Z"}],"reviews":[]}