arielshemesh1999@gmail.com · ישראל
← כל המאמרים

Meta Ads MCP servers

ארבעה Model Context Protocol servers קוד-פתוח שהופכים את Claude, Cursor ו-Claude Desktop למשטח שליטה על Meta Marketing API - ממשגר קמפיינים עם 13 כלים ועד מפלצת v25.0 עם 135 כלים שמכסה קטלוגים, המרות וקהלים.

מה זה

Meta Marketing API - הכלי שבו חיים כל סוכנות, מפרסם ביצועים ומנהל צמיחה - הוא ענק ומסועף. Campaign, ad set, ad, creative, קהל, pixel, קטלוג, business, דף: לכל אובייקט משטח create/read/update/delete משלו, עם השדות, ההגבלות וההיגיון שלו. ארבעה MCP servers קוד-פתוח עוטפים כיום חלקים שונים של ה-Graph API וחושפים אותם לכל client שמדבר Model Context Protocol - Claude Desktop, Cursor, מחברי Claude.ai ו-Continue. הרעיון אחד: להפסיק ללחוץ ב-Ads Manager ולדבר עם Claude במקום.

מפרט MCP מגדיר שלושה משטחים שהשרת יכול לחשוף - tools (פעולות שהמודל מפעיל), resources (נתונים שהמודל קורא) ו-prompts (תבניות מוכנות). כל אחד מארבעת השרתים מתרגם משפט כמו "השהה את כל ה-ad sets בחשבון 1234 עם ROAS מתחת ל-1.2 בשבוע האחרון" לרצף קריאות ה-Graph API המדויקות ש-Meta מצפה להן - עם ה-access token הנכון, מזהה חשבון הפרסום בפורמט act_XXXXXXXXX וטיפול בשגיאות מובנים פנימה. ההבדל בין השרתים הוא לא מה הם עושים אלא כמה רחב הם פורשים את ה-API ואיזו דרך אימות הם דורשים.

איך זה עובד - ארכיטקטורה

כל ארבעת השרתים חולקים את אותו מבנה. ה-MCP host מפעיל את השרת כתהליך stdio מקומי או כ-endpoint מרוחק ב-HTTP. השרת רושם רשימת כלים (לדוגמה create_campaign, get_ad_insights, upload_image) ומחכה. כשהמודל קורא לכלי, השרת חותם את הבקשה ב-Meta access token, פונה אל graph.facebook.com/v25.0/…, מפרסר את ה-JSON ומחזיר תוצאה מעוצבת שהמודל יכול לנתח. כל ההבדל המעשי הוא בכמות הכלים, גרסת ה-Graph API שאליה כל שרת מקומפל, והאם הוא רץ אצלך או מתארח בענן.

כל שרת בוחר נקודה שונה על הציר שבין פשטות לכיסוי מלא:

  • pipeboard-co/meta-ads-mcp42 כלים (גרסה 1.0.117, נכון ליוני 2026). MCP מרוחק מאוחסן ב-meta-ads.mcp.pipeboard.co, OAuth דרך pipeboard.co, אפס הגדרות מקומיות - מיועד לחוויית "עובד מהקופסה". Python, רישיון Business Source License 1.1 שהופך ל-Apache 2.0 ב-1 בינואר 2029 (כלומר חופשי לשינוי והפצה, אך מוגבל לשימוש כשירות מתחרה מתארח). מכסה ניהול חשבון, יצירת קמפיינים/ad sets/מודעות, העלאת creatives, תזמון תקציב וחיפוש קהלים לפי interest/behavior/דמוגרפיה/גיאוגרפיה.
  • mikusnuz/meta-ads-mcp135 כלים, הכיסוי הרחב ביותר. ממופה ל-Graph API v25.0 ומחולק לקטגוריות: Campaign Management (25), Audiences & Targeting (16), Catalog & Commerce (17), Account & Business (15), Media Assets (12), Budget & Planning (8), Creatives ו-Insights (6 כל אחד), Leads/Automation/Experiments/Brand Safety/Conversions (4-5 כל אחד) ו-Ad Library (1). TypeScript, ניתן להתקנה ב-npx. MIT.
  • hashcott/meta-ads-mcp-server54 כלים (35 קריאה תמיד פעילים + 19 כתיבה מושבתים כברירת מחדל). TypeScript, Node 18+, Meta Graph API v22.0. תומך גם ב-stdio וגם ב-HTTP transport, ה-token נשאר בזיכרון בלבד ולעולם לא נכתב לדיסק, וניתן לפריסה ב-Railway/Render/Fly. MIT.
  • attainmentlabs/meta-ads-mcp13 כלים (גרסה 0.2.0, נכון ליוני 2026): יצירת קמפיין, סיכום חשבון, רשימות קמפיינים/ad sets/מודעות, insights, העלאת תמונה, עדכון תקציב יומי, פעולות בכמות ופעולות מחזור-חיים (pause_campaign, activate_campaign, delete_campaign). Python 3.10+, ניתן להתקנה ב-uvx. כל קמפיין נוצר במצב PAUSED ול-create_meta_campaign יש פרמטר dry_run שברירת המחדל שלו True - הוא מדמה את קריאת ה-API בלי להוציא שקל. MIT.

התקנה

כל שרת הוא פקודה אחת. בחר לפי כמה כיסוי אתה באמת צריך.

mikusnuz (135 כלים, npx):

npx -y @mikusnuz/meta-ads-mcp

hashcott (54 כלים, npx עם token):

npx meta-ads-mcp-server --access-token YOUR_META_ACCESS_TOKEN

hashcott (מקוד המקור):

git clone https://github.com/hashcott/meta-ads-mcp.git
cd meta-ads-mcp
npm install
npm run build
node dist/index.js --access-token YOUR_META_ACCESS_TOKEN

attainmentlabs (13 כלים, Python): רץ ישירות ב-uvx בלי התקנה מוקדמת, או דרך pip:

uvx meta-ads-manager-mcp
# או
pip install meta-ads-manager-mcp

pipeboard-co (מרוחק, ללא התקנה מקומית): הפנה את ה-MCP client שלך אל https://meta-ads.mcp.pipeboard.co/ וחבר פעם אחת ב-OAuth ב-pipeboard.co. אין צעד npx או pip. כחלופה ל-OAuth אפשר להעביר token ישירות בכתובת: https://meta-ads.mcp.pipeboard.co/?token=YOUR_PIPEBOARD_TOKEN.

הגדרות

אימות Meta הוא שער הכניסה. נדרשים שלושה דברים: אפליקציה (App ID + App Secret מ-developers.facebook.com), access token עם ה-scopes הנכונים, ומזהה חשבון הפרסום בפורמט act_XXXXXXXXX.

Token scopes הנדרשים לשליטה מלאה ב-Marketing API:

  • ads_management — יצירה/עדכון/השהיה של קמפיינים, ad sets ומודעות, וכן כל CRUD של creatives.
  • ads_read — insights, דיווח ונתוני קהל.
  • business_management — פעולה על נכסים בבעלות Business Manager, משתמשי מערכת והקצאות חשבון.
  • pages_show_list, pages_read_engagement — קישור אובייקטי מודעות מבוססי-דף וטפסי לידים.
  • leads_retrieval — שליפת הגשות טפסי Lead Ads.
  • catalog_management — כלי קטלוג, product set, מוצר ו-feed (mikusnuz בלבד).

שלושה סוגי token, לפי סדר העדפתי בסביבת ייצור:

  1. Graph API Explorer token — כשעה, לדיבאג בלבד.
  2. Token משתמש ל-60 יוםgrant_type=fb_exchange_token על /oauth/access_token, מתאים לכלים אישיים.
  3. System User token — נוצר בתוך Business Manager (Settings → Users → System Users), ללא תפוגה - מה שכל workflow רציני צריך להשתמש בו.

קובץ הגדרות Claude Desktop ב-~/Library/Application Support/Claude/claude_desktop_config.json (macOS) או %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "meta-ads": {
      "command": "npx",
      "args": ["-y", "@mikusnuz/meta-ads-mcp"],
      "env": {
        "META_ADS_ACCESS_TOKEN": "EAABsbCS1iHg…",
        "META_AD_ACCOUNT_ID": "123456789012345",
        "META_APP_ID": "your-app-id",
        "META_APP_SECRET": "your-app-secret",
        "META_BUSINESS_ID": "your-business-id",
        "META_PIXEL_ID": "your-pixel-id"
      }
    }
  }
}

עבור hashcott, כלי הכתיבה מושבתים כברירת מחדל; שנה את משתנה הסביבה כדי להפעיל אותם (הערכים המתקבלים: true, 1, yes, on). לפריסת ה-HTTP transport הוסף גם TRANSPORT=http ו-PORT:

"env": {
  "META_ADS_ACCESS_TOKEN": "EAA…",
  "META_ADS_ENABLE_WRITE_TOOLS": "true"
}

שים לב לפרט שמכשיל הרבה אנשים: attainmentlabs משתמש בשמות אחרים. שם ה-token הוא META_ACCESS_TOKEN (בלי ADS_), מזהה החשבון META_AD_ACCOUNT_ID ניתן כמספרים בלבד ללא תחילית act_, ונדרש גם META_PAGE_ID. mikusnuz, לעומתו, מצפה ל-META_ADS_ACCESS_TOKEN וחושף את מזהה החשבון דרך META_AD_ACCOUNT_ID.

עבור השרת המרוחק של pipeboard, אין token בהגדרות - מתבצע אימות פעם אחת בדפדפן:

{
  "mcpServers": {
    "meta-ads-remote": { "url": "https://meta-ads.mcp.pipeboard.co/" }
  }
}

דוגמאות קוד

שכבת MCP היא העטיפה; העבודה האמיתית היא Graph API. כך נראה כל כלי מתחת למכסה המנוע.

יצירת קמפיין דרך endpoint של v25.0 - לכך create_campaign מתרגם:

POST https://graph.facebook.com/v25.0/act_123456789012345/campaigns
Content-Type: application/x-www-form-urlencoded

name=Spring%20Launch
&objective=OUTCOME_SALES
&status=PAUSED
&special_ad_categories=[]
&access_token=EAABsbCS1iHg…

שליפת insights — הכלי get_ad_insights מחזיר ROAS, CPC, CPM, CTR והמרות:

GET https://graph.facebook.com/v25.0/act_123456789012345/insights
  ?level=ad
  &fields=ad_id,ad_name,spend,impressions,clicks,ctr,cpc,
          actions,action_values,purchase_roas
  &date_preset=last_7d
  &access_token=EAA…

העלאת תמונת creative (mikusnuz upload_image):

POST https://graph.facebook.com/v25.0/act_123456789012345/adimages
Content-Type: multipart/form-data

filename=creative_spring.jpg
&access_token=EAA…

מחזיר את ה-hash של התמונה שאליו מתייחסים בבניית ה-ad creative.

שיחה טיפוסית עם Claude לאחר חיבור השרת:

You: Pause every ad set in act_1234 with ROAS < 1.2 over the last 7 days.

Claude (tool call) -> get_ad_account_insights({
  account_id: "act_1234",
  level: "adset",
  date_preset: "last_7d",
  fields: ["adset_id", "purchase_roas"]
})

Claude (tool call) -> update_adset({
  adset_id: "238...91",
  status: "PAUSED"
}) x 6 underperformers

מה חדש / גרסאות

Meta Marketing API v25.0 היא הגרסה הנוכחית מאז 18 בפברואר 2026 (קודמותיה: v24.0 ב-8 באוקטובר 2025, v23.0 ב-29 במאי 2025 - כלומר Meta משחררת גרסה כל כ-4 חודשים). מי שמכוון לגרסה זו נהנה מכמה דברים ש-mikusnuz מכסה במלואם:

  • Catalog & Commerce הוא הסל הגדול ביותר — 17 כלים לפידי מוצרים, product sets ומודעות דינמיות.
  • כלי Conversions API (4 כלים) מטפלים בשליחת אירועים בצד-שרת, מה שהפך לקריטי לייחוס מאז ATT של iOS 14.5+.
  • סל Campaign Management (25 כלים) חושף את היעדים מבוססי-התוצאות של ODAX, כולל Advantage+ shopping campaigns.

טבלת גרסאות:

  • mikusnuz/meta-ads-mcp — 135 כלים, Graph API v25.0, MIT, TypeScript.
  • pipeboard-co/meta-ads-mcp — 42 כלים (v1.0.117), MCP מרוחק מאוחסן, BSL 1.1 (Apache 2.0 ב-1 בינואר 2029), Python.
  • hashcott/meta-ads-mcp-server — 54 כלים (35 קריאה + 19 כתיבה), Graph API v22.0, MIT, Node 18+.
  • attainmentlabs/meta-ads-mcp — 13 כלים, ניתן להתקנה ב-uvx, MIT, Python 3.10+.

למה זה חשוב בפועל

בשימוש יומיומי המנוף הגדול הוא קיצור הדרך שבין שאלה לתשובה. בלי MCP, כל "בדיקה מהירה" פירושה Ads Manager - לטעון את ה-SPA, למצוא את החשבון, לסנן, להעיף עיניים במספרים, ללחוץ אל ה-ad sets, להעתיק לגיליון. עם MCP, מנסחים את אותה שאלה במשפט - "איך התנהג ה-ad set הזה השבוע לעומת שבוע שעבר" - והמודל שולף את ה-insights, מחשב את הדלתא ומציע מה להשהות. אותו workflow, שניות במקום דקות. זה לא קסם; זה פשוט הסרת החיכוך של ה-UI מהלולאה.

מניסיון, כדאי לבחור שרת לפי הצורך ולא לפי מספר הכלים: mikusnuz כשצריך כיסוי מלא (עבודת קטלוג, הנדסת קהלים), hashcott לדיווח כבד-קריאה (35 כלי קריאה, ללא סיכון כתיבה), pipeboard כשרוצים התחלה מהירה ללא הגדרות מקומיות, ו-attainmentlabs כשרק רוצים להשיק קמפיין בודד ולא לגעת בחשבון שוב. כלל הברזל: לעולם אל תיתן למודל כלי כתיבה על חשבון שאתה לא יכול להרשות לעצמך לשחזר - תמיד תבדוק קודם עם קמפיין dev מושהה; ברירת המחדל dry_run=True של attainmentlabs היא חגורת הבטיחות הנקייה ביותר שראיתי.

הבחירה בין v25.0 (mikusnuz) ל-v22.0 (hashcott) משמעותית יותר ממה שמספרי גרסאות ה-Graph API גורמים לזה להישמע. v25.0 היא הגרסה העדכנית, ובה Advantage+ shopping campaigns, ה-endpoints החדשים של Conversions API וסט היעדים המלא מבוסס-התוצאות ODAX זמינים במלואם. v22.0 עדיין עובדת מצוין לדיווח כבד-קריאה. הגוטצ'ה שמשותף לשתי הגרסאות: אם תנסה create_campaign עם יעד legacy כמו LINK_CLICKS, BRAND_AWARENESS או CONVERSIONS, ה-API יחזיר HTTP 400 - רק ששת הערכים מבוססי-התוצאות מתקבלים: OUTCOME_AWARENESS, OUTCOME_TRAFFIC, OUTCOME_ENGAGEMENT, OUTCOME_LEADS, OUTCOME_SALES ו-OUTCOME_APP_PROMOTION. כדאי לתת ל-Claude את המיפוי הזה בהנחיה כדי שלא ינסה יעדים ישנים.

הערה תפעולית לסיום. mikusnuz חושף 3 MCP resources לצד 135 הכלים — ads://account (סקירת חשבון, יתרה, מטבע, אזור זמן, סך הוצאה), ads://campaigns-overview (כל הקמפיינים הפעילים עם תקציביהם) ו-ads://spending-today (הוצאה, חשיפות, קליקים ו-reach ליום הנוכחי). בנוסף 3 MCP prompts: campaign_wizard, performance_report, audience_builder. המשאבים האלה הם מה שהופך "בדיקת בוקר" למשפט אחד: המודל קורא את ads://spending-today, משווה לתקציב של אתמול ומצביע על מה שצריך להשהות. בשימוש יומיומי כדאי לחבר אותם לפני שמתחילים לנסח קריאות לכלים ביד.

מקורות