{"id":79695,"date":"2026-10-31T13:19:06","date_gmt":"2026-10-31T13:19:06","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=79695"},"modified":"2026-10-31T13:19:09","modified_gmt":"2026-10-31T13:19:09","slug":"how-to-integrate-meta-facebook-instagram-ads-with-claude-ai-using-mcp-a-complete-step-by-step-guide","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/how-to-integrate-meta-facebook-instagram-ads-with-claude-ai-using-mcp-a-complete-step-by-step-guide\/","title":{"rendered":"How to Integrate Meta (Facebook &#038; Instagram) Ads with Claude AI Using MCP: A Complete Step-by-Step Guide"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Updated: October 31, 2026 | Beginner to Intermediate | Technical Tutorial<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SEO Title: Meta Ads Integration with Claude AI Using MCP<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Meta Description: Learn how to connect Meta Facebook and Instagram Ads to Claude AI using MCP. Follow setup steps for Claude Web, Desktop, and Code with practical examples.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">URL Slug: <code>meta-ads-integration-with-claude-ai-mcp<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Primary Keyword: Meta Ads Integration with Claude<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Introduction<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Imagine managing your Facebook and Instagram advertising campaigns simply by having a conversation with an AI assistant.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead of opening Meta Ads Manager, navigating different dashboards, applying filters, exporting campaign data, and calculating advertising performance manually, you could ask:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Show me all my Facebook and Instagram advertising campaigns from the last 30 days. Compare spending, clicks, cost per lead, and return on advertising spend. Identify which campaigns need attention.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Claude AI can retrieve the relevant advertising information through a connected tool, organize the results, analyze performance, and explain potential improvements in understandable language.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is possible through Meta Ads AI Connectors, powered by the Model Context Protocol (MCP).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On April 29, 2026, Meta introduced Ads AI Connectors in open beta, allowing eligible advertisers to connect their advertising accounts to external AI agents. Meta subsequently expanded the integration with developer-app support and account-level controls. Digiday+2<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Official Meta Ads MCP endpoint<\/p>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/mcp.facebook.com\/ads Copy\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This is Meta&#8217;s hosted remote MCP endpoint, not a third-party MCP server. Independent endpoint monitoring also reported it reachable on October 31, 2026. MartechDB+1<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What you will learn<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">By completing this tutorial, you will understand how to prepare your Meta advertising account, connect it to Claude Web or Claude Desktop, configure the connection in Claude Code, complete authentication, retrieve campaign information, calculate performance metrics, troubleshoot common failures, and introduce safeguards before allowing AI to modify live campaigns.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We will also explore practical marketing workflows, including advertising performance reports, budget analysis, creative comparisons, and campaign optimization.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Important: Meta Ads MCP remained a beta integration in the sources reviewed for this guide. The tools and permissions available to you can depend on your Meta account, business portfolio, organization policies, and the MCP client&#8217;s capabilities. A successful connection does not guarantee that every advertised operation is available.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Understanding the Technologies<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Before configuring anything, let&#8217;s understand the three important technologies involved.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.1 What is Meta Ads?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Meta Ads Manager is Meta&#8217;s advertising management platform for creating, running, measuring, and optimizing paid advertising campaigns across Facebook, Instagram, and other eligible Meta placements.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Its basic advertising structure has three levels:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Level<\/th><th>What it controls<\/th><th>Example<\/th><\/tr><tr><td>Campaign<\/td><td>Main advertising objective<\/td><td>Generate leads<\/td><\/tr><tr><td>Ad set<\/td><td>Audience, schedule, placement, budget configuration<\/td><td>Target professionals in India<\/td><\/tr><tr><td>Ad<\/td><td>Actual creative and message<\/td><td>Instagram Reel promoting a free demo<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A business might run several campaigns simultaneously, making it difficult to compare advertising results manually.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.2 What is Claude AI?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Claude is an AI assistant developed by Anthropic. It can understand natural-language instructions, analyze information, write reports, and use external tools through supported integrations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this tutorial, Claude acts as the intelligent interface for your Meta advertising data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It does not automatically know your campaign performance. It must first receive authorized access to the relevant information through a connector.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.3 What is Model Context Protocol (MCP)?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">MCP is an open protocol that standardizes communication between AI applications and external tools or data sources.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Think of it as a common connection method that lets AI applications communicate with business systems without requiring a completely different integration architecture for every service.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There are three basic components:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Component<\/th><th>Responsibility<\/th><\/tr><tr><td>MCP Host<\/td><td>Runs the AI experience, such as Claude<\/td><\/tr><tr><td>MCP Client<\/td><td>Manages communication with an MCP server<\/td><\/tr><tr><td>MCP Server<\/td><td>Exposes external data and operations as tools<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The protocol allows an assistant to discover which tools a server provides and invoke them using structured requests.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anthropic documents MCP as an open standard for connecting AI applications with tools and information sources. Anthropic<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.4 Why did Meta introduce an MCP server?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Traditionally, accessing advertising information programmatically required working with the Meta Marketing API, authentication tokens, permissions, API endpoints, and custom application code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Meta&#8217;s official Ads MCP server offers another approach: supported AI applications connect to a Meta-hosted server, and authorized users ask questions in natural language.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The main advantages include faster reporting, less manual data exporting, natural-language investigation of advertising problems, and a simpler way to initiate supported campaign-management operations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Importantly, Meta Ads MCP complements the Marketing API; it does not replace every Marketing API feature.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Prerequisites<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">3.1 Requirements checklist<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Before you begin<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">0 of 8 ready<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Facebook account<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A personal Facebook login authorized to access the business<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Meta business portfolio<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A business portfolio containing or granting access to the advertising account<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Meta Ads account<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An advertising account you can inspect in Ads Manager<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Account permissions<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Appropriate access for reporting; additional permissions for management operations<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Claude account<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A supported account with custom connector availability<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Internet access<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Connectivity for Claude, Meta authentication, and the remote MCP server<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eligible Ads MCP access<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Meta must enable the integration for the relevant advertising account<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Approval policy<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Decide whether Claude can only read data or may propose account changes<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.2 Claude subscription requirements<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">As of the documentation reviewed on October 31, 2026, Anthropic supports remote custom MCP connectors on Free, Pro, Max, Ultra, Team, and Enterprise plans.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, Free users are limited to one custom connector, and Claude Code is not available through the Free plan.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Claude product<\/th><th>Requirements<\/th><\/tr><tr><td>Claude Web<\/td><td>Free or supported paid plan; one custom connector on Free<\/td><\/tr><tr><td>Claude Desktop<\/td><td>Free or supported paid plan for chat and remote connectors<\/td><\/tr><tr><td>Claude Code<\/td><td>Pro, Max, Ultra, Team, Enterprise, or supported API\/provider access<\/td><\/tr><tr><td>Team<\/td><td>Organization Owner or Primary Owner must add custom connectors<\/td><\/tr><tr><td>Enterprise<\/td><td>Authorized administrator or appropriately privileged custom role must add connectors<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">These distinctions are documented by Anthropic. Claude Help Center+2<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.3 Choose your integration method<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/images.openai.com\/static-rsc-4\/1WeDIP-yZcHm2mHfK4nTt-Fz-l2T08zSyXd6_hnURMf47TclYSNw1iS8G09UVkTFoS9A8wSnvp64JIjsMucNRNQgNVvbEJRWP-0ZOxmqbTXSy-pZ7ux1y1FID3yKVYXD10zPYqME2whtqfzPIaVWLChYvHGCpKdkv_LCPjv_AKM?purpose=inline\">File:Claude-ai-icon.svg &#8211; Wikimedia Commons<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Method 1: Claude Web<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Best for beginners, digital marketers, and business owners. No software installation is required.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/images.openai.com\/static-rsc-4\/gP8RbHvbsRvARib2n-eWQRrWnPNt1FyQ37oBSlteaX23a2SKTr-csH1wRBTl715kmx7JTPOZ07lLbqHL3n3VBjQ0GbG8fEQeWwoMCJM4yDAPjeWVmWRnGekxMnZdFWYxVdL6IATPdyTOhJlaOe9hxKciD5NT1FIg_TD1Ew2dBro?purpose=inline\">Claude<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Method 2: Claude Desktop<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Best for professionals who prefer a dedicated desktop application for daily marketing analysis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/images.openai.com\/static-rsc-4\/93Fgb7BsPJvrIp59xXINQT1IKIEAeDLtVmu3KF5Yz9ZEU-c1TKLCZp0nxdZyNnQinU-J96-KiBDQihN6G4obHOCTNlIOLtqymbV4eUVMNbyISlAH7ijtOtzCRwOCbUvpUS5K7CImD9ADiy8kgNUy8jm4pX6zD6QXbQmDF19O9wU?purpose=inline\">Claude Code Auto Mode Pricing, Availability<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Method 3: Claude Code<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Best for developers and technically experienced marketers who work in a terminal.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Meta Ads MCP Architecture<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The following diagram illustrates the main connection and authorization components.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">#chatgpt-mermaid-_r_jc_{font-family:-apple-system-body,ui-sans-serif,-apple-system,system-ui,&#8221;Segoe UI&#8221;,Helvetica,&#8221;Apple Color Emoji&#8221;,Arial,sans-serif,&#8221;Segoe UI Emoji&#8221;,&#8221;Segoe UI Symbol&#8221;;font-size:16px;fill:rgb(13, 13, 13);}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#chatgpt-mermaid-_r_jc_ .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#chatgpt-mermaid-_r_jc_ .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#chatgpt-mermaid-_r_jc_ .error-icon{fill:rgb(243, 243, 243);}#chatgpt-mermaid-_r_jc_ .error-text{fill:rgb(13, 13, 13);stroke:rgb(13, 13, 13);}#chatgpt-mermaid-_r_jc_ .edge-thickness-normal{stroke-width:1px;}#chatgpt-mermaid-_r_jc_ .edge-thickness-thick{stroke-width:3.5px;}#chatgpt-mermaid-_r_jc_ .edge-pattern-solid{stroke-dasharray:0;}#chatgpt-mermaid-_r_jc_ .edge-thickness-invisible{stroke-width:0;fill:none;}#chatgpt-mermaid-_r_jc_ .edge-pattern-dashed{stroke-dasharray:3;}#chatgpt-mermaid-_r_jc_ .edge-pattern-dotted{stroke-dasharray:2;}#chatgpt-mermaid-_r_jc_ .marker{fill:rgb(143, 143, 143);stroke:rgb(143, 143, 143);}#chatgpt-mermaid-_r_jc_ .marker.cross{stroke:rgb(143, 143, 143);}#chatgpt-mermaid-_r_jc_ svg{font-family:-apple-system-body,ui-sans-serif,-apple-system,system-ui,&#8221;Segoe UI&#8221;,Helvetica,&#8221;Apple Color Emoji&#8221;,Arial,sans-serif,&#8221;Segoe UI Emoji&#8221;,&#8221;Segoe UI Symbol&#8221;;font-size:16px;}#chatgpt-mermaid-_r_jc_ p{margin:0;}#chatgpt-mermaid-_r_jc_ .label{font-family:-apple-system-body,ui-sans-serif,-apple-system,system-ui,&#8221;Segoe UI&#8221;,Helvetica,&#8221;Apple Color Emoji&#8221;,Arial,sans-serif,&#8221;Segoe UI Emoji&#8221;,&#8221;Segoe UI Symbol&#8221;;color:rgb(13, 13, 13);}#chatgpt-mermaid-_r_jc_ .cluster-label text{fill:rgb(13, 13, 13);}#chatgpt-mermaid-_r_jc_ .cluster-label span{color:rgb(13, 13, 13);}#chatgpt-mermaid-_r_jc_ .cluster-label span p{background-color:transparent;}#chatgpt-mermaid-_r_jc_ .label text,#chatgpt-mermaid-_r_jc_ span{fill:rgb(13, 13, 13);color:rgb(13, 13, 13);}#chatgpt-mermaid-_r_jc_ .node rect,#chatgpt-mermaid-_r_jc_ .node circle,#chatgpt-mermaid-_r_jc_ .node ellipse,#chatgpt-mermaid-_r_jc_ .node polygon,#chatgpt-mermaid-_r_jc_ .node path{fill:rgb(222, 234, 251);stroke:rgb(83, 154, 248);stroke-width:1px;}#chatgpt-mermaid-_r_jc_ .rough-node .label text,#chatgpt-mermaid-_r_jc_ .node .label text,#chatgpt-mermaid-_r_jc_ .image-shape .label,#chatgpt-mermaid-_r_jc_ .icon-shape .label{text-anchor:middle;}#chatgpt-mermaid-_r_jc_ .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#chatgpt-mermaid-_r_jc_ .rough-node .label,#chatgpt-mermaid-_r_jc_ .node .label,#chatgpt-mermaid-_r_jc_ .image-shape .label,#chatgpt-mermaid-_r_jc_ .icon-shape .label{text-align:center;}#chatgpt-mermaid-_r_jc_ .node.clickable{cursor:pointer;}#chatgpt-mermaid-_r_jc_ .root .anchor path{fill:rgb(143, 143, 143)!important;stroke-width:0;stroke:rgb(143, 143, 143);}#chatgpt-mermaid-_r_jc_ .arrowheadPath{fill:rgb(143, 143, 143);}#chatgpt-mermaid-_r_jc_ .edgePath .path{stroke:rgb(143, 143, 143);stroke-width:1px;}#chatgpt-mermaid-_r_jc_ .flowchart-link{stroke:rgb(143, 143, 143);fill:none;}#chatgpt-mermaid-_r_jc_ .edgeLabel{background-color:rgb(252, 252, 252);text-align:center;}#chatgpt-mermaid-_r_jc_ .edgeLabel p{background-color:rgb(252, 252, 252);}#chatgpt-mermaid-_r_jc_ .edgeLabel rect{opacity:0.5;background-color:rgb(252, 252, 252);fill:rgb(252, 252, 252);}#chatgpt-mermaid-_r_jc_ .labelBkg{background-color:rgba(252, 252, 252, 0.5);}#chatgpt-mermaid-_r_jc_ .cluster rect{fill:rgb(243, 243, 243);stroke:rgba(0, 0, 0, 0.1);stroke-width:1px;}#chatgpt-mermaid-_r_jc_ .cluster text{fill:rgb(13, 13, 13);}#chatgpt-mermaid-_r_jc_ .cluster span{color:rgb(13, 13, 13);}#chatgpt-mermaid-_r_jc_ div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:-apple-system-body,ui-sans-serif,-apple-system,system-ui,&#8221;Segoe UI&#8221;,Helvetica,&#8221;Apple Color Emoji&#8221;,Arial,sans-serif,&#8221;Segoe UI Emoji&#8221;,&#8221;Segoe UI Symbol&#8221;;font-size:12px;background:rgb(243, 243, 243);border:1px solid rgba(0, 0, 0, 0.1);border-radius:2px;pointer-events:none;z-index:100;}#chatgpt-mermaid-_r_jc_ .flowchartTitleText{text-anchor:middle;font-size:18px;fill:rgb(13, 13, 13);}#chatgpt-mermaid-_r_jc_ rect.text{fill:none;stroke-width:0;}#chatgpt-mermaid-_r_jc_ .icon-shape,#chatgpt-mermaid-_r_jc_ .image-shape{background-color:rgb(252, 252, 252);text-align:center;}#chatgpt-mermaid-_r_jc_ .icon-shape p,#chatgpt-mermaid-_r_jc_ .image-shape p{background-color:rgb(252, 252, 252);padding:2px;}#chatgpt-mermaid-_r_jc_ .icon-shape .label rect,#chatgpt-mermaid-_r_jc_ .image-shape .label rect{opacity:0.5;background-color:rgb(252, 252, 252);fill:rgb(252, 252, 252);}#chatgpt-mermaid-_r_jc_ .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#chatgpt-mermaid-_r_jc_ .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#chatgpt-mermaid-_r_jc_ .node .neo-node{stroke:rgb(83, 154, 248);}#chatgpt-mermaid-_r_jc_ [data-look=&#8221;neo&#8221;].node rect,#chatgpt-mermaid-_r_jc_ [data-look=&#8221;neo&#8221;].cluster rect,#chatgpt-mermaid-_r_jc_ [data-look=&#8221;neo&#8221;].node polygon{stroke:url(#chatgpt-mermaid-_r_jc_-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#chatgpt-mermaid-_r_jc_ [data-look=&#8221;neo&#8221;].swimlane.cluster rect{filter:none;}#chatgpt-mermaid-_r_jc_ [data-look=&#8221;neo&#8221;].node path{stroke:url(#chatgpt-mermaid-_r_jc_-gradient);stroke-width:1px;}#chatgpt-mermaid-_r_jc_ [data-look=&#8221;neo&#8221;].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#chatgpt-mermaid-_r_jc_ [data-look=&#8221;neo&#8221;].node .neo-line path{stroke:rgb(83, 154, 248);filter:none;}#chatgpt-mermaid-_r_jc_ [data-look=&#8221;neo&#8221;].node circle{stroke:url(#chatgpt-mermaid-_r_jc_-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#chatgpt-mermaid-_r_jc_ [data-look=&#8221;neo&#8221;].node circle .state-start{fill:#000000;}#chatgpt-mermaid-_r_jc_ [data-look=&#8221;neo&#8221;].icon-shape .icon{fill:url(#chatgpt-mermaid-_r_jc_-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#chatgpt-mermaid-_r_jc_ [data-look=&#8221;neo&#8221;].icon-shape .icon-neo path{stroke:url(#chatgpt-mermaid-_r_jc_-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#chatgpt-mermaid-_r_jc_ .node text{font-size:14px;font-weight:600;letter-spacing:normal;fill:rgb(0, 79, 153);}#chatgpt-mermaid-_r_jc_ .edgeLabels text{font-size:13px;font-weight:600;letter-spacing:-0.08px;fill:rgb(0, 79, 153);}#chatgpt-mermaid-_r_jc_ .node tspan[font-weight=&#8221;normal&#8221;],#chatgpt-mermaid-_r_jc_ .edgeLabels tspan[font-weight=&#8221;normal&#8221;]{font-weight:600;}#chatgpt-mermaid-_r_jc_ .edgeLabel .label rect{opacity:1;rx:13px;ry:13px;fill:rgb(245, 250, 255);stroke:rgb(206, 219, 229);stroke-width:1px;}#chatgpt-mermaid-_r_jc_ .node rect,#chatgpt-mermaid-_r_jc_ .node circle,#chatgpt-mermaid-_r_jc_ .node ellipse,#chatgpt-mermaid-_r_jc_ .node polygon,#chatgpt-mermaid-_r_jc_ .node path{fill:rgb(229, 243, 255);stroke:rgba(0, 0, 0, 0.1);stroke-width:1px;}#chatgpt-mermaid-_r_jc_ .node rect{rx:16px;ry:16px;}#chatgpt-mermaid-_r_jc_ .mermaid-decision .label-container{fill:rgb(245, 250, 255);stroke:rgb(206, 219, 229);stroke-dasharray:2,2;}#chatgpt-mermaid-_r_jc_ .edgePaths .flowchart-link{stroke:rgb(143, 143, 143);stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;}#chatgpt-mermaid-_r_jc_ .marker{fill:rgb(143, 143, 143);stroke:rgb(143, 143, 143);}#chatgpt-mermaid-_r_jc_ :root{&#8211;mermaid-font-family:-apple-system-body,ui-sans-serif,-apple-system,system-ui,&#8221;Segoe UI&#8221;,Helvetica,&#8221;Apple Color Emoji&#8221;,Arial,sans-serif,&#8221;Segoe UI Emoji&#8221;,&#8221;Segoe UI Symbol&#8221;;}Advertiser \/ Marketing TeamClaude AIMCP ClientMeta Ads MCP ServerMeta Authorization \/ OAuthMeta Advertising Services \/Marketing APIMeta Business PortfolioFacebook &amp; Instagram AdAccountNatural-language requestRemote MCP over HTTPSAuthorized accessAdvertising operationsAccount authorizationReport \/ proposal \/ confirmation<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is a conceptual architecture. Meta owns the hosted MCP endpoint. Its internal routing to advertising services is not fully public, so the diagram does not claim that every MCP tool invokes the Marketing API in the same way.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Request and response lifecycle<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Consider this example request:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Show the advertising spend and leads generated by my active campaigns during the last seven days.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">The process works as follows:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>You submit the request in Claude.<\/li>\n\n\n\n<li>Claude identifies a relevant Meta Ads tool exposed by the MCP server.<\/li>\n\n\n\n<li>The MCP client sends the structured request to Meta&#8217;s remote endpoint.<\/li>\n\n\n\n<li>Meta checks the authorized connection, account access, and applicable restrictions.<\/li>\n\n\n\n<li>The server retrieves the advertising information permitted by the account.<\/li>\n\n\n\n<li>Claude interprets the returned information and prepares a readable report.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">OAuth handles authorization. MCP handles tool discovery and invocation. Claude handles interpretation and presentation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The important distinction is that the advertising figures originate from Meta&#8217;s data, not from Claude inventing campaign results.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. Method One: Integrate Meta Ads with Claude Web<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Recommended for beginners<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This approach requires no coding, Node.js installation, API token copying, or locally hosted server.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Prepare your Meta business account<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Objective: Confirm you can access the advertising account before connecting it to Claude.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open <a href=\"https:\/\/business.facebook.com\/?utm_source=chatgpt.com\">Meta Business Suite<\/a>.<\/li>\n\n\n\n<li>Sign in with your authorized Facebook account.<\/li>\n\n\n\n<li>Choose the correct business portfolio.<\/li>\n\n\n\n<li>Navigate to Settings and locate the advertising accounts associated with your business.<\/li>\n\n\n\n<li>Open Meta Ads Manager and select the desired account.<\/li>\n\n\n\n<li>Verify that you can view campaigns, ad sets, advertisements, and performance reports.<\/li>\n\n\n\n<li>Record the advertising account ID and its currency.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">In some Meta interfaces, the numeric account ID is visible in the account selector or the Ads Manager URL. Programmatic references commonly use the <code>act_<\/code> prefix followed by that numeric ID.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Expected result: The relevant account is visible, and you can read its campaign information.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Common issues: The wrong business portfolio is selected, your Facebook login has insufficient access, or the account is disabled.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Troubleshooting: Ask the portfolio administrator to verify your assigned advertising permissions. Use the account selector to confirm you are checking the intended account.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Review Ads MCP access and restrictions<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Objective: Check whether Meta has enabled Ads MCP and whether account-level controls are available.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Where the feature is visible, go to:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Meta Business Suite \u2192 Settings \u2192 Integrations \u2192 Ads MCP Server<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An August 2026 walkthrough documents this location and describes per-account restrictions for creating campaigns, changing budgets, editing targeting and creative, and changing campaign status. The available interface may differ by account. Jon Loomer Digital<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Before connecting Claude, review which advertising accounts and catalogs are exposed and disable unnecessary modification capabilities.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Expected result: You can inspect any available MCP access and action restrictions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Common issue: The Ads MCP Server option is missing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Troubleshooting: Check your role and account eligibility. Meta&#8217;s gradual rollout means this setting may not yet be available to every advertiser.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Open Claude Web<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Objective: Access the Claude account that will host the connector.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open <a href=\"https:\/\/claude.ai\/?utm_source=chatgpt.com\">Claude Web<\/a>.<\/li>\n\n\n\n<li>Log in with your Claude account.<\/li>\n\n\n\n<li>Open your account settings.<\/li>\n\n\n\n<li>Navigate to Customize \u2192 Connectors.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">You may also access connector management from a conversation using the <code>+<\/code> menu, followed by Connectors and Manage connectors.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Expected result: Claude displays available and previously configured connectors.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Common issue: Connector management is missing or restricted.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Troubleshooting: Confirm you are using a supported account and that your organization&#8217;s administrator permits custom connectors. Claude Help Center<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4: Add Meta Ads as a custom connector<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Objective: Register Meta&#8217;s official remote MCP endpoint.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anthropic&#8217;s current custom connector workflow is:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open Customize \u2192 Connectors.<\/li>\n\n\n\n<li>Click Add or + Add.<\/li>\n\n\n\n<li>Choose Custom \u2192 Web or the equivalent Add custom connector entry.<\/li>\n\n\n\n<li>Enter the connector name and server URL.<\/li>\n\n\n\n<li>Click Continue.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Use this configuration:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Setting<\/th><th>Value<\/th><\/tr><tr><td>Connector name<\/td><td><code>Meta Ads<\/code><\/td><\/tr><tr><td>Remote MCP server URL<\/td><td><code>https:\/\/mcp.facebook.com\/ads<\/code><\/td><\/tr><tr><td>Server type<\/td><td>Remote MCP<\/td><\/tr><tr><td>Transport<\/td><td>HTTP-based MCP<\/td><\/tr><tr><td>Authentication<\/td><td>Meta OAuth sign-in<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Do not enter a random API key or select a local command-based server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Expected result: Claude recognizes the remote server configuration and proceeds to authentication settings.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Common issues: Invalid server URL, connectivity failure, or unsupported connector configuration.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Troubleshooting: Check that you pasted the exact HTTPS endpoint, not a Meta Ads Manager URL. Ensure the server is configured as a remote web connector.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anthropic documents this connector workflow in its official support guide. Claude Help Center<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5: Configure OAuth authentication<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Objective: Allow Claude to connect to Meta without exposing your Facebook password.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Claude&#8217;s current custom connector workflow includes authentication settings. The available controls can include:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Claude setting<\/th><th>Guidance<\/th><\/tr><tr><td>Authentication<\/td><td>Select Sign in now for immediate authorization<\/td><\/tr><tr><td>OAuth client<\/td><td>Start with Use Claude&#8217;s published identity (Recommended)<\/td><\/tr><tr><td>Automatic registration<\/td><td>Use only when supported by the server<\/td><\/tr><tr><td>Own OAuth client<\/td><td>Intended for separately configured applications<\/td><\/tr><tr><td>Request headers<\/td><td>Do not add an invented Meta API key<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Review Claude&#8217;s detected settings and click Continue or Add, as appropriate.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For the normal Meta-hosted MCP connection, you do not need to create your own Meta developer application or manually register a redirect URI.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Creating your own OAuth application is a separate advanced integration scenario. Do not assume that switching OAuth modes will fix a Meta account that has not been enabled for Ads MCP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Expected result: Claude initiates the Meta account authorization process.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Common issues: <code>invalid_client<\/code>, dynamic registration failures, or an OAuth callback mismatch.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Troubleshooting: Use the standard Claude-hosted connector flow first. Do not guess a client ID, secret, or redirect URI. If authorization is rejected, record the exact error and verify Meta&#8217;s supported sign-in method. Claude Help Center+1<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 6: Authorize the correct Meta business assets<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Objective: Grant the minimum access necessary for your marketing workflow.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">During the Meta sign-in process:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Confirm that the destination is an authentic Meta authentication page.<\/li>\n\n\n\n<li>Sign in with the Facebook account authorized for the advertising business.<\/li>\n\n\n\n<li>Review the requested permissions.<\/li>\n\n\n\n<li>If Meta displays a choice of business portfolios, Pages, or Instagram accounts, select only the required assets.<\/li>\n\n\n\n<li>Avoid granting access to all present and future assets unless necessary.<\/li>\n\n\n\n<li>Approve the connection only after reviewing its scope.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Meta&#8217;s authorization interface can expose portfolio, Page, and Instagram asset choices. However, not every account provides fine-grained advertising-account selection directly in the OAuth dialog; use Meta&#8217;s portfolio-level MCP restrictions where available. Jon Loomer Digital<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Expected result: Claude displays Meta Ads as connected.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Common issue: You authenticate successfully but cannot see the desired advertising account.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Troubleshooting: Confirm the Facebook account, business portfolio, account permissions, and Meta&#8217;s MCP rollout status. A successful OAuth flow does not itself prove that account-level MCP access is enabled.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 7: Enable Meta Ads in a Claude conversation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Objective: Make the connected advertising tools available to Claude.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open a new conversation.<\/li>\n\n\n\n<li>Click the <code>+<\/code> button near the chat input.<\/li>\n\n\n\n<li>Open Connectors.<\/li>\n\n\n\n<li>Find Meta Ads.<\/li>\n\n\n\n<li>Enable the connector.<\/li>\n\n\n\n<li>Review the tools and their permissions, particularly those that modify advertising assets.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">For initial testing, disable unnecessary write or delete tools wherever Claude&#8217;s interface permits this. Prefer per-action approval rather than automatically allowing changes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Expected result: Claude can discover authorized Meta Ads tools during the conversation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Common issue: The connector exists in settings but is unavailable in the chat.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Troubleshooting: Confirm it is enabled for that conversation, reload if necessary, and check whether workspace administrators have restricted its tools. Claude Help Center+1<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 8: Verify the integration<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Start with a read-only prompt:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">COPY-AND-PASTE TEST PROMPT<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Using the connected Meta Ads tools, list the advertising accounts I am authorized to access. Show each account&#8217;s name, ID, status, currency, and time zone. Do not create or modify any advertising assets. If access fails, report the exact tool error rather than guessing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Copy prompt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If successful, Claude should return actual account information. A response such as the following is illustrative only:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Advertising account<\/th><th>Currency<\/th><th>Status<\/th><\/tr><tr><td>Example Business Ads<\/td><td>INR<\/td><td>Active<\/td><\/tr><tr><td>Example Test Ads<\/td><td>USD<\/td><td>Active<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">These are fictional examples, not live results.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Expected result: Claude invokes a Meta Ads MCP reporting tool and returns your authorized account information.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Common issue: Claude responds with general instructions instead of actual data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Troubleshooting: Explicitly ask Claude to use the connected Meta Ads tools, inspect the tool invocation, and confirm the connection is authenticated and active.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Verification rule: A successful integration means a real tool invocation produced real authorized account data. Merely seeing the connector listed is not enough.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. Method Two: Integrate Meta Ads with Claude Desktop<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Claude Desktop provides the same general remote connector approach in a dedicated application. You do not need to create a separate locally hosted Meta MCP process.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Download and install Claude Desktop<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Visit the official <a href=\"https:\/\/claude.com\/download?utm_source=chatgpt.com\">Claude download page<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/images.openai.com\/static-rsc-4\/Bq3ea53Gl4-eELgzKdTauqWA9HG9hqVC5zdv2_rfzlM7fruSKT7IIayq9B4zcu_THwsIrG0F63-7wTXcu0iF2Niq7TrZY8hf-pLWEwpFum9JIemPcj7ChRFYna0zfRH4kW1frgSjQn40Tvf0igmQDOPL7mo6qpJiHU9FiE-oa5Y?purpose=inline\">Mac\u306f\u521d\u3081\u3066\u3067\u3059\u304b? &#8211; Apple \u30b5\u30dd\u30fc\u30c8 (\u65e5\u672c)<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">macOS<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Download the macOS application, install it, and launch Claude from Applications.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/images.openai.com\/static-rsc-4\/vZsXeU_F5-2iMw_S0Ksc7vxF-Gpk5kJ1YgAon4wy7Gz_gLbxU6OH2H9tq36vIZazK6mn7cS7C-oPRzfc2xnLYbORmKbnw3AIb-reuaQKeJRTBN33czZnKf3V-QDZH5b8Gu9xWK1v4otCeBY_v1vL0u8UMlkAkY9ZFhCvCDIC6XU?purpose=inline\">Announcing the first Insider Preview for Windows 11 | Windows Insider Blog<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Windows<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Download the Windows installer, complete installation, and launch Claude from the Start menu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anthropic also offers a Linux desktop application in beta, although this tutorial focuses on macOS and Windows. Claude Help Center<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Steps 2\u201310: Configure the remote connector<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Launch Claude Desktop and sign in to your Claude account.<\/li>\n\n\n\n<li>Open Customize \u2192 Connectors.<\/li>\n\n\n\n<li>Check whether Meta Ads has already been configured in Claude Web using the same account.<\/li>\n\n\n\n<li>If it is not present, choose the option to add a custom web connector.<\/li>\n\n\n\n<li>Enter <code>Meta Ads<\/code> as the connector name.<\/li>\n\n\n\n<li>Enter <code>https:\/\/mcp.facebook.com\/ads<\/code> as the remote MCP URL.<\/li>\n\n\n\n<li>Review the detected OAuth authentication settings.<\/li>\n\n\n\n<li>Authenticate through your authorized Meta account and review the requested asset access.<\/li>\n\n\n\n<li>Open a Claude Desktop conversation and enable the Meta Ads connector.<\/li>\n\n\n\n<li>Run the read-only account verification prompt from Method One.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Expected result: Claude Desktop discovers the authorized Meta Ads MCP tools and can retrieve permitted advertising information.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Common errors: The connector does not appear, the authorization has expired, the Meta account is not eligible, or the wrong business account is selected.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Troubleshooting: Check the same connector in Claude Web, verify the active account, reconnect Meta if necessary, and check the organization&#8217;s connector policies.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Should you edit <code>claude_desktop_config.json<\/code>?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Not for the standard remote Meta Ads integration described here.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>claude_desktop_config.json<\/code> belongs to a separate local MCP server configuration mechanism. Anthropic explicitly distinguishes local Desktop MCP servers from remote connectors configured through your Claude account. Claude Help Center<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For Meta&#8217;s hosted server, use the remote connector UI rather than inventing an <code>npx<\/code> package, executable path, or local server command.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">7. Method Three: Integrate Meta Ads with Claude Code<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Claude Code offers a terminal-based approach for developers who want to work with MCP tools while building scripts, analyzing campaign information, or developing marketing workflows.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Install Claude Code<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The current official native installer does not require Node.js.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For macOS, Linux, or Windows Subsystem for Linux:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">curl -fsSL https:<span class=\"hljs-comment\">\/\/claude.ai\/install.sh | bash<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">For Windows PowerShell:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">irm https:<span class=\"hljs-comment\">\/\/claude.ai\/install.ps1 | iex<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Alternatively, on Windows with WinGet:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">winget<\/span> <span class=\"hljs-selector-tag\">install<\/span> <span class=\"hljs-selector-tag\">Anthropic<\/span><span class=\"hljs-selector-class\">.ClaudeCode<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">These are documented Anthropic installation methods. Use only installation commands from its official site. Claude Code Docs<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Verify the installation:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">claude --version\nclaude doctor<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Expected result: Claude Code reports its installed version and passes the relevant setup checks.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Register the Meta Ads MCP server<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Open a terminal and run:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">claude mcp add --transport http meta-ads https:<span class=\"hljs-comment\">\/\/mcp.facebook.com\/ads<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">This command:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Uses <code>claude mcp add<\/code> to register a new MCP server.<\/li>\n\n\n\n<li>Uses <code>--transport http<\/code> for the remote HTTP transport.<\/li>\n\n\n\n<li>Names the server <code>meta-ads<\/code>.<\/li>\n\n\n\n<li>Sets the endpoint to Meta&#8217;s official server.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The command syntax is confirmed by Anthropic&#8217;s Claude Code MCP documentation. Claude Code Docs<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Expected result: Claude Code reports that the MCP server configuration was added.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An important distinction: registering the server does not mean you have successfully authenticated or retrieved advertising data.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Check the configuration<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Run:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">claude mcp <span class=\"hljs-keyword\">list<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Then:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">claude mcp <span class=\"hljs-keyword\">get<\/span> meta-ads<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">These commands inspect configured servers and their connection status.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Possible statuses include:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Status<\/th><th>Meaning<\/th><\/tr><tr><td>Connected<\/td><td>MCP connection established<\/td><\/tr><tr><td>Needs authentication<\/td><td>Sign-in is required<\/td><\/tr><tr><td>Failed to connect<\/td><td>Transport, authentication, or server problem<\/td><\/tr><tr><td>Blocked by policy<\/td><td>Workspace security settings prevent use<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4: Authenticate Meta Ads<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Start Claude Code:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">claude<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Inside the interactive Claude Code session, type:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">\/mcp<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Select the Meta Ads server and initiate authentication if that option is available.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Claude Code normally opens a browser for OAuth authorization. Complete Meta sign-in and approve the requested permissions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can also attempt direct OAuth login from a terminal:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">claude mcp login meta-ads<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Expected result: The server becomes connected, and its authorized tools are available.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5: Address OAuth compatibility problems<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">There is an important practical limitation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Although Claude Code supports OAuth, individual remote servers may require particular OAuth client identities, redirect URIs, or registration mechanisms.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Meta Ads users have reported errors involving unregistered redirect URIs and unsupported client registration when connecting directly from Claude Code. These errors are not necessarily fixed by repeating the same command. AdChat<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Recommended alternative when direct authentication fails:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Configure and authenticate the Meta Ads connector in Claude Web first.<\/li>\n\n\n\n<li>Sign into Claude Code using the same Claude account through a Claude subscription login.<\/li>\n\n\n\n<li>Start Claude Code.<\/li>\n\n\n\n<li>Run <code>\/mcp<\/code>.<\/li>\n\n\n\n<li>Look for the Meta Ads connector imported from claude.ai.<\/li>\n\n\n\n<li>Use the imported connection rather than registering an additional conflicting server.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Anthropic confirms that compatible connectors established through claude.ai can be made available automatically in Claude Code when using the appropriate claude.ai login method. This does not apply in the same way to API-key or third-party provider sessions. Claude Code Docs<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If your directly registered <code>meta-ads<\/code> server conflicts with the imported connector, inspect both entries and remove the unwanted direct configuration:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">claude mcp remove meta-ads<\/code><\/span><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Step 6: Run a basic advertising query<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Inside Claude Code, enter:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-keyword\">Use<\/span> <span class=\"hljs-title\">the<\/span> <span class=\"hljs-title\">authenticated<\/span> <span class=\"hljs-title\">Meta<\/span> <span class=\"hljs-title\">Ads<\/span> <span class=\"hljs-title\">MCP<\/span> <span class=\"hljs-title\">connection<\/span> <span class=\"hljs-title\">to<\/span> <span class=\"hljs-title\">list<\/span>\n<span class=\"hljs-title\">my<\/span> <span class=\"hljs-title\">available<\/span> <span class=\"hljs-title\">advertising<\/span> <span class=\"hljs-title\">accounts<\/span>.\n\n<span class=\"hljs-title\">Show<\/span>:\n- <span class=\"hljs-title\">Account<\/span> <span class=\"hljs-title\">name<\/span>\n- <span class=\"hljs-title\">Account<\/span> <span class=\"hljs-title\">ID<\/span>\n- <span class=\"hljs-title\">Account<\/span> <span class=\"hljs-title\">status<\/span>\n- <span class=\"hljs-title\">Currency<\/span>\n- <span class=\"hljs-title\">Time<\/span> <span class=\"hljs-title\">zone<\/span>\n\n<span class=\"hljs-title\">Do<\/span> <span class=\"hljs-title\">not<\/span> <span class=\"hljs-title\">modify<\/span> <span class=\"hljs-title\">any<\/span> <span class=\"hljs-title\">campaigns<\/span> <span class=\"hljs-title\">or<\/span> <span class=\"hljs-title\">account<\/span> <span class=\"hljs-title\">settings<\/span>.\n<span class=\"hljs-title\">If<\/span> <span class=\"hljs-title\">the<\/span> <span class=\"hljs-title\">connector<\/span> <span class=\"hljs-title\">is<\/span> <span class=\"hljs-title\">unavailable<\/span>, <span class=\"hljs-title\">report<\/span> <span class=\"hljs-title\">the<\/span> <span class=\"hljs-title\">tool<\/span> <span class=\"hljs-title\">error<\/span>.<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">A successful response containing actual account details confirms that the relevant reporting tools work.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 7: Remove the integration safely<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For a directly configured Claude Code MCP server:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">claude mcp logout meta-ads\nclaude mcp remove meta-ads<\/code><\/span><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The logout command attempts to clear or revoke authorization according to the supported OAuth behavior. Removing the server cleans up its local configuration, but you should also review and revoke the connection in Meta if access is no longer required. Claude Code Docs<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">8. Testing Meta Ads Integration: 15 Practical Claude Prompts<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Once your connection is working, use the following prompts to test common advertising operations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Before asking Claude to compare numbers, understand these basic metrics:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Metric<\/th><th>Meaning<\/th><th>Calculation<\/th><\/tr><tr><td>Spend<\/td><td>Amount spent on advertising<\/td><td>Reported by Meta<\/td><\/tr><tr><td>Impressions<\/td><td>Number of ad displays<\/td><td>Reported by Meta<\/td><\/tr><tr><td>Reach<\/td><td>Number of unique people reached<\/td><td>Reported by Meta<\/td><\/tr><tr><td>CTR<\/td><td>Click-through rate<\/td><td>Clicks \u00f7 Impressions \u00d7 100<\/td><\/tr><tr><td>CPC<\/td><td>Cost per click<\/td><td>Spend \u00f7 Clicks<\/td><\/tr><tr><td>CPM<\/td><td>Cost per thousand impressions<\/td><td>Spend \u00f7 Impressions \u00d7 1,000<\/td><\/tr><tr><td>CPA<\/td><td>Cost per defined acquisition<\/td><td>Spend \u00f7 Acquisitions<\/td><\/tr><tr><td>ROAS<\/td><td>Return on advertising spend<\/td><td>Attributed revenue \u00f7 Spend<\/td><\/tr><tr><td>Conversion rate<\/td><td>Percentage completing the chosen action<\/td><td>Conversions \u00f7 Defined denominator \u00d7 100<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">For CTR, CPC, and conversion rate, explicitly select the click and conversion definitions. Meta offers different click measures and attribution settings, which can change the interpretation of a campaign.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Account management prompts<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">PROMPT 01 \u00b7 List all advertising accounts Copy<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">List every Meta advertising account accessible through my connected MCP tools. Include account name, numeric account ID, delivery status, currency, and time zone. If any fields are unavailable, show &#8216;Unavailable&#8217; rather than guessing.Expected output: Authorized account inventory<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PROMPT 02 \u00b7 Show account details Copy<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Retrieve the details of my Meta advertising account. If multiple accounts are available, ask me to select one first. Show account status, business information available to me, and advertising settings. Do not change anything.Expected output: Account profile and settings<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PROMPT 03 \u00b7 Check currency and time zone Copy<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For each accessible Meta advertising account, identify its configured currency and time zone. Highlight accounts that have different settings, and explain how these differences affect reporting comparisons. Do not convert currencies without an exchange-rate source.Expected output: Currency and reporting-day consistency<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PROMPT 04 \u00b7 List active campaigns Copy<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Find all active campaigns in my selected Meta advertising account. Show campaign names, IDs, objectives, statuses, and available budget details. Include zero-spend campaigns and do not modify their delivery settings.Expected output: Current campaign inventory<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Campaign analytics prompts<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">PROMPT 05 \u00b7 Last 30 days Copy<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Using my selected Meta advertising account, retrieve campaign performance for the last 30 completed calendar days in the account&#8217;s time zone. Show spend, impressions, reach, link clicks, link CTR, CPC, CPM, results, and cost per result. Include campaigns with zero delivery.Expected output: Campaign KPI report<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PROMPT 06 \u00b7 Compare advertising spend Copy<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Compare total advertising expenditure across all campaigns for the last 30 days. Rank campaigns by spend, calculate each campaign&#8217;s percentage of total expenditure, and highlight campaigns with high spend but low results. Keep amounts in the account currency.Expected output: Spend ranking and budget concentration<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PROMPT 07 \u00b7 Find high-CPC campaigns Copy<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Analyze link CPC for all campaigns with delivery in the last 30 days. Identify the five campaigns with the highest link CPC, show their spend, link clicks, link CTR, and CPM, and suggest possible factors to investigate. Do not assume CPC alone measures profitability.Expected output: High-CPC campaign investigation<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PROMPT 08 \u00b7 Calculate CPA and ROAS Copy<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For the last 30 days, calculate cost per lead and purchase ROAS for campaigns where Meta reports the necessary conversion and attributed purchase-value data. Show the conversion event and attribution setting. Mark missing or zero-denominator results as N\/A; never invent revenue.Expected output: CPA and ROAS assessment<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PROMPT 09 \u00b7 Analyze reach and engagement Copy<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Compare impressions, reach, frequency, link clicks, and link CTR across my active campaigns over the last 14 completed days. Identify unusual frequency, low engagement, or declining trends, and distinguish observations from hypotheses.Expected output: Reach and engagement analysis<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PROMPT 10 \u00b7 Find low-conversion campaigns Copy<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Identify campaigns with high link-click volume but relatively few completed leads or purchases in the last 30 days. Use a consistent conversion event and attribution window. Calculate conversion rates only where the required denominator exists, then suggest landing-page or tracking checks.Expected output: Conversion-funnel investigation<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Advertising optimization prompts<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">PROMPT 11 \u00b7 Identify wasted expenditure Copy<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Review campaigns and ad sets over the last 30 days. Find instances where spend is significant relative to their defined results or where delivery produces no tracked conversions. Explain the limitations of attribution and conversion tracking before calling spending wasted. Recommend investigations only; make no changes.Expected output: Potential inefficiencies and confidence levels<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PROMPT 12 \u00b7 Recommend budget optimization Copy<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Analyze my campaigns over the last 30 days and recommend a budget allocation based on comparable objectives, cost per result, purchase ROAS where available, and recent performance trends. Show current versus proposed allocations and expected risks. Do not apply budget changes.Expected output: Proposed budget redistribution<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PROMPT 13 \u00b7 Facebook versus Instagram Copy<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Compare performance between Facebook and Instagram placements for the last 30 days, where placement breakdown data is available. Report spend, impressions, link clicks, link CTR, CPC, results, and cost per result. Explain where campaign objectives or attribution make comparisons unreliable.Expected output: Placement performance comparison<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PROMPT 14 \u00b7 Identify winning advertisements Copy<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Identify my top-performing advertisements for the last 30 days using a clearly defined primary outcome, such as cost per qualified lead or attributed purchase ROAS. Include creative names, placement, spend, results, and performance trends. Explain whether the available sample sizes support a reliable ranking.Expected output: Creative performance shortlist<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PROMPT 15 \u00b7 Generate a weekly report Copy<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Prepare a weekly Meta Ads report for the most recent seven completed calendar days, compared with the preceding seven days. Include spend, impressions, reach, link clicks, CPC, CTR, reported conversions, CPA, and ROAS where available. Summarize the three strongest results, three concerns, and five recommended next actions. Do not modify campaigns.Expected output: Weekly advertising performance report<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">These prompts describe the desired behavior, not guaranteed tool coverage. If a particular breakdown or metric is not exposed by the authorized MCP tools, Claude should explicitly identify that limitation.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">9. Campaign Management: Read Operations Versus Write Operations<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Meta&#8217;s advertising MCP is not limited to reporting. Its documented tool categories include campaign creation and management, catalogs, datasets, help and troubleshooting, experiments, and account activity logs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, different operations carry different levels of risk.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">9.1 Supported tool categories<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Category<\/th><th>Example MCP tool<\/th><th>Operation<\/th><\/tr><tr><td>Accounts<\/td><td><code>ads_get_ad_accounts<\/code><\/td><td>Read<\/td><\/tr><tr><td>Campaign reporting<\/td><td><code>ads_get_ad_entities<\/code><\/td><td>Read<\/td><\/tr><tr><td>Performance trends<\/td><td><code>ads_insights_performance_trend<\/code><\/td><td>Read<\/td><\/tr><tr><td>Opportunity score<\/td><td><code>ads_get_opportunity_score<\/code><\/td><td>Read<\/td><\/tr><tr><td>Campaign creation<\/td><td><code>ads_create_campaign<\/code><\/td><td>Write<\/td><\/tr><tr><td>Ad set creation<\/td><td><code>ads_create_ad_set<\/code><\/td><td>Write<\/td><\/tr><tr><td>Advertisement creation<\/td><td><code>ads_create_ad<\/code><\/td><td>Write<\/td><\/tr><tr><td>Campaign modification<\/td><td><code>ads_update_entity<\/code><\/td><td>Write<\/td><\/tr><tr><td>Campaign activation<\/td><td><code>ads_activate_entity<\/code><\/td><td>Write<\/td><\/tr><tr><td>Creative inspection<\/td><td><code>ads_get_creatives<\/code><\/td><td>Read<\/td><\/tr><tr><td>Custom audiences<\/td><td><code>ads_create_custom_audience<\/code><\/td><td>Write<\/td><\/tr><tr><td>Product catalogs<\/td><td><code>ads_catalog_create<\/code><\/td><td>Write<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">These tool names were documented in a third-party inventory based on Meta&#8217;s developer documentation, checked in October 2026. They are examples of documented tools, not a live discovery result from your account. Confirm their current availability and input schemas through your authenticated client before using them. MartechDB<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">9.2 Can Claude change live advertising campaigns?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Potentially, yes, when the relevant tool is available and authorized.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, Claude might be able to propose or perform an action such as changing a campaign&#8217;s daily budget or pausing an underperforming ad set.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But there is an important 2026 update.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On October 6, 2026, Meta described an expanded MCP workflow in which agent-prepared advertising work can arrive as a draft in Ads Manager and be published after explicit approval. Meta specifically discussed this expansion for large advertisers and agencies. It should not be assumed that the same draft behavior applies identically to every write tool and every account. Acerca de Meta<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A safe workflow should therefore distinguish:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">#chatgpt-mermaid-_r_qg_{font-family:-apple-system-body,ui-sans-serif,-apple-system,system-ui,&#8221;Segoe UI&#8221;,Helvetica,&#8221;Apple Color Emoji&#8221;,Arial,sans-serif,&#8221;Segoe UI Emoji&#8221;,&#8221;Segoe UI Symbol&#8221;;font-size:16px;fill:rgb(13, 13, 13);}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#chatgpt-mermaid-_r_qg_ .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#chatgpt-mermaid-_r_qg_ .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#chatgpt-mermaid-_r_qg_ .error-icon{fill:rgb(243, 243, 243);}#chatgpt-mermaid-_r_qg_ .error-text{fill:rgb(13, 13, 13);stroke:rgb(13, 13, 13);}#chatgpt-mermaid-_r_qg_ .edge-thickness-normal{stroke-width:1px;}#chatgpt-mermaid-_r_qg_ .edge-thickness-thick{stroke-width:3.5px;}#chatgpt-mermaid-_r_qg_ .edge-pattern-solid{stroke-dasharray:0;}#chatgpt-mermaid-_r_qg_ .edge-thickness-invisible{stroke-width:0;fill:none;}#chatgpt-mermaid-_r_qg_ .edge-pattern-dashed{stroke-dasharray:3;}#chatgpt-mermaid-_r_qg_ .edge-pattern-dotted{stroke-dasharray:2;}#chatgpt-mermaid-_r_qg_ .marker{fill:rgb(143, 143, 143);stroke:rgb(143, 143, 143);}#chatgpt-mermaid-_r_qg_ .marker.cross{stroke:rgb(143, 143, 143);}#chatgpt-mermaid-_r_qg_ svg{font-family:-apple-system-body,ui-sans-serif,-apple-system,system-ui,&#8221;Segoe UI&#8221;,Helvetica,&#8221;Apple Color Emoji&#8221;,Arial,sans-serif,&#8221;Segoe UI Emoji&#8221;,&#8221;Segoe UI Symbol&#8221;;font-size:16px;}#chatgpt-mermaid-_r_qg_ p{margin:0;}#chatgpt-mermaid-_r_qg_ .label{font-family:-apple-system-body,ui-sans-serif,-apple-system,system-ui,&#8221;Segoe UI&#8221;,Helvetica,&#8221;Apple Color Emoji&#8221;,Arial,sans-serif,&#8221;Segoe UI Emoji&#8221;,&#8221;Segoe UI Symbol&#8221;;color:rgb(13, 13, 13);}#chatgpt-mermaid-_r_qg_ .cluster-label text{fill:rgb(13, 13, 13);}#chatgpt-mermaid-_r_qg_ .cluster-label span{color:rgb(13, 13, 13);}#chatgpt-mermaid-_r_qg_ .cluster-label span p{background-color:transparent;}#chatgpt-mermaid-_r_qg_ .label text,#chatgpt-mermaid-_r_qg_ span{fill:rgb(13, 13, 13);color:rgb(13, 13, 13);}#chatgpt-mermaid-_r_qg_ .node rect,#chatgpt-mermaid-_r_qg_ .node circle,#chatgpt-mermaid-_r_qg_ .node ellipse,#chatgpt-mermaid-_r_qg_ .node polygon,#chatgpt-mermaid-_r_qg_ .node path{fill:rgb(222, 234, 251);stroke:rgb(83, 154, 248);stroke-width:1px;}#chatgpt-mermaid-_r_qg_ .rough-node .label text,#chatgpt-mermaid-_r_qg_ .node .label text,#chatgpt-mermaid-_r_qg_ .image-shape .label,#chatgpt-mermaid-_r_qg_ .icon-shape .label{text-anchor:middle;}#chatgpt-mermaid-_r_qg_ .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#chatgpt-mermaid-_r_qg_ .rough-node .label,#chatgpt-mermaid-_r_qg_ .node .label,#chatgpt-mermaid-_r_qg_ .image-shape .label,#chatgpt-mermaid-_r_qg_ .icon-shape .label{text-align:center;}#chatgpt-mermaid-_r_qg_ .node.clickable{cursor:pointer;}#chatgpt-mermaid-_r_qg_ .root .anchor path{fill:rgb(143, 143, 143)!important;stroke-width:0;stroke:rgb(143, 143, 143);}#chatgpt-mermaid-_r_qg_ .arrowheadPath{fill:rgb(143, 143, 143);}#chatgpt-mermaid-_r_qg_ .edgePath .path{stroke:rgb(143, 143, 143);stroke-width:1px;}#chatgpt-mermaid-_r_qg_ .flowchart-link{stroke:rgb(143, 143, 143);fill:none;}#chatgpt-mermaid-_r_qg_ .edgeLabel{background-color:rgb(252, 252, 252);text-align:center;}#chatgpt-mermaid-_r_qg_ .edgeLabel p{background-color:rgb(252, 252, 252);}#chatgpt-mermaid-_r_qg_ .edgeLabel rect{opacity:0.5;background-color:rgb(252, 252, 252);fill:rgb(252, 252, 252);}#chatgpt-mermaid-_r_qg_ .labelBkg{background-color:rgba(252, 252, 252, 0.5);}#chatgpt-mermaid-_r_qg_ .cluster rect{fill:rgb(243, 243, 243);stroke:rgba(0, 0, 0, 0.1);stroke-width:1px;}#chatgpt-mermaid-_r_qg_ .cluster text{fill:rgb(13, 13, 13);}#chatgpt-mermaid-_r_qg_ .cluster span{color:rgb(13, 13, 13);}#chatgpt-mermaid-_r_qg_ div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:-apple-system-body,ui-sans-serif,-apple-system,system-ui,&#8221;Segoe UI&#8221;,Helvetica,&#8221;Apple Color Emoji&#8221;,Arial,sans-serif,&#8221;Segoe UI Emoji&#8221;,&#8221;Segoe UI Symbol&#8221;;font-size:12px;background:rgb(243, 243, 243);border:1px solid rgba(0, 0, 0, 0.1);border-radius:2px;pointer-events:none;z-index:100;}#chatgpt-mermaid-_r_qg_ .flowchartTitleText{text-anchor:middle;font-size:18px;fill:rgb(13, 13, 13);}#chatgpt-mermaid-_r_qg_ rect.text{fill:none;stroke-width:0;}#chatgpt-mermaid-_r_qg_ .icon-shape,#chatgpt-mermaid-_r_qg_ .image-shape{background-color:rgb(252, 252, 252);text-align:center;}#chatgpt-mermaid-_r_qg_ .icon-shape p,#chatgpt-mermaid-_r_qg_ .image-shape p{background-color:rgb(252, 252, 252);padding:2px;}#chatgpt-mermaid-_r_qg_ .icon-shape .label rect,#chatgpt-mermaid-_r_qg_ .image-shape .label rect{opacity:0.5;background-color:rgb(252, 252, 252);fill:rgb(252, 252, 252);}#chatgpt-mermaid-_r_qg_ .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#chatgpt-mermaid-_r_qg_ .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#chatgpt-mermaid-_r_qg_ .node .neo-node{stroke:rgb(83, 154, 248);}#chatgpt-mermaid-_r_qg_ [data-look=&#8221;neo&#8221;].node rect,#chatgpt-mermaid-_r_qg_ [data-look=&#8221;neo&#8221;].cluster rect,#chatgpt-mermaid-_r_qg_ [data-look=&#8221;neo&#8221;].node polygon{stroke:url(#chatgpt-mermaid-_r_qg_-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#chatgpt-mermaid-_r_qg_ [data-look=&#8221;neo&#8221;].swimlane.cluster rect{filter:none;}#chatgpt-mermaid-_r_qg_ [data-look=&#8221;neo&#8221;].node path{stroke:url(#chatgpt-mermaid-_r_qg_-gradient);stroke-width:1px;}#chatgpt-mermaid-_r_qg_ [data-look=&#8221;neo&#8221;].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#chatgpt-mermaid-_r_qg_ [data-look=&#8221;neo&#8221;].node .neo-line path{stroke:rgb(83, 154, 248);filter:none;}#chatgpt-mermaid-_r_qg_ [data-look=&#8221;neo&#8221;].node circle{stroke:url(#chatgpt-mermaid-_r_qg_-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#chatgpt-mermaid-_r_qg_ [data-look=&#8221;neo&#8221;].node circle .state-start{fill:#000000;}#chatgpt-mermaid-_r_qg_ [data-look=&#8221;neo&#8221;].icon-shape .icon{fill:url(#chatgpt-mermaid-_r_qg_-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#chatgpt-mermaid-_r_qg_ [data-look=&#8221;neo&#8221;].icon-shape .icon-neo path{stroke:url(#chatgpt-mermaid-_r_qg_-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#chatgpt-mermaid-_r_qg_ .node text{font-size:14px;font-weight:600;letter-spacing:normal;fill:rgb(0, 79, 153);}#chatgpt-mermaid-_r_qg_ .edgeLabels text{font-size:13px;font-weight:600;letter-spacing:-0.08px;fill:rgb(0, 79, 153);}#chatgpt-mermaid-_r_qg_ .node tspan[font-weight=&#8221;normal&#8221;],#chatgpt-mermaid-_r_qg_ .edgeLabels tspan[font-weight=&#8221;normal&#8221;]{font-weight:600;}#chatgpt-mermaid-_r_qg_ .edgeLabel .label rect{opacity:1;rx:13px;ry:13px;fill:rgb(245, 250, 255);stroke:rgb(206, 219, 229);stroke-width:1px;}#chatgpt-mermaid-_r_qg_ .node rect,#chatgpt-mermaid-_r_qg_ .node circle,#chatgpt-mermaid-_r_qg_ .node ellipse,#chatgpt-mermaid-_r_qg_ .node polygon,#chatgpt-mermaid-_r_qg_ .node path{fill:rgb(229, 243, 255);stroke:rgba(0, 0, 0, 0.1);stroke-width:1px;}#chatgpt-mermaid-_r_qg_ .node rect{rx:16px;ry:16px;}#chatgpt-mermaid-_r_qg_ .mermaid-decision .label-container{fill:rgb(245, 250, 255);stroke:rgb(206, 219, 229);stroke-dasharray:2,2;}#chatgpt-mermaid-_r_qg_ .edgePaths .flowchart-link{stroke:rgb(143, 143, 143);stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;}#chatgpt-mermaid-_r_qg_ .marker{fill:rgb(143, 143, 143);stroke:rgb(143, 143, 143);}#chatgpt-mermaid-_r_qg_ :root{&#8211;mermaid-font-family:-apple-system-body,ui-sans-serif,-apple-system,system-ui,&#8221;Segoe UI&#8221;,Helvetica,&#8221;Apple Color Emoji&#8221;,Arial,sans-serif,&#8221;Segoe UI Emoji&#8221;,&#8221;Segoe UI Symbol&#8221;;}Claude analyzesperformancePrepare proposed changesShow current vs proposedsettingsHuman approves?No changesUse authorized MCP writeoperationVerify results in Meta AdsManagerCheck delivery, budget andchange historyNoYes<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For the safest setup, require human approval through both Claude&#8217;s tool-permission controls and Meta&#8217;s account-level restrictions, where available.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">9.3 Example: Request a campaign change without executing it<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">Analyze my active Meta advertising campaigns.\n\nIdentify the campaign <span class=\"hljs-keyword\">with<\/span> the highest cost per lead\nduring the last <span class=\"hljs-number\">14<\/span> days.\n\nRecommend whether I should retain, reduce, or pause\nits spending based on the available evidence.\n\nShow:\n<span class=\"hljs-number\">1.<\/span> Campaign name and ID\n<span class=\"hljs-number\">2.<\/span> Current delivery status and budget\n<span class=\"hljs-number\">3.<\/span> Current spend and results\n<span class=\"hljs-number\">4.<\/span> Proposed change\n<span class=\"hljs-number\">5.<\/span> Expected benefits and risks\n<span class=\"hljs-number\">6.<\/span> Evidence supporting the recommendation\n\nDo not invoke any write tools.\n\nAsk <span class=\"hljs-keyword\">for<\/span> my explicit approval before attempting any change.<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">This kind of two-stage workflow is preferable to immediately instructing Claude to optimize every campaign.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">10. Advanced AI-Powered Advertising Use Cases<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Once basic reporting works, the integration becomes useful for investigating problems and developing campaign improvement plans.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Use case 1: Diagnose campaigns with zero spending<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Suppose an Instagram Reels campaign shows zero results and zero expenditure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can ask Claude:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-9\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">Investigate my Instagram Reels advertising campaigns\nthat recorded zero spending over the last seven days.\n\nFor each campaign, inspect the available:\n- Campaign, ad <span class=\"hljs-keyword\">set<\/span> and ad delivery statuses\n- Scheduled start and end dates\n- Budget configuration\n- Available delivery diagnostics\n- Account restrictions\n- Performance and spend data\n\nIdentify possible reasons for zero delivery.\n\nSeparate confirmed findings from possible explanations.\nTell me which checks must be performed manually in\nMeta Ads Manager.\n\nDo not modify any settings.<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-9\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">This is particularly useful because zero expenditure is not necessarily evidence of poor advertising performance. It can indicate that the campaign never delivered.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Claude may help narrow the investigation, but billing problems, account restrictions, review status, or other delivery conditions might require direct inspection in Ads Manager.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Use case 2: Optimize advertising budgets<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A marketing manager can ask Claude to compare campaigns with the same business objective and prepare a budget allocation proposal.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, imagine these fictional performance figures:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Campaign<\/th><th>Spend<\/th><th>Leads<\/th><th>CPL<\/th><\/tr><tr><td>Facebook Lead Generation<\/td><td>\u20b910,000<\/td><td>100<\/td><td>\u20b9100<\/td><\/tr><tr><td>Instagram Reels<\/td><td>\u20b98,000<\/td><td>40<\/td><td>\u20b9200<\/td><\/tr><tr><td>Instagram Feed<\/td><td>\u20b96,000<\/td><td>75<\/td><td>\u20b980<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Claude might recommend investigating whether the Instagram Feed campaign deserves additional investment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, lower CPL does not automatically mean higher profitability. Lead quality, conversion delays, attribution, and delivery scalability matter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The right approach is to request a recommendation, review the evidence, and apply a controlled budget experiment.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Use case 3: Evaluate advertising creatives<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Claude can help identify whether video advertisements, static images, or particular creative variations correlate with stronger outcomes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A useful analysis should group comparable advertisements, account for differences in audience and objectives, and highlight insufficient data rather than declaring a winner from a handful of clicks.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Use case 4: Analyze conversion funnel problems<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A campaign can generate many clicks but very few sales or leads.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Claude can examine available advertising metrics and identify where the performance changes occur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, Meta Ads MCP does not automatically gain access to your website analytics, CRM, payment system, or lead qualification data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you need actual customer revenue, lead quality, or lifetime-value reporting, those sources must be connected separately and their measurements reconciled.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Use case 5: Generate management reports<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A weekly reporting workflow might include:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">#chatgpt-mermaid-_r_rg_{font-family:-apple-system-body,ui-sans-serif,-apple-system,system-ui,&#8221;Segoe UI&#8221;,Helvetica,&#8221;Apple Color Emoji&#8221;,Arial,sans-serif,&#8221;Segoe UI Emoji&#8221;,&#8221;Segoe UI Symbol&#8221;;font-size:16px;fill:rgb(13, 13, 13);}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#chatgpt-mermaid-_r_rg_ .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#chatgpt-mermaid-_r_rg_ .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#chatgpt-mermaid-_r_rg_ .error-icon{fill:rgb(243, 243, 243);}#chatgpt-mermaid-_r_rg_ .error-text{fill:rgb(13, 13, 13);stroke:rgb(13, 13, 13);}#chatgpt-mermaid-_r_rg_ .edge-thickness-normal{stroke-width:1px;}#chatgpt-mermaid-_r_rg_ .edge-thickness-thick{stroke-width:3.5px;}#chatgpt-mermaid-_r_rg_ .edge-pattern-solid{stroke-dasharray:0;}#chatgpt-mermaid-_r_rg_ .edge-thickness-invisible{stroke-width:0;fill:none;}#chatgpt-mermaid-_r_rg_ .edge-pattern-dashed{stroke-dasharray:3;}#chatgpt-mermaid-_r_rg_ .edge-pattern-dotted{stroke-dasharray:2;}#chatgpt-mermaid-_r_rg_ .marker{fill:rgb(143, 143, 143);stroke:rgb(143, 143, 143);}#chatgpt-mermaid-_r_rg_ .marker.cross{stroke:rgb(143, 143, 143);}#chatgpt-mermaid-_r_rg_ svg{font-family:-apple-system-body,ui-sans-serif,-apple-system,system-ui,&#8221;Segoe UI&#8221;,Helvetica,&#8221;Apple Color Emoji&#8221;,Arial,sans-serif,&#8221;Segoe UI Emoji&#8221;,&#8221;Segoe UI Symbol&#8221;;font-size:16px;}#chatgpt-mermaid-_r_rg_ p{margin:0;}#chatgpt-mermaid-_r_rg_ .label{font-family:-apple-system-body,ui-sans-serif,-apple-system,system-ui,&#8221;Segoe UI&#8221;,Helvetica,&#8221;Apple Color Emoji&#8221;,Arial,sans-serif,&#8221;Segoe UI Emoji&#8221;,&#8221;Segoe UI Symbol&#8221;;color:rgb(13, 13, 13);}#chatgpt-mermaid-_r_rg_ .cluster-label text{fill:rgb(13, 13, 13);}#chatgpt-mermaid-_r_rg_ .cluster-label span{color:rgb(13, 13, 13);}#chatgpt-mermaid-_r_rg_ .cluster-label span p{background-color:transparent;}#chatgpt-mermaid-_r_rg_ .label text,#chatgpt-mermaid-_r_rg_ span{fill:rgb(13, 13, 13);color:rgb(13, 13, 13);}#chatgpt-mermaid-_r_rg_ .node rect,#chatgpt-mermaid-_r_rg_ .node circle,#chatgpt-mermaid-_r_rg_ .node ellipse,#chatgpt-mermaid-_r_rg_ .node polygon,#chatgpt-mermaid-_r_rg_ .node path{fill:rgb(222, 234, 251);stroke:rgb(83, 154, 248);stroke-width:1px;}#chatgpt-mermaid-_r_rg_ .rough-node .label text,#chatgpt-mermaid-_r_rg_ .node .label text,#chatgpt-mermaid-_r_rg_ .image-shape .label,#chatgpt-mermaid-_r_rg_ .icon-shape .label{text-anchor:middle;}#chatgpt-mermaid-_r_rg_ .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#chatgpt-mermaid-_r_rg_ .rough-node .label,#chatgpt-mermaid-_r_rg_ .node .label,#chatgpt-mermaid-_r_rg_ .image-shape .label,#chatgpt-mermaid-_r_rg_ .icon-shape .label{text-align:center;}#chatgpt-mermaid-_r_rg_ .node.clickable{cursor:pointer;}#chatgpt-mermaid-_r_rg_ .root .anchor path{fill:rgb(143, 143, 143)!important;stroke-width:0;stroke:rgb(143, 143, 143);}#chatgpt-mermaid-_r_rg_ .arrowheadPath{fill:rgb(143, 143, 143);}#chatgpt-mermaid-_r_rg_ .edgePath .path{stroke:rgb(143, 143, 143);stroke-width:1px;}#chatgpt-mermaid-_r_rg_ .flowchart-link{stroke:rgb(143, 143, 143);fill:none;}#chatgpt-mermaid-_r_rg_ .edgeLabel{background-color:rgb(252, 252, 252);text-align:center;}#chatgpt-mermaid-_r_rg_ .edgeLabel p{background-color:rgb(252, 252, 252);}#chatgpt-mermaid-_r_rg_ .edgeLabel rect{opacity:0.5;background-color:rgb(252, 252, 252);fill:rgb(252, 252, 252);}#chatgpt-mermaid-_r_rg_ .labelBkg{background-color:rgba(252, 252, 252, 0.5);}#chatgpt-mermaid-_r_rg_ .cluster rect{fill:rgb(243, 243, 243);stroke:rgba(0, 0, 0, 0.1);stroke-width:1px;}#chatgpt-mermaid-_r_rg_ .cluster text{fill:rgb(13, 13, 13);}#chatgpt-mermaid-_r_rg_ .cluster span{color:rgb(13, 13, 13);}#chatgpt-mermaid-_r_rg_ div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:-apple-system-body,ui-sans-serif,-apple-system,system-ui,&#8221;Segoe UI&#8221;,Helvetica,&#8221;Apple Color Emoji&#8221;,Arial,sans-serif,&#8221;Segoe UI Emoji&#8221;,&#8221;Segoe UI Symbol&#8221;;font-size:12px;background:rgb(243, 243, 243);border:1px solid rgba(0, 0, 0, 0.1);border-radius:2px;pointer-events:none;z-index:100;}#chatgpt-mermaid-_r_rg_ .flowchartTitleText{text-anchor:middle;font-size:18px;fill:rgb(13, 13, 13);}#chatgpt-mermaid-_r_rg_ rect.text{fill:none;stroke-width:0;}#chatgpt-mermaid-_r_rg_ .icon-shape,#chatgpt-mermaid-_r_rg_ .image-shape{background-color:rgb(252, 252, 252);text-align:center;}#chatgpt-mermaid-_r_rg_ .icon-shape p,#chatgpt-mermaid-_r_rg_ .image-shape p{background-color:rgb(252, 252, 252);padding:2px;}#chatgpt-mermaid-_r_rg_ .icon-shape .label rect,#chatgpt-mermaid-_r_rg_ .image-shape .label rect{opacity:0.5;background-color:rgb(252, 252, 252);fill:rgb(252, 252, 252);}#chatgpt-mermaid-_r_rg_ .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#chatgpt-mermaid-_r_rg_ .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#chatgpt-mermaid-_r_rg_ .node .neo-node{stroke:rgb(83, 154, 248);}#chatgpt-mermaid-_r_rg_ [data-look=&#8221;neo&#8221;].node rect,#chatgpt-mermaid-_r_rg_ [data-look=&#8221;neo&#8221;].cluster rect,#chatgpt-mermaid-_r_rg_ [data-look=&#8221;neo&#8221;].node polygon{stroke:url(#chatgpt-mermaid-_r_rg_-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#chatgpt-mermaid-_r_rg_ [data-look=&#8221;neo&#8221;].swimlane.cluster rect{filter:none;}#chatgpt-mermaid-_r_rg_ [data-look=&#8221;neo&#8221;].node path{stroke:url(#chatgpt-mermaid-_r_rg_-gradient);stroke-width:1px;}#chatgpt-mermaid-_r_rg_ [data-look=&#8221;neo&#8221;].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#chatgpt-mermaid-_r_rg_ [data-look=&#8221;neo&#8221;].node .neo-line path{stroke:rgb(83, 154, 248);filter:none;}#chatgpt-mermaid-_r_rg_ [data-look=&#8221;neo&#8221;].node circle{stroke:url(#chatgpt-mermaid-_r_rg_-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#chatgpt-mermaid-_r_rg_ [data-look=&#8221;neo&#8221;].node circle .state-start{fill:#000000;}#chatgpt-mermaid-_r_rg_ [data-look=&#8221;neo&#8221;].icon-shape .icon{fill:url(#chatgpt-mermaid-_r_rg_-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#chatgpt-mermaid-_r_rg_ [data-look=&#8221;neo&#8221;].icon-shape .icon-neo path{stroke:url(#chatgpt-mermaid-_r_rg_-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#chatgpt-mermaid-_r_rg_ .node text{font-size:14px;font-weight:600;letter-spacing:normal;fill:rgb(0, 79, 153);}#chatgpt-mermaid-_r_rg_ .edgeLabels text{font-size:13px;font-weight:600;letter-spacing:-0.08px;fill:rgb(0, 79, 153);}#chatgpt-mermaid-_r_rg_ .node tspan[font-weight=&#8221;normal&#8221;],#chatgpt-mermaid-_r_rg_ .edgeLabels tspan[font-weight=&#8221;normal&#8221;]{font-weight:600;}#chatgpt-mermaid-_r_rg_ .edgeLabel .label rect{opacity:1;rx:13px;ry:13px;fill:rgb(245, 250, 255);stroke:rgb(206, 219, 229);stroke-width:1px;}#chatgpt-mermaid-_r_rg_ .node rect,#chatgpt-mermaid-_r_rg_ .node circle,#chatgpt-mermaid-_r_rg_ .node ellipse,#chatgpt-mermaid-_r_rg_ .node polygon,#chatgpt-mermaid-_r_rg_ .node path{fill:rgb(229, 243, 255);stroke:rgba(0, 0, 0, 0.1);stroke-width:1px;}#chatgpt-mermaid-_r_rg_ .node rect{rx:16px;ry:16px;}#chatgpt-mermaid-_r_rg_ .mermaid-decision .label-container{fill:rgb(245, 250, 255);stroke:rgb(206, 219, 229);stroke-dasharray:2,2;}#chatgpt-mermaid-_r_rg_ .edgePaths .flowchart-link{stroke:rgb(143, 143, 143);stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;}#chatgpt-mermaid-_r_rg_ .marker{fill:rgb(143, 143, 143);stroke:rgb(143, 143, 143);}#chatgpt-mermaid-_r_rg_ :root{&#8211;mermaid-font-family:-apple-system-body,ui-sans-serif,-apple-system,system-ui,&#8221;Segoe UI&#8221;,Helvetica,&#8221;Apple Color Emoji&#8221;,Arial,sans-serif,&#8221;Segoe UI Emoji&#8221;,&#8221;Segoe UI Symbol&#8221;;}Meta Ads dataClaude via MCPPerformance analysisWeekly management reportHuman reviewApproved actions<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Claude can produce a report when requested. The MCP connection alone does not establish automatic scheduling or continuous monitoring. Recurring execution requires a separately supported scheduling or orchestration mechanism.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">11. Troubleshooting Meta Ads MCP Integration<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Common problems and solutions<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Problem<\/th><th>Possible cause<\/th><th>Recommended solution<\/th><\/tr><tr><td>MCP connection failure<\/td><td>Incorrect URL or transport<\/td><td>Use the official HTTPS URL with a supported remote MCP connection<\/td><\/tr><tr><td>OAuth login fails<\/td><td>Client compatibility or expired authorization<\/td><td>Retry sign-in using Claude Web&#8217;s supported connector flow<\/td><\/tr><tr><td>Invalid redirect URI<\/td><td>OAuth callback does not match the registered client<\/td><td>Avoid inventing callback URLs; use supported authentication<\/td><\/tr><tr><td><code>is_ads_mcp_enabled: false<\/code><\/td><td>Meta has not enabled MCP for the account<\/td><td>Check another eligible account or retry after rollout<\/td><\/tr><tr><td>Advertising account missing<\/td><td>Wrong Meta login or insufficient permissions<\/td><td>Verify the Facebook profile and business account role<\/td><\/tr><tr><td>Connector not visible<\/td><td>Workspace administration restriction<\/td><td>Ask the authorized Claude organization administrator<\/td><\/tr><tr><td>Tools are not loading<\/td><td>Server or tool-discovery failure<\/td><td>Reconnect, inspect tool permissions, and retry<\/td><\/tr><tr><td>Campaign data unavailable<\/td><td>Permissions, invalid request, or missing metric<\/td><td>Verify the account ID, requested fields, and reporting dates<\/td><\/tr><tr><td>Write operations fail<\/td><td>Tool restriction or insufficient Meta permissions<\/td><td>Inspect Claude tool approvals and Meta&#8217;s MCP account rules<\/td><\/tr><tr><td>Claude Code OAuth fails<\/td><td>Client registration or redirect incompatibility<\/td><td>Configure the connection in Claude Web and reuse it in Claude Code<\/td><\/tr><tr><td>Rate limiting<\/td><td>Repeated or costly reporting requests<\/td><td>Reduce query frequency and scope; retry appropriately<\/td><\/tr><tr><td>Reports show different totals<\/td><td>Different attribution windows, time zones, or metric definitions<\/td><td>Match the same reporting settings before comparing<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Account-level rollout failures and Claude Code OAuth compatibility errors have been reported in October 2026 troubleshooting guides. These should not be treated as problems that can always be solved by changing local configuration. AdChat<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">A systematic troubleshooting process<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When the connection fails, diagnose it in this order:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Client: Can Claude open the connector configuration?<\/li>\n\n\n\n<li>Transport: Is the exact MCP endpoint configured correctly?<\/li>\n\n\n\n<li>Authentication: Did OAuth complete successfully?<\/li>\n\n\n\n<li>Eligibility: Has Meta enabled Ads MCP for the account?<\/li>\n\n\n\n<li>Authorization: Does your Meta login have access to the required advertising assets?<\/li>\n\n\n\n<li>Tool discovery: Does Claude see the required MCP reporting tool?<\/li>\n\n\n\n<li>Data retrieval: Can a simple account-list request succeed?<\/li>\n\n\n\n<li>Operation authorization: Are the necessary read or write tools allowed?<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Do not start troubleshooting an advertising metric query until basic account retrieval succeeds.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Also, do not test the MCP URL by expecting it to display a website. An MCP endpoint can reject an ordinary browser GET request while still supporting the appropriate protocol requests.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">12. Security Best Practices<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Because an AI assistant may receive access to advertising accounts with real spending budgets, security needs to be configured before advanced workflows are introduced.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Practical security checklist<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use Meta&#8217;s official endpoint rather than an unverified third-party server.<\/li>\n\n\n\n<li>Enable multi-factor authentication on relevant business accounts.<\/li>\n\n\n\n<li>Connect only approved business portfolios and advertising assets.<\/li>\n\n\n\n<li>Disable unnecessary write and delete tools.<\/li>\n\n\n\n<li>Configure Meta Ads MCP server rules for each account where available.<\/li>\n\n\n\n<li>Require explicit review of proposed campaign and budget changes.<\/li>\n\n\n\n<li>Set and monitor suitable advertising spending limits.<\/li>\n\n\n\n<li>Avoid granting unrestricted access across client advertising accounts.<\/li>\n\n\n\n<li>Review Ads Manager activity history after changes.<\/li>\n\n\n\n<li>Never paste passwords, OAuth tokens, or client secrets into prompts.<\/li>\n\n\n\n<li>Remove unused connectors and revoke their authorization.<\/li>\n\n\n\n<li>Periodically review available MCP tools because server capabilities may evolve.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Anthropic warns that remote MCP servers can execute actions within the permissions granted to them. It also recommends careful tool approval, verifying server trust, and reviewing connector access. Claude Help Center<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For agencies, a useful access model is to separate reporting users from people authorized to publish advertising changes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Recommended operating policy: AI may inspect and recommend by default. An authorized person must approve any account modification, and the resulting state must be verified in Meta Ads Manager.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">13. Limitations and Important Considerations<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Limitation<\/th><th>Explanation<\/th><\/tr><tr><td>Beta availability<\/td><td>Meta may enable tools and accounts in stages<\/td><\/tr><tr><td>Claude plan differences<\/td><td>Web connectors and Claude Code have different subscription requirements<\/td><\/tr><tr><td>OAuth compatibility<\/td><td>Not every MCP client can necessarily complete Meta&#8217;s authorization flow<\/td><\/tr><tr><td>Account permissions<\/td><td>MCP access remains subject to Meta authorization<\/td><\/tr><tr><td>Tool coverage<\/td><td>The server may not expose every Marketing API feature<\/td><\/tr><tr><td>Read versus write<\/td><td>Available reporting capabilities do not guarantee management permissions<\/td><\/tr><tr><td>Rate limits<\/td><td>Reporting requests may be limited; fixed public limits were not verified<\/td><\/tr><tr><td>Data availability<\/td><td>Conversion data depends on tracking, attribution, and account configuration<\/td><\/tr><tr><td>External systems<\/td><td>CRM, ecommerce, and analytics data are not automatically included<\/td><\/tr><tr><td>Geographic availability<\/td><td>Account eligibility and feature rollout may vary<\/td><\/tr><tr><td>Approval workflows<\/td><td>New draft and publishing behavior must be verified for the account and tool concerned<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Meta&#8217;s October 2026 announcement described expanded draft-based workflows and approvals, but it did not establish that every advertising account receives identical behavior. Acerca de Meta<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide does not claim to have completed an authenticated test against a live Meta ad account. The integration instructions are grounded in published documentation; the precise tools and permissions must be verified in your own connected environment.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">14. Claude Web vs Claude Desktop vs Claude Code<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Feature<\/th><th>Claude Web<\/th><th>Claude Desktop<\/th><th>Claude Code<\/th><\/tr><tr><td>Installation<\/td><td>None<\/td><td>Desktop app<\/td><td>CLI installation<\/td><\/tr><tr><td>Complexity<\/td><td>Low<\/td><td>Low<\/td><td>Intermediate<\/td><\/tr><tr><td>Remote MCP<\/td><td>Supported<\/td><td>Supported<\/td><td>Supported<\/td><\/tr><tr><td>Authentication<\/td><td>Account connector OAuth<\/td><td>Account connector OAuth<\/td><td>Direct OAuth or imported connector<\/td><\/tr><tr><td>Developer knowledge<\/td><td>Not needed<\/td><td>Not needed<\/td><td>Helpful<\/td><\/tr><tr><td>Campaign reporting<\/td><td>Yes, if tools available<\/td><td>Yes, if tools available<\/td><td>Yes, if tools available<\/td><\/tr><tr><td>Campaign management<\/td><td>Permission-dependent<\/td><td>Permission-dependent<\/td><td>Permission-dependent<\/td><\/tr><tr><td>Free plan<\/td><td>One custom connector<\/td><td>One custom connector<\/td><td>Not included<\/td><\/tr><tr><td>Best for<\/td><td>Beginners and marketers<\/td><td>Daily desktop users<\/td><td>Developers and technical workflows<\/td><\/tr><tr><td>Main limitation<\/td><td>Account and plan restrictions<\/td><td>Application installation<\/td><td>OAuth and CLI configuration complexity<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Which method should you choose?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For most business owners and digital marketers, Claude Web is the best starting point. It requires the fewest setup steps and provides an accessible way to inspect advertising performance.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Claude Desktop is an excellent alternative for people who prefer a dedicated application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Claude Code is best suited to technical users, particularly those who need command-line workflows or want to integrate Meta advertising analysis into a broader development process.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">15. Frequently Asked Questions<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">1. Can Claude connect directly to Meta Ads?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, through Meta&#8217;s official remote Ads MCP server, subject to account eligibility and connector authorization.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. What is Meta Ads MCP?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is Meta&#8217;s hosted MCP interface for exposing supported advertising reporting and management tools to authorized AI applications.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3. Is Meta Ads MCP free?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Meta has not published a separate general connector fee in the official announcements reviewed. Beta availability, Claude subscription costs, and normal advertising expenditure are separate considerations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4. Do I need Claude Pro?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Not for a single custom remote connector on Claude Web or Desktop. Claude Code requires an eligible paid or API\/provider arrangement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5. Can I use Claude Desktop?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yes. Configure the remote connector through the Claude account&#8217;s connector management interface.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">6. Can I use Claude Code?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yes. It supports remote MCP over HTTP, though Meta OAuth compatibility may require using the connector established through Claude Web.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">7. Do I need a Meta Developer account?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Not for the standard Meta-hosted OAuth integration. Developer-app registration is a separate advanced approach.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">8. Is Facebook OAuth required?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The normal connection uses Meta authorization. You should complete it through the supported sign-in process.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">9. Can Claude access multiple advertising accounts?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Potentially, if your Meta login has access and MCP is enabled for the relevant accounts. Review account scope carefully.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">10. Can Claude retrieve advertising expenditure?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, when the applicable reporting tools, permissions, and data are available.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">11. Can Claude calculate ROAS?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, if attributed purchase value and spend are available for a consistent reporting period.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">12. Can Claude create Facebook campaigns?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Meta documents campaign creation capabilities, but actual execution depends on tool availability, permissions, and approval behavior.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">13. Can Claude pause advertisements?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Potentially, through supported entity-management operations. Check the exact tool and its authorization before allowing changes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">14. Can Claude change campaign budgets?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Potentially, when the account and tool permit it. Budget changes should require explicit review.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">15. Is the integration secure?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It uses supported authentication and access controls, but security depends on permissions, trusted endpoints, approval rules, and ongoing review.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">16. Can I disconnect the integration?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yes. Remove or disconnect the connector in Claude and revoke the relevant authorization in Meta when necessary.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">17. What should I do if authentication fails?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Check the Meta account, OAuth error, client compatibility, and account eligibility. Prefer the supported Claude Web connection when direct CLI authentication fails.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">16. Screenshot Plan for the Published Tutorial<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Screenshots are valuable for a beginner-focused implementation guide, but they should show genuine interfaces captured from the author&#8217;s account. No synthetic application screenshots are presented as real configuration evidence here.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Use the following placeholders when preparing the WordPress article.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Screenshot<\/th><th>Title and what should be visible<\/th><th>Capture location<\/th><th>Explanation<\/th><\/tr><tr><td>01<\/td><td>Claude Web connector settings \u2014 Settings page with the Connectors section<\/td><td>Claude Web \u2192 Customize \u2192 Connectors<\/td><td>Shows the starting location for integration<\/td><\/tr><tr><td>02<\/td><td>Add custom connector \u2014 Add and Custom Web connector options<\/td><td>Claude Web connector management<\/td><td>Shows which connector type to select<\/td><\/tr><tr><td>03<\/td><td>Meta Ads endpoint configuration \u2014 Connector name and MCP URL fields<\/td><td>Custom connector creation screen<\/td><td>Demonstrates the official endpoint<\/td><\/tr><tr><td>04<\/td><td>Meta OAuth authorization \u2014 Real Meta sign-in and permission approval screen<\/td><td>Browser during connection<\/td><td>Explains authentication and requested permissions<\/td><\/tr><tr><td>05<\/td><td>Meta Business asset selection \u2014 Business portfolio and selectable assets, if shown<\/td><td>Meta authorization workflow<\/td><td>Explains selecting the appropriate business assets<\/td><\/tr><tr><td>06<\/td><td>Claude Desktop connectors \u2014 Connector management in the desktop application<\/td><td>Claude Desktop settings<\/td><td>Demonstrates the desktop configuration<\/td><\/tr><tr><td>07<\/td><td>Claude Code configuration \u2014 Terminal showing the MCP add command and result<\/td><td>Terminal after registering Meta Ads<\/td><td>Demonstrates CLI registration<\/td><\/tr><tr><td>08<\/td><td>MCP server status \u2014 Connected status or available tools<\/td><td>Claude Code <code>\/mcp<\/code> or connector panel<\/td><td>Confirms connection status<\/td><\/tr><tr><td>09<\/td><td>Successful advertising report \u2014 Real account names and performance metrics, with sensitive data masked<\/td><td>Claude conversation after reporting query<\/td><td>Demonstrates verified data retrieval<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">For each screenshot, include a caption identifying the step and explain the relevant visual elements. Mask personal details, business identifiers, confidential budgets, and any other information you are not authorized to publish.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">17. SEO, Internal Links, and Structured Data<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Recommended article structure<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The tutorial is organized around the primary keyword Meta Ads Integration with Claude, with secondary phrases naturally distributed among the relevant sections.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Potential internal links for a digital marketing or technology education website include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Meta Ads Manager beginner tutorial<\/li>\n\n\n\n<li>Facebook Ads campaign optimization guide<\/li>\n\n\n\n<li>Instagram Reels advertising tutorial<\/li>\n\n\n\n<li>Model Context Protocol (MCP) beginner&#8217;s guide<\/li>\n\n\n\n<li>Claude AI tutorial for beginners<\/li>\n\n\n\n<li>Meta Pixel and Conversions API setup<\/li>\n\n\n\n<li>Facebook Ads ROAS, CPA, and CTR explained<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">FAQ schema recommendation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For sites that support structured data, you may add <code>FAQPage<\/code> JSON-LD matching questions and answers actually visible in the published page.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-10\" data-shcb-language-name=\"JSON \/ JSON with Comments\" data-shcb-language-slug=\"json\"><span><code class=\"hljs language-json\">{\n  <span class=\"hljs-attr\">\"@context\"<\/span>: <span class=\"hljs-string\">\"https:\/\/schema.org\"<\/span>,\n  <span class=\"hljs-attr\">\"@type\"<\/span>: <span class=\"hljs-string\">\"FAQPage\"<\/span>,\n  <span class=\"hljs-attr\">\"mainEntity\"<\/span>: &#91;\n    {\n      <span class=\"hljs-attr\">\"@type\"<\/span>: <span class=\"hljs-string\">\"Question\"<\/span>,\n      <span class=\"hljs-attr\">\"name\"<\/span>: <span class=\"hljs-string\">\"Can Claude connect directly to Meta Ads?\"<\/span>,\n      <span class=\"hljs-attr\">\"acceptedAnswer\"<\/span>: {\n        <span class=\"hljs-attr\">\"@type\"<\/span>: <span class=\"hljs-string\">\"Answer\"<\/span>,\n        <span class=\"hljs-attr\">\"text\"<\/span>: <span class=\"hljs-string\">\"Yes. Claude can connect through Meta's official Ads MCP server when the account is eligible and properly authorized.\"<\/span>\n      }\n    },\n    {\n      <span class=\"hljs-attr\">\"@type\"<\/span>: <span class=\"hljs-string\">\"Question\"<\/span>,\n      <span class=\"hljs-attr\">\"name\"<\/span>: <span class=\"hljs-string\">\"Do I need a Meta Developer account?\"<\/span>,\n      <span class=\"hljs-attr\">\"acceptedAnswer\"<\/span>: {\n        <span class=\"hljs-attr\">\"@type\"<\/span>: <span class=\"hljs-string\">\"Answer\"<\/span>,\n        <span class=\"hljs-attr\">\"text\"<\/span>: <span class=\"hljs-string\">\"A developer application is not required for the standard Meta-hosted OAuth connector.\"<\/span>\n      }\n    }\n  ]\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-10\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JSON \/ JSON with Comments<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">json<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Structured data should match the visible content exactly. Implementing FAQ schema does not guarantee a special search-result appearance.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">18. Official Documentation and References<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">These are the primary references for validating and maintaining this tutorial.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Resource<\/th><th>Reference<\/th><\/tr><tr><td>Meta Ads AI Connectors announcement<\/td><td><a href=\"https:\/\/www.facebook.com\/business\/news\/meta-ads-ai-connectors?utm_source=chatgpt.com\">Meta for Business<\/a><\/td><\/tr><tr><td>Meta Ads MCP overview<\/td><td><a href=\"https:\/\/developers.facebook.com\/documentation\/ads-commerce\/ads-ai-connectors\/ads-mcp-server\/ads-mcp-server-overview?utm_source=chatgpt.com\">Meta for Developers<\/a><\/td><\/tr><tr><td>Meta Ads MCP getting started<\/td><td><a href=\"https:\/\/developers.facebook.com\/documentation\/ads-commerce\/ads-ai-connectors\/ads-mcp-server\/ads-mcp-server-get-started?utm_source=chatgpt.com\">Meta developer guide<\/a><\/td><\/tr><tr><td>Meta Ads MCP business help<\/td><td><a href=\"https:\/\/www.facebook.com\/business\/help\/1456422242197840?utm_source=chatgpt.com\">Meta Business Help Center<\/a><\/td><\/tr><tr><td>Meta&#8217;s October 2026 MCP expansion<\/td><td><a href=\"https:\/\/about.fb.com\/ltam\/news\/2026\/10\/advertising-week-new-york-2026-nuevas-capacidades-de-ia-para-guiar-campanas-y-llegar-a-los-clientes\/?utm_source=chatgpt.com\">Official Meta newsroom announcement (Spanish)<\/a><\/td><\/tr><tr><td>Claude custom connectors<\/td><td><a href=\"https:\/\/support.claude.com\/en\/articles\/11175166-get-started-with-custom-connectors-using-remote-mcp?utm_source=chatgpt.com\">Anthropic Help Center<\/a><\/td><\/tr><tr><td>Claude connector management<\/td><td><a href=\"https:\/\/support.claude.com\/en\/articles\/11176164-use-connectors-to-extend-claude-s-capabilities?utm_source=chatgpt.com\">Anthropic Help Center<\/a><\/td><\/tr><tr><td>Claude Code MCP configuration<\/td><td><a href=\"https:\/\/code.claude.com\/docs\/en\/mcp?utm_source=chatgpt.com\">Claude Code Documentation<\/a><\/td><\/tr><tr><td>Claude Code installation<\/td><td><a href=\"https:\/\/code.claude.com\/docs\/en\/setup?utm_source=chatgpt.com\">Claude Code Setup<\/a><\/td><\/tr><tr><td>Claude Desktop installation<\/td><td><a href=\"https:\/\/support.claude.com\/en\/articles\/10065433-install-claude-desktop?utm_source=chatgpt.com\">Claude Desktop Help Center<\/a><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Documentation verification note: The Anthropic configuration instructions and Meta&#8217;s October newsroom announcement were accessible for direct verification. Some Meta Business and developer documentation pages required login or returned access restrictions, so the detailed tool examples were additionally cross-checked against public documentation inventories. A live authenticated tool inventory is still necessary before enabling advanced write operations.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">19. Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Meta Ads MCP represents a significant improvement in how advertisers can interact with their advertising accounts.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead of relying entirely on dashboards and exported spreadsheets, advertisers can use Claude AI to request campaign reports, compare results, investigate delivery problems, and develop advertising optimization plans in natural language.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For beginners, the most practical implementation is straightforward:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Verify your Meta advertising account and permissions.<\/li>\n\n\n\n<li>Check whether Ads MCP is enabled for the account.<\/li>\n\n\n\n<li>Add <code>https:\/\/mcp.facebook.com\/ads<\/code> in Claude Web as a custom remote connector.<\/li>\n\n\n\n<li>Complete Meta OAuth authentication.<\/li>\n\n\n\n<li>Enable the connector and verify read access using a simple account-listing query.<\/li>\n\n\n\n<li>Begin with reporting and analysis before considering campaign changes.<\/li>\n\n\n\n<li>Configure permission restrictions and require human approval for consequential actions.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">The most valuable use of this integration is not to let an AI assistant make every advertising decision automatically. It is to help advertisers understand campaign performance faster, investigate issues systematically, and make better-informed decisions while retaining control of their advertising budgets.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Updated: October 31, 2026 | Beginner to Intermediate | Technical Tutorial SEO Title: Meta Ads Integration with Claude AI Using MCP Meta Description: Learn how to connect&#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[11138],"tags":[],"class_list":["post-79695","post","type-post","status-publish","format-standard","hentry","category-best-tools"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/79695","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=79695"}],"version-history":[{"count":1,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/79695\/revisions"}],"predecessor-version":[{"id":79696,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/79695\/revisions\/79696"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=79695"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=79695"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=79695"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}