
מה זה
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-mcp — 42 כלים (גרסה 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-mcp — 135 כלים, הכיסוי הרחב ביותר. ממופה ל-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-server — 54 כלים (35 קריאה תמיד פעילים + 19 כתיבה מושבתים כברירת מחדל). TypeScript, Node 18+, Meta Graph API v22.0. תומך גם ב-stdio וגם ב-HTTP transport, ה-token נשאר בזיכרון בלבד ולעולם לא נכתב לדיסק, וניתן לפריסה ב-Railway/Render/Fly. MIT.
- attainmentlabs/meta-ads-mcp — 13 כלים (גרסה 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, לפי סדר העדפתי בסביבת ייצור:
- Graph API Explorer token — כשעה, לדיבאג בלבד.
- Token משתמש ל-60 יום —
grant_type=fb_exchange_tokenעל/oauth/access_token, מתאים לכלים אישיים. - 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, משווה לתקציב של אתמול ומצביע על מה שצריך להשהות. בשימוש יומיומי כדאי לחבר אותם לפני שמתחילים לנסח קריאות לכלים ביד.