[{"data":1,"prerenderedAt":1479},["ShallowReactive",2],{"\u002Fresources\u002Fmeta-ads-mcp-setup":3},{"doc":4,"parent":1433},{"id":5,"title":6,"body":7,"breadcrumbLabel":1433,"category":1434,"cover":1435,"createdAt":1436,"description":1437,"extension":1438,"faqs":1439,"meta":1464,"navigation":1465,"noAiBadge":1435,"og":1435,"ogDescription":1466,"ogIcon":1433,"path":1467,"seo":1468,"slug":1469,"stem":1469,"tags":1470,"updatedAt":1477,"wip":1435,"__hash__":1478},"resources\u002Fresources\u002Fmeta-ads-mcp-setup.md","How to Set Up the Meta Ads MCP in 3 Steps",{"type":8,"value":9,"toc":1416},"minimark",[10,32,42,47,60,342,346,349,359,362,368,391,397,408,421,425,428,431,437,453,456,460,483,486,489,497,502,511,535,541,550,555,575,578,583,598,606,611,626,638,643,658,664,667,672,692,700,703,707,1079,1083,1086,1090,1099,1105,1108,1111,1114,1122,1128,1132,1135,1141,1149,1152,1158,1166,1170,1173,1179,1183,1186,1195,1203,1206,1228,1236,1258,1278,1293,1307,1322,1341,1370,1381,1385,1391,1399,1412],[11,12,13],"blockquote",{},[14,15,16,20,21,25,26,31],"p",{},[17,18,19],"strong",{},"TL;DR:"," Paste ",[22,23,24],"code",{},"https:\u002F\u002Fmcp.facebook.com\u002Fads"," into your AI tool's MCP settings, authorize with Meta, done. Free, ~15 minutes, works with Claude, ChatGPT, Cursor, and any MCP client. No API keys needed. But this gives your AI full write access to your live ad account: budget changes, targeting edits, campaign creation. No undo, no draft mode, no confirmation screen. Read the ",[27,28,30],"a",{"href":29},"#before-you-trust-it","limitations"," before you connect.",[14,33,34,35,41],{},"Meta's official ",[27,36,40],{"href":37,"rel":38},"https:\u002F\u002Fmodelcontextprotocol.io\u002F",[39],"nofollow","MCP"," server gives AI agents direct access to your ad account to analyze and launch campaigns. It includes 29 tools, is free, and is being rolled out gradually. Here is how to install it.",[43,44,46],"h2",{"id":45},"_1-add-the-mcp-server","1. Add the MCP Server",[14,48,49,50,54,55],{},"You need a ",[27,51,53],{"href":52},"\u002Fglossary\u002Fbusiness-manager","Meta Business Manager"," account with admin access, and a paid AI tool that supports MCP connectors (Claude Pro\u002FMax, ChatGPT Plus, Cursor Pro, etc.). No developer account, no API token, no app registration. Meta's own announcement says ",[27,56,59],{"href":57,"rel":58},"https:\u002F\u002Fwww.facebook.com\u002Fbusiness\u002Fnews\u002Fmeta-ads-ai-connectors",[39],"\"no developer credentials, API setup, or coding required.\"",[61,62,64,121,181,230,253,304],"agent-tabs",{"default":63},"claude",[65,66,68,87,94,101],"template",{"v-slot:claude":67},"",[14,69,70,71,76,77,80,81,86],{},"Open ",[27,72,75],{"href":73,"rel":74},"https:\u002F\u002Fclaude.ai\u002Fcustomize\u002Fconnectors",[39],"Settings > Connectors"," and click the ",[17,78,79],{},"+"," button. See Anthropic's ",[27,82,85],{"href":83,"rel":84},"https:\u002F\u002Fsupport.anthropic.com\u002Fen\u002Farticles\u002F11175166-how-can-i-connect-claude-to-external-tools-using-mcp",[39],"MCP connectors documentation"," for details.",[14,88,89],{},[90,91],"img",{"alt":92,"src":93},"Claude Settings showing the Connectors panel with arrows pointing to the Connectors nav item and the + button","\u002Fimages\u002Fblog\u002Fmcp-setup\u002Fclaude-connectors.png",[14,95,96,97,100],{},"Fill in the fields and click ",[17,98,99],{},"Add",":",[102,103,104,114],"ul",{},[105,106,107,110,111],"li",{},[17,108,109],{},"Name:"," ",[22,112,113],{},"Meta Ads MCP",[105,115,116,110,119],{},[17,117,118],{},"Remote MCP server URL:",[22,120,24],{},[65,122,123,148,154,160],{"v-slot:chatgpt":67},[14,124,70,125,129,130,133,134,137,138,141,142,147],{},[27,126,75],{"href":127,"rel":128},"https:\u002F\u002Fchatgpt.com\u002F#settings\u002FConnectors",[39],". If you don't see ",[17,131,132],{},"Create app",", go to ",[17,135,136],{},"Advanced settings"," first and enable ",[17,139,140],{},"Developer mode",". OpenAI's ",[27,143,146],{"href":144,"rel":145},"https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Ftools-remote-mcp",[39],"connectors documentation"," has more on managing remote MCP servers.",[14,149,150],{},[90,151],{"alt":152,"src":153},"ChatGPT Settings showing Apps panel with arrows pointing to Apps nav, Advanced settings, and Create app button","\u002Fimages\u002Fblog\u002Fmcp-setup\u002Fchatgpt-apps-settings.png",[14,155,156,157,159],{},"Click ",[17,158,132],{}," and fill in:",[102,161,162,168,175],{},[105,163,164,110,166],{},[17,165,109],{},[22,167,113],{},[105,169,170,110,173],{},[17,171,172],{},"MCP Server URL:",[22,174,24],{},[105,176,177,180],{},[17,178,179],{},"Authentication:"," OAuth",[65,182,183,191,204],{"v-slot:cursor":67},[14,184,185,186,190],{},"One-click install: ",[27,187,189],{"href":188},"cursor:\u002F\u002Fanysphere.cursor-deeplink\u002Fmcp\u002Finstall?name=Meta%20Ads&config=eyJ1cmwiOiJodHRwczovL21jcC5mYWNlYm9vay5jb20vYWRzIn0=","Add Meta Ads MCP to Cursor",". This handles the URL and transport type automatically, skip to step 2.",[14,192,193,194,197,198,203],{},"Or manually: go to ",[17,195,196],{},"Settings > MCP Servers > Add New Server",". Cursor's ",[27,199,202],{"href":200,"rel":201},"https:\u002F\u002Fdocs.cursor.com\u002Fcontext\u002Fmodel-context-protocol",[39],"MCP setup guide"," covers additional options.",[102,205,206,212,223],{},[105,207,208,110,210],{},[17,209,109],{},[22,211,113],{},[105,213,214,110,217,222],{},[17,215,216],{},"Type:",[27,218,221],{"href":219,"rel":220},"https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-03-26\u002Fbasic\u002Ftransports#streamable-http",[39],"Streamable HTTP"," (not SSE or stdio)",[105,224,225,110,228],{},[17,226,227],{},"Server URL:",[22,229,24],{},[65,231,232,245],{"v-slot:openclaw":67},[14,233,234,235,240,241,244],{},"In your ",[27,236,239],{"href":237,"rel":238},"https:\u002F\u002Flaunchmyopenclaw.com",[39],"OpenClaw"," dashboard, go to ",[17,242,243],{},"Settings > MCP Connections > Add Server",".",[102,246,247],{},[105,248,249,110,251],{},[17,250,227],{},[22,252,24],{},[65,254,255],{"v-slot:codex":67},[256,257,261],"pre",{"className":258,"code":259,"language":260,"meta":67,"style":67},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","codex mcp add --name \"Meta Ads\" --url https:\u002F\u002Fmcp.facebook.com\u002Fads --transport streamable-http\n","bash",[22,262,263],{"__ignoreMap":67},[264,265,268,272,276,279,282,286,289,292,295,298,301],"span",{"class":266,"line":267},"line",1,[264,269,271],{"class":270},"sBMFI","codex",[264,273,275],{"class":274},"sfazB"," mcp",[264,277,278],{"class":274}," add",[264,280,281],{"class":274}," --name",[264,283,285],{"class":284},"sMK4o"," \"",[264,287,288],{"class":274},"Meta Ads",[264,290,291],{"class":284},"\"",[264,293,294],{"class":274}," --url",[264,296,297],{"class":274}," https:\u002F\u002Fmcp.facebook.com\u002Fads",[264,299,300],{"class":274}," --transport",[264,302,303],{"class":274}," streamable-http\n",[65,305,306,334],{"v-slot:other":67},[14,307,308,309,311,312,315,316,319,320,323,324,327,328,333],{},"Look for an ",[17,310,40],{},", ",[17,313,314],{},"Connectors",", or ",[17,317,318],{},"Connected Apps"," section in your AI tool's settings. It may also be called ",[17,321,322],{},"Tool Servers"," or ",[17,325,326],{},"External Connections",". If your tool supports MCP but you can't find the setting, check the ",[27,329,332],{"href":330,"rel":331},"https:\u002F\u002Fmodelcontextprotocol.io\u002Fclients",[39],"MCP client directory"," or its documentation for \"MCP server\" or \"remote tool server\" setup.",[102,335,336],{},[105,337,338,110,340],{},[17,339,227],{},[22,341,24],{},[43,343,345],{"id":344},"_2-authorize-your-account","2. Authorize Your Account",[14,347,348],{},"Your AI agent should then open Meta's authorization screen in a new browser window.",[14,350,156,351,354,355,358],{},[17,352,353],{},"Continue",", then select ",[17,356,357],{},"Opt in for current business only"," and pick the Business Managers you want to use.",[14,360,361],{},"This limits the AI to one Business Manager instead of every account tied to your personal profile.",[14,363,364,365,100],{},"Meta auto-grants four permission scopes. Just review and click ",[17,366,367],{},"Save",[102,369,370,375,380,385],{},[105,371,372],{},[17,373,374],{},"Manage your product catalogues",[105,376,377],{},[17,378,379],{},"Manage ads for ad accounts that you have access to",[105,381,382],{},[17,383,384],{},"Access your Facebook ads and related stats",[105,386,387,390],{},[17,388,389],{},"Manage your business"," (the selected Business Manager portfolio)",[14,392,393],{},[90,394],{"alt":395,"src":396},"Meta OAuth permissions review screen showing four auto-granted scopes","\u002Fimages\u002Fblog\u002Fmcp-setup\u002Fmeta-oauth-permissions.png",[14,398,399,400,403,404,407],{},"If you're using ",[17,401,402],{},"Claude Code"," (the terminal CLI, not claude.ai), this step might fail with a ",[22,405,406],{},"redirect_uris are not registered for this client"," error. Meta hasn't whitelisted Claude Code's callback URLs yet.",[14,409,410,411,416,417,86],{},"Use ",[27,412,415],{"href":413,"rel":414},"https:\u002F\u002Fclaude.ai",[39],"claude.ai"," (the web version) instead. See ",[27,418,420],{"href":419},"#oauth-redirect-error-in-claude-code","troubleshooting",[43,422,424],{"id":423},"_3-verify-the-connection","3. Verify the Connection",[14,426,427],{},"Ask your AI agent something simple (ex \"What ad accounts do I have access to?\" or \"Audit my ad account.\")",[14,429,430],{},"If it pulls your account data, you're good to go 🥳",[14,432,433],{},[90,434],{"alt":435,"src":436},"Claude responding to \"Audit my ad account\" with account metrics including spend, impressions, clicks, CTR, and CPC","\u002Fimages\u002Fblog\u002Fmcp-setup\u002Fverify-connection.png",[11,438,439],{},[14,440,441,444,445,448,449,452],{},[17,442,443],{},"NOTE:"," If your account shows ",[22,446,447],{},"is_ads_mcp_enabled: false",", that account hasn't been enabled yet. Meta is rolling out access account-by-account, US and higher-spend accounts first. See ",[27,450,420],{"href":451},"#is_ads_mcp_enabled-false"," below.",[14,454,455],{},"Three steps, no API keys, no developer account. Your AI agent can now read and write to your entire ad account.",[43,457,459],{"id":458},"prompt-examples-and-tool-reference","Prompt Examples and Tool Reference",[14,461,462,463,466,467,470,471,474,475,478,479,482],{},"The MCP loads 29 tools into your AI agent, organized in five categories: ",[17,464,465],{},"Campaign Management"," (5), ",[17,468,469],{},"Product Catalog"," (10), ",[17,472,473],{},"Assets"," (3), ",[17,476,477],{},"Diagnostics"," (4), and ",[17,480,481],{},"Insights"," (7).",[14,484,485],{},"Most of the value is in Insights and Diagnostics. These are read-only: they pull data, compare metrics, and flag problems without touching anything. Campaign Management is the write side, where the AI can create, edit, and pause campaigns on your live account.",[14,487,488],{},"\"How are my ads doing?\" gets a vague summary. Prompts with time ranges, metrics, and thresholds get actionable numbers.",[11,490,491],{},[14,492,493,496],{},[17,494,495],{},"Pro Tip:"," Always include a date range, specific metrics, and a threshold in your prompts. \"Show ads where CPA exceeded $30 in the last 7 days\" beats \"which ads are underperforming?\" every time.",[498,499,501],"h3",{"id":500},"prompt-examples","Prompt Examples",[14,503,504],{},[17,505,506,507,100],{},"Spot ",[27,508,510],{"href":509},"\u002Fglossary\u002Fcreative-fatigue","creative fatigue",[256,512,516],{"className":513,"code":514,"language":515,"meta":67,"style":67},"language-txt shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","Show me every ad running for more than 14 days where CTR dropped\nmore than 20% compared to its first week. Include current frequency\nfor each.\n","txt",[22,517,518,523,529],{"__ignoreMap":67},[264,519,520],{"class":266,"line":267},[264,521,522],{},"Show me every ad running for more than 14 days where CTR dropped\n",[264,524,526],{"class":266,"line":525},2,[264,527,528],{},"more than 20% compared to its first week. Include current frequency\n",[264,530,532],{"class":266,"line":531},3,[264,533,534],{},"for each.\n",[14,536,537],{},[90,538],{"alt":539,"src":540},"Claude response showing a table of ads with first-week CTR, recent CTR, percentage drop, and current frequency","\u002Fimages\u002Fblog\u002Fmcp-setup\u002Fprompt-creative-fatigue.png",[14,542,543,544,549],{},"In ",[27,545,548],{"href":546,"rel":547},"https:\u002F\u002Fwww.facebook.com\u002Fbusiness\u002Ftools\u002Fads-manager",[39],"Ads Manager",", finding these means exporting data and cross-referencing frequency manually. The AI scans every ad and flags the dying ones.",[14,551,552],{},[17,553,554],{},"Find where your budget is leaking:",[256,556,558],{"className":513,"code":557,"language":515,"meta":67,"style":67},"Break down all active campaigns by placement. Show spend and cost\nper conversion for Facebook Feed, Instagram Stories, Instagram Reels,\nand Audience Network separately.\n",[22,559,560,565,570],{"__ignoreMap":67},[264,561,562],{"class":266,"line":267},[264,563,564],{},"Break down all active campaigns by placement. Show spend and cost\n",[264,566,567],{"class":266,"line":525},[264,568,569],{},"per conversion for Facebook Feed, Instagram Stories, Instagram Reels,\n",[264,571,572],{"class":266,"line":531},[264,573,574],{},"and Audience Network separately.\n",[14,576,577],{},"In Ads Manager you'd open each campaign, click Breakdown > Placement, and compare manually. This does it across your entire account in one pass.",[14,579,580],{},[17,581,582],{},"Check if your tracking is broken:",[256,584,586],{"className":513,"code":585,"language":515,"meta":67,"style":67},"Check my Meta Pixel health and event match quality. Are all standard\nevents firing? What's my match quality rating?\n",[22,587,588,593],{"__ignoreMap":67},[264,589,590],{"class":266,"line":267},[264,591,592],{},"Check my Meta Pixel health and event match quality. Are all standard\n",[264,594,595],{"class":266,"line":525},[264,596,597],{},"events firing? What's my match quality rating?\n",[14,599,600,601,244],{},"Broken tracking means you optimize toward bad data for weeks. This check is buried 5 clicks deep in ",[27,602,605],{"href":603,"rel":604},"https:\u002F\u002Fwww.facebook.com\u002Fbusiness\u002Fhelp\u002F898185560232180",[39],"Events Manager",[14,607,608],{},[17,609,610],{},"Monday morning comparison:",[256,612,614],{"className":513,"code":613,"language":515,"meta":67,"style":67},"Compare my account performance this week vs. last week. Total spend,\nconversions, CPA, and ROAS. Flag anything that changed more than 20%.\n",[22,615,616,621],{"__ignoreMap":67},[264,617,618],{"class":266,"line":267},[264,619,620],{},"Compare my account performance this week vs. last week. Total spend,\n",[264,622,623],{"class":266,"line":525},[264,624,625],{},"conversions, CPA, and ROAS. Flag anything that changed more than 20%.\n",[14,627,628,629,633,634,244],{},"Instead of switching date ranges and squinting at numbers, you get a side-by-side with changes flagged. Model the ",[27,630,632],{"href":631},"\u002Fglossary\u002Froas","ROAS"," impact with the ",[27,635,637],{"href":636},"\u002Ftools\u002Froas-calculator","ROAS calculator",[14,639,640],{},[17,641,642],{},"Find ad sets burning money:",[256,644,646],{"className":513,"code":645,"language":515,"meta":67,"style":67},"Which active ad sets have spent more than $50 in the last 7 days\nwith zero conversions? Show targeting and total spend for each.\n",[22,647,648,653],{"__ignoreMap":67},[264,649,650],{"class":266,"line":267},[264,651,652],{},"Which active ad sets have spent more than $50 in the last 7 days\n",[264,654,655],{"class":266,"line":525},[264,656,657],{},"with zero conversions? Show targeting and total spend for each.\n",[14,659,660],{},[90,661],{"alt":662,"src":663},"Claude response showing ad sets with $50+ spend and zero conversions, with targeting and spend breakdown","\u002Fimages\u002Fblog\u002Fmcp-setup\u002Fprompt-burning-money.png",[14,665,666],{},"The kind of waste you don't catch until month-end reporting. Kill these, or fix the landing page.",[14,668,669],{},[17,670,671],{},"Run a full health check:",[256,673,675],{"className":513,"code":674,"language":515,"meta":67,"style":67},"Quick audit: any active campaigns with zero impressions this week,\nad sets with frequency above 4, disapproved ads, and total account\nspend vs. yesterday.\n",[22,676,677,682,687],{"__ignoreMap":67},[264,678,679],{"class":266,"line":267},[264,680,681],{},"Quick audit: any active campaigns with zero impressions this week,\n",[264,683,684],{"class":266,"line":525},[264,685,686],{},"ad sets with frequency above 4, disapproved ads, and total account\n",[264,688,689],{"class":266,"line":531},[264,690,691],{},"spend vs. yesterday.\n",[14,693,694,695,699],{},"Four checks across separate Ads Manager screens, one prompt. Use the ",[27,696,698],{"href":697},"\u002Ftools\u002Fads-profit-calculator","ads profit calculator"," to check if your spend-to-conversion ratio actually makes money.",[14,701,702],{},"Every prompt above is a read-only operation. The MCP handles reads well. The moment you ask it to create, edit, or pause something, every action hits your live account.",[498,704,706],{"id":705},"all-29-tools","All 29 Tools",[708,709,710,714,1064],"details",{},[711,712,713],"summary",{},"View the full tool reference table (as of May 2026)",[715,716,717,733],"table",{},[718,719,720],"thead",{},[721,722,723,727,730],"tr",{},[724,725,726],"th",{},"Category",[724,728,729],{},"Tool",[724,731,732],{},"What It Does",[734,735,736,750,760,770,780,790,803,813,823,833,843,853,863,873,883,893,905,915,925,942,952,967,977,1004,1014,1024,1034,1044,1054],"tbody",{},[721,737,738,744,747],{},[739,740,741],"td",{},[17,742,743],{},"Campaign",[739,745,746],{},"create_campaign",[739,748,749],{},"Create a new campaign with objective, budget, schedule",[721,751,752,754,757],{},[739,753],{},[739,755,756],{},"create_ad_set",[739,758,759],{},"Create an ad set with targeting, placement, optimization",[721,761,762,764,767],{},[739,763],{},[739,765,766],{},"create_ad",[739,768,769],{},"Create an ad with creative, copy, CTA",[721,771,772,774,777],{},[739,773],{},[739,775,776],{},"edit_campaign",[739,778,779],{},"Modify an existing campaign's settings",[721,781,782,784,787],{},[739,783],{},[739,785,786],{},"manage_campaign_status",[739,788,789],{},"Pause, activate, or archive campaigns",[721,791,792,797,800],{},[739,793,794],{},[17,795,796],{},"Catalog",[739,798,799],{},"create_catalog",[739,801,802],{},"Create a new product catalog",[721,804,805,807,810],{},[739,806],{},[739,808,809],{},"add_products",[739,811,812],{},"Add products to a catalog",[721,814,815,817,820],{},[739,816],{},[739,818,819],{},"update_products",[739,821,822],{},"Update existing product information",[721,824,825,827,830],{},[739,826],{},[739,828,829],{},"delete_products",[739,831,832],{},"Remove products from a catalog",[721,834,835,837,840],{},[739,836],{},[739,838,839],{},"get_catalog_issues",[739,841,842],{},"Check for feed errors and warnings",[721,844,845,847,850],{},[739,846],{},[739,848,849],{},"get_product_sets",[739,851,852],{},"List product sets and their filters",[721,854,855,857,860],{},[739,856],{},[739,858,859],{},"create_product_set",[739,861,862],{},"Create filtered product groups",[721,864,865,867,870],{},[739,866],{},[739,868,869],{},"update_product_set",[739,871,872],{},"Modify product set filters",[721,874,875,877,880],{},[739,876],{},[739,878,879],{},"get_catalog_permissions",[739,881,882],{},"Check who has access",[721,884,885,887,890],{},[739,886],{},[739,888,889],{},"manage_catalog_permissions",[739,891,892],{},"Grant or revoke catalog access",[721,894,895,899,902],{},[739,896,897],{},[17,898,473],{},[739,900,901],{},"get_ad_accounts",[739,903,904],{},"List all ad accounts you can access",[721,906,907,909,912],{},[739,908],{},[739,910,911],{},"get_pages",[739,913,914],{},"List connected Facebook pages",[721,916,917,919,922],{},[739,918],{},[739,920,921],{},"get_business_assets",[739,923,924],{},"List business portfolio assets",[721,926,927,931,934],{},[739,928,929],{},[17,930,477],{},[739,932,933],{},"get_pixel_health",[739,935,936,937,941],{},"Check ",[27,938,940],{"href":939},"\u002Fresources\u002Fhow-to-install-meta-pixel","Meta Pixel"," event quality",[721,943,944,946,949],{},[739,945],{},[739,947,948],{},"get_event_match_quality",[739,950,951],{},"View event match quality scores",[721,953,954,956,959],{},[739,955],{},[739,957,958],{},"get_capi_diagnostics",[739,960,936,961,966],{},[27,962,965],{"href":963,"rel":964},"https:\u002F\u002Fdevelopers.facebook.com\u002Fdocs\u002Fmarketing-api\u002Fconversions-api\u002F",[39],"Conversions API"," setup",[721,968,969,971,974],{},[739,970],{},[739,972,973],{},"get_dataset_issues",[739,975,976],{},"Surface tracking problems",[721,978,979,983,986],{},[739,980,981],{},[17,982,481],{},[739,984,985],{},"get_campaign_insights",[739,987,988,989,311,991,311,995,311,999,1003],{},"Pull ",[27,990,632],{"href":631},[27,992,994],{"href":993},"\u002Fglossary\u002Fcpc","CPC",[27,996,998],{"href":997},"\u002Fglossary\u002Fctr","CTR",[27,1000,1002],{"href":1001},"\u002Fglossary\u002Fcpm","CPM"," at campaign level",[721,1005,1006,1008,1011],{},[739,1007],{},[739,1009,1010],{},"get_adset_insights",[739,1012,1013],{},"Pull metrics at ad set level",[721,1015,1016,1018,1021],{},[739,1017],{},[739,1019,1020],{},"get_ad_insights",[739,1022,1023],{},"Pull metrics at individual ad level",[721,1025,1026,1028,1031],{},[739,1027],{},[739,1029,1030],{},"get_account_insights",[739,1032,1033],{},"Pull account-wide metrics",[721,1035,1036,1038,1041],{},[739,1037],{},[739,1039,1040],{},"get_audience_insights",[739,1042,1043],{},"Analyze audience performance",[721,1045,1046,1048,1051],{},[739,1047],{},[739,1049,1050],{},"compare_campaigns",[739,1052,1053],{},"Side-by-side campaign comparison",[721,1055,1056,1058,1061],{},[739,1057],{},[739,1059,1060],{},"get_breakdown",[739,1062,1063],{},"Break down metrics by age, gender, placement, etc.",[14,1065,1066,1067,1072,1073,1078],{},"Tool names and capabilities may change during beta. See Meta's official ",[27,1068,1071],{"href":1069,"rel":1070},"https:\u002F\u002Fwww.facebook.com\u002Fbusiness\u002Fhelp\u002F1456422242197840",[39],"AI Connectors help page"," and ",[27,1074,1077],{"href":1075,"rel":1076},"https:\u002F\u002Fdevelopers.facebook.com\u002Fdocs\u002Fmarketing-api\u002F",[39],"Marketing API documentation"," for the latest reference.",[43,1080,1082],{"id":1081},"before-you-trust-it","Before You Trust It...",[14,1084,1085],{},"Good news: Reads work well.\nBad news: Writes have no safety net: every action hits your live account immediately.",[498,1087,1089],{"id":1088},"ai-agents-make-mistakes","AI Agents Make Mistakes",[14,1091,1092,1093,1098],{},"AI agents hallucinate, misinterpret prompts, and take actions you didn't ask for, and are notoriously unreliable: ",[27,1094,1097],{"href":1095,"rel":1096},"https:\u002F\u002Fnypost.com\u002F2026\u002F05\u002F02\u002Ftech\u002Fai-agent-goes-rogue-deletes-companys-entire-database\u002F",[39],"In May 2026, one deleted a company's entire database"," because it misunderstood the task.",[14,1100,1101],{},[90,1102],{"alt":1103,"src":1104},"Tweet from @lifeof_jer: \"An AI Agent Just Destroyed Our Production Data. It Confessed in Writing.\" with 7.1M views","\u002Fimages\u002Fblog\u002Fmcp-setup\u002Fai-agent-destroyed-data.png",[14,1106,1107],{},"With Meta's MCP, every write action goes straight to your live account. If the AI changes a daily budget from $100 to $10,000, it's done.",[14,1109,1110],{},"Meta does pause all MCP-created campaigns as a safety measure, but edits to existing campaigns go live immediately, there is no \"draft\" like you normally have in the ads manager.",[14,1112,1113],{},"So if the AI's judgement was wrong, your account can get messy and your CPA increase without you noticing.",[14,1115,1116,1117,1121],{},"Tools like ",[27,1118,1120],{"href":1119},"\u002Ffeatures\u002Fads-mcp\u002F","AdKit"," solve this with a draft layer: the AI proposes changes, you review them in a dashboard, nothing goes live until you approve.",[14,1123,1124],{},[90,1125],{"alt":1126,"src":1127},"AdKit Agent Drafts screen showing pending campaign changes with approve and reject controls","\u002Fimages\u002Fblog\u002Fmcp-setup\u002Fadkit-draft-review.png",[498,1129,1131],{"id":1130},"the-more-you-use-it-the-worse-it-gets","The more you use it, the Worse It Gets",[14,1133,1134],{},"I asked Claude to audit my ad account using Meta Ads MCP. One question used 27% of the AI's working memory (often called \"context window\").",[14,1136,1137],{},[90,1138],{"alt":1139,"src":1140},"After a single \"audit my account\" prompt, 27% of the AI's working memory is already used","\u002Fimages\u002Fblog\u002Fmcp-setup\u002Ftoken-overhead.png",[14,1142,1143,1144,244],{},"Meta dumps everything into every response: settings, raw API fields, stuff you didn't ask for. A few more questions and you're past 50% working memory and ",[27,1145,1148],{"href":1146,"rel":1147},"https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.05167",[39],"AI becomes exponentially dumber",[14,1150,1151],{},"It's usually not a big deal, but the problem is that it has write access to your ad account, with no guardrails.",[14,1153,1154,1157],{},[27,1155,1156],{"href":1119},"AdKit's MCP"," filters out the noise: 6 tools instead of 29, only the data the AI needs.",[11,1159,1160],{},[14,1161,1162,1165],{},[17,1163,1164],{},"Tip:"," On Claude, toggle the connector off in Settings > Connectors between sessions. Auth persists, reconnects instantly.",[498,1167,1169],{"id":1168},"meta-only","Meta Only",[14,1171,1172],{},"The MCP covers Meta (Facebook and Instagram) ads. No Google Ads, no LinkedIn, no TikTok.",[14,1174,1175,1176,1178],{},"If you run ads across multiple platforms, you need separate tools for each. Google has an official Ads MCP, but it's read-only: no campaign creation or edits. ",[27,1177,1156],{"href":1119}," covers both Meta and Google Ads in one connection with 6 tools instead of 29, keeping context lean enough that your agent stays sharp.",[498,1180,1182],{"id":1181},"still-in-beta","Still in Beta",[14,1184,1185],{},"The MCP launched April 29, 2026. It's an open beta. Tools will change, things will break.",[14,1187,1188,1189,1194],{},"Rate limits sit at roughly 200 calls per hour per ad account, in line with Meta's ",[27,1190,1193],{"href":1191,"rel":1192},"https:\u002F\u002Fdevelopers.facebook.com\u002Fdocs\u002Fmarketing-api\u002Foverview\u002Fauthorization#limits",[39],"Marketing API rate limiting policy",". Heavy analysis on large accounts hits that fast.",[14,1196,1197,1198,1200,1201,244],{},"Not every account is enabled yet. Meta is rolling out access gradually, US and higher-spend accounts first. See ",[27,1199,420],{"href":451}," if yours shows ",[22,1202,447],{},[43,1204,1205],{"id":420},"Troubleshooting",[708,1207,1208,1211,1217,1220],{},[711,1209,1210],{},"\"is_ads_mcp_enabled: false\"",[14,1212,1213,1214,1216],{},"The most common issue right now. You authenticate fine, see your accounts listed, but some return ",[22,1215,447],{}," and the AI can't access their data.",[14,1218,1219],{},"Meta is enabling MCP access account-by-account. US accounts go first, higher-spend accounts are prioritized, and some regions (ANZ, parts of EU) are still waiting. There's no fix and no way to request early access.",[14,1221,1222,1223,1227],{},"You can use an external MCP in the meantime, like ",[27,1224,1226],{"href":1225},"\u002Ffeatures\u002Fads-mcp\u002Fmeta","Adkit's Meta MCP"," .",[708,1229,1230,1233],{},[711,1231,1232],{},"Free Plan Can't Add MCP",[14,1234,1235],{},"The \"Add custom connector\" option doesn't appear on free plans. You need Claude Pro or Max ($20+\u002Fmo), ChatGPT Plus, or another paid AI client with MCP support. This is a limitation of the AI tools, not Meta's server.",[708,1237,1238,1241,1244],{},[711,1239,1240],{},"\"Insufficient Permissions\" (Error 200)",[14,1242,1243],{},"Your token is missing one of the required scopes. This can happen if the OAuth flow was interrupted or if Meta changed the permission grant screen.",[14,1245,1246,1247,1252,1253,244],{},"Fix: disconnect the MCP, reconnect, and complete the full OAuth flow again. You can verify your token's scopes with Meta's ",[27,1248,1251],{"href":1249,"rel":1250},"https:\u002F\u002Fdevelopers.facebook.com\u002Ftools\u002Fdebug\u002Faccesstoken\u002F",[39],"Access Token Debugger",". For a full list of error codes related to permissions, see the ",[27,1254,1257],{"href":1255,"rel":1256},"https:\u002F\u002Fdevelopers.facebook.com\u002Fdocs\u002Fmarketing-api\u002Ferror-reference\u002F",[39],"Marketing API error reference",[708,1259,1260,1263,1266],{},[711,1261,1262],{},"Rate Limit Exceeded (Error 4 \u002F 429)",[14,1264,1265],{},"Meta throttles at roughly 200 API calls per hour per ad account. AI agents that fire multiple parallel queries hit this fast, especially on accounts with many campaigns.",[14,1267,1268,1269,1272,1273,1277],{},"Fix: ask for smaller date ranges, fewer metrics per query, and avoid requesting everything at once. For custom tooling, check the ",[22,1270,1271],{},"x-fb-ads-insights-throttle"," response header. Meta's ",[27,1274,1276],{"href":1191,"rel":1275},[39],"rate limiting documentation"," explains the throttle tiers in detail.",[708,1279,1280,1283,1290],{},[711,1281,1282],{},"Local File Uploads Fail",[14,1284,1285,1286,1289],{},"The MCP needs publicly accessible URLs for images and videos. Local file paths (",[22,1287,1288],{},"\u002FUsers\u002Fyou\u002Fcreative.jpg","), private Google Drive links, and localhost URLs won't work.",[14,1291,1292],{},"Fix: upload creatives to a CDN or any public URL first, then reference that URL in your prompt.",[708,1294,1295,1298,1304],{},[711,1296,1297],{},"AI-Created Campaigns Are Always PAUSED",[14,1299,1300,1301,244],{},"Not a bug. Meta forces all campaigns, ad sets, and ads created through the MCP to start paused. You activate them manually in ",[27,1302,548],{"href":546,"rel":1303},[39],[14,1305,1306],{},"This is a safety feature. It prevents the \"AI accidentally launched a $10,000\u002Fday campaign\" scenario.",[708,1308,1309,1312,1319],{},[711,1310,1311],{},"Answers Getting Worse Over a Session",[14,1313,1314,1315,244],{},"Meta's MCP sends unfiltered API data with every response. After several questions, ",[27,1316,1318],{"href":1146,"rel":1317},[39],"AI performance can drop by half",[14,1320,1321],{},"Fix: disconnect the MCP between sessions. On Claude, toggle it off in Settings > Connectors. Auth persists.",[708,1323,1324,1327,1335,1338],{},[711,1325,1326],{},"OAuth Redirect Error in Claude Code",[256,1328,1333],{"className":1329,"code":1331,"language":1332},[1330],"language-text","redirect_uris are not registered for this client\n","text",[22,1334,1331],{"__ignoreMap":67},[14,1336,1337],{},"Happens specifically in Claude Code (the terminal\u002FCLI version). Meta's OAuth doesn't have Claude Code's localhost callback URLs registered. Multiple GitHub issues filed and closed, no fix.",[14,1339,1340],{},"Workaround: use Claude.ai (the web version) instead of Claude Code for Meta Ads MCP.",[708,1342,1343,1346,1353,1362],{},[711,1344,1345],{},"\"Terms of Service Not Accepted\" (Error 100 \u002F 1815089)",[14,1347,1348,1349,1352],{},"A cryptic ",[22,1350,1351],{},"VALIDATION"," error when creating lead generation campaigns. Meta requires separate acceptance of the Lead Ads Terms of Service.",[14,1354,1355,1356,1361],{},"Fix: go to ",[27,1357,1360],{"href":1358,"rel":1359},"https:\u002F\u002Fwww.facebook.com\u002Flegal\u002Fleadgen\u002Ftos\u002F",[39],"facebook.com\u002Flegal\u002Fleadgen\u002Ftos",", accept the TOS, then try again. Similar TOS gates may exist for custom audiences and other ad types.",[14,1363,1364,1365,244],{},"Known bug: some accounts still get this error after accepting the TOS. Meta support has confirmed it can be an internal issue on their end. If accepting the TOS doesn't fix it, ",[27,1366,1369],{"href":1367,"rel":1368},"https:\u002F\u002Fwww.facebook.com\u002Fbusiness\u002Fhelp",[39],"contact Meta Business support",[708,1371,1372,1375,1378],{},[711,1373,1374],{},"Token Expired \u002F Silent Failures",[14,1376,1377],{},"Access tokens last roughly 60 days and don't auto-refresh in all clients. You'll be working normally, then tools start returning empty results or generic errors with no warning.",[14,1379,1380],{},"Fix: disconnect and reconnect the MCP to get a fresh token. Set yourself a reminder for 50 days.",[43,1382,1384],{"id":1383},"final-thoughts","Final Thoughts",[14,1386,1387,1388,1390],{},"Start with read-only prompts: creative fatigue checks, placement breakdowns, pixel health. Keep write operations in Ads Manager for now, or use ",[27,1389,1120],{"href":1119}," to add a review layer before anything goes live.",[14,1392,1393,1394,1398],{},"If you also run Google Ads, check our ",[27,1395,1397],{"href":1396},"\u002Fresources\u002Fgoogle-ads-mcp","Google Ads MCP guide"," for a similar setup walkthrough.",[14,1400,1401,1402,323,1407,244],{},"Got questions about the setup? Ping me on ",[27,1403,1406],{"href":1404,"rel":1405},"https:\u002F\u002Fx.com\u002Fnico_jeannen",[39],"X",[27,1408,1411],{"href":1409,"rel":1410},"https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fnico-jeannen\u002F",[39],"LinkedIn",[1413,1414,1415],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}",{"title":67,"searchDepth":525,"depth":525,"links":1417},[1418,1419,1420,1421,1425,1431,1432],{"id":45,"depth":525,"text":46},{"id":344,"depth":525,"text":345},{"id":423,"depth":525,"text":424},{"id":458,"depth":525,"text":459,"children":1422},[1423,1424],{"id":500,"depth":531,"text":501},{"id":705,"depth":531,"text":706},{"id":1081,"depth":525,"text":1082,"children":1426},[1427,1428,1429,1430],{"id":1088,"depth":531,"text":1089},{"id":1130,"depth":531,"text":1131},{"id":1168,"depth":531,"text":1169},{"id":1181,"depth":531,"text":1182},{"id":420,"depth":525,"text":1205},{"id":1383,"depth":525,"text":1384},null,"guides",false,"2026-05-08","Set up Meta's official Ads MCP in ~15 minutes. Free, no API keys, works with Claude, ChatGPT, and Cursor. Step-by-step with screenshots.","md",[1440,1443,1446,1449,1452,1455,1458,1461],{"question":1441,"answer":1442},"Is Meta Ads MCP free?","Yes, completely free. Meta provides the official MCP server at no cost. You do need a paid AI tool (Claude Pro at $20\u002Fmo, ChatGPT Plus, etc.) since free tiers don't support MCP connectors. But the server itself is free.",{"question":1444,"answer":1445},"Will using Meta Ads MCP get my account banned?","No. This is Meta's own official server, authorized and maintained by Meta. Unofficial third-party MCPs from 2025 caused account bans because they violated Meta's Terms of Service. The official MCP launched in April 2026 is fully sanctioned.",{"question":1447,"answer":1448},"Does Meta Ads MCP work with ChatGPT?","Yes. It works with any MCP-compatible AI client: Claude, ChatGPT, Cursor, Perplexity, and others. The setup process is nearly identical across all of them.",{"question":1450,"answer":1451},"Can Meta Ads MCP change my campaigns?","Yes. It has full read and write access. It can create campaigns, edit budgets, pause ads, and modify targeting. Every change hits your live account immediately. There is no draft mode or undo button.",{"question":1453,"answer":1454},"What's the difference between Meta Ads MCP and Meta Ads AI Connectors?","Same thing, different name. 'AI Connectors' is Meta's official branding. 'MCP' (Model Context Protocol) is the underlying technical standard. Most people search for 'Meta Ads MCP' so that's what this guide uses.",{"question":1456,"answer":1457},"Do I need a Meta Developer account?","No. The official MCP uses standard OAuth authentication. No developer account, no API tokens, no app registration. Those were only required for third-party MCP servers.",{"question":1459,"answer":1460},"How many ad accounts can I connect?","All ad accounts within your Business Manager portfolio. During the OAuth flow, you select which business portfolio to connect, and the MCP gets access to every ad account in that portfolio.",{"question":1462,"answer":1463},"Is my data safe?","Your data goes through Meta's own servers, not a third party. The MCP uses standard Meta OAuth with the same permissions model as any official Meta integration. You can revoke access anytime from Business Manager settings.",{},true,"29 tools. Free. No API keys.","\u002Fresources\u002Fmeta-ads-mcp-setup",{"title":6,"description":1437},"resources\u002Fmeta-ads-mcp-setup",[1471,1472,1473,1474,1475,1476],"meta ads","facebook ads","mcp","ai agents","automation","tutorial","2026-05-09","5H-nr90_BzJPXqIn_5WAUBN_hMvsZk52AYWo7xyBKU8",1778311687656]