
ZuckerBot — Meta Ads MCP Server
io.github.Crumbedsausage由 GitHub 帳號 Crumbedsausage 發布v0.4.4更新於 Oct 24, 2026
60+ Meta Ads tools for AI agents: audits, campaign management, audiences and CAPI tracking.
概覽
ZuckerBot 是一個 Meta 廣告 MCP 伺服器,讓 AI 助理透過 Meta Marketing API 稽核廣告帳戶、管理行銷活動與受眾,並追蹤轉換。
- 可以做什麼
- 稽核廣告帳戶,取得行銷活動、廣告組與廣告層級的成效及帳戶洞察,包含潛在客戶與成本指標,並進行創意分析與政策檢查。建立、預覽、發布、暫停與恢復行銷活動、廣告組和廣告,並可從已上傳素材複製或建立暫停狀態的廣告。建立自訂受眾與類似受眾,重新整理並查看狀態。設定伺服器端轉換追蹤(CAPI),送出測試事件與潛在客戶品質回饋,管理像素。研究競爭對手、評論與市場基準,並從網站或上傳文字擷取業務背景。
- 適用情境
- 適合想透過與 AI 助理對話來操作 Meta 廣告、而不使用 Ads Manager 後台的場合:稽核花費、查看成效、規劃並發布行銷活動,或設定轉換追蹤。免費方案為唯讀,適合在付費前做評估與報表。
- 執行需求
- 可使用託管的 Streamable HTTP 端點(OAuth 或 bearer API 金鑰),或透過 npx 執行本機 npm 套件(需要 Node.js)。必須提供 ZuckerBot API 金鑰,透過 ZUCKERBOT_API_KEY 環境變數或 bearer 權杖傳入。帳戶相關工具需要已連接的 Meta 廣告帳戶與 Facebook 粉絲專頁。創意生成工具預設關閉,需以 ZUCKERBOT_ENABLE_CREATIVE_TOOLS 啟用。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 ZuckerBot — Meta Ads MCP Server,將其新增到工作區。
- 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
- 為需要使用其工具的對話啟用該服務。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
交給代理程式安裝
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/io.github.Crumbedsausage%2Fzuckerbot/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。其他 MCP 客戶端
把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。
{
"mcpServers": {
"zuckerbot-meta-ads": {
"type": "http",
"url": "https://zuckerbot.ai/api/mcp"
}
}
}README
ZuckerBot
The Meta Ads toolkit for AI agents.
Audit your ad account in one message. 50+ tools for account auditing, campaign management, creative analysis, audience building, and conversion tracking. One npx command. Works with Claude, ChatGPT, OpenClaw, Cursor, and any MCP-compatible agent.
[npm version] [License: MIT] [MCP Registry] [GitHub stars]
Get API Key (free) · npm · Docs · Website
Why ZuckerBot?
Your agent already writes code, manages files, and searches the web. It should manage your ads too.
ZuckerBot gives any AI agent full Meta Ads capabilities through MCP. No dashboard, no UI to learn, no platform to log into. Your agent installs it, connects your ad account, and gets to work.
What agents can do with ZuckerBot:
- Audit your ad account in one message — spend flagged for review, creative fatigue, opportunity score, prioritised action items (free tier included)
- Pull campaign performance and spot what's working
- Analyse ad creatives and recommend what to test next
- Build and launch campaigns with targeting and budget
- Create custom and lookalike audiences
- Set up server-side conversion tracking (CAPI)
- Research competitors, reviews, and market benchmarks
- Generate ad creative briefs and copy
How it works
ZuckerBot handles the Meta API complexity. Your agent handles the conversation. You make the decisions.
Install
Claude Desktop
Add to claude_desktop_config.json:
OpenClaw
Add to your MCP config:
Cursor / Windsurf / Any MCP Client
Same config pattern. ZuckerBot works with any client that supports the Model Context Protocol.
Remote MCP (no install)
Don't want to run anything locally? https://zuckerbot.ai/api/mcp is a hosted Streamable HTTP endpoint serving the same tools.
- claude.ai — add it as a custom connector (Settings → Connectors → Add custom connector) and authenticate via OAuth, or pass an
Authorization: Bearer zb_live_...header. - Claude Code:
- Any Streamable HTTP client — point it at
https://zuckerbot.ai/api/mcpwith your API key as a bearer token.
CLI (for humans)
Tools (50+)
Audit & Licensing (2)
Setup & Account (7)
Campaigns (9)
Audiences (6)
Creatives (8)
* Creative image/video generation tools (generate_static_ad, generate_video_ad, get_video_ad_status, generate_creatives, request_creative) are disabled by default — enable them with ZUCKERBOT_ENABLE_CREATIVE_TOOLS=1 in your MCP config env (paid add-on coming). All creative analysis tools stay available.
Conversion Tracking / CAPI (5)
Reporting (2)
get_campaign_insights surfaces three distinct lead figures rather than one collapsed number, each verified against Ads Manager:
Costs are derived as spend / count; Meta's cost_per_action_type is non-additive and is never summed. The same fields roll up in summary as total_meta_result / blended_cost_per_meta_result (with meta_result_type), total_meta_leads / blended_cost_per_meta_lead, and total_conversion_leads / blended_cost_per_conversion_lead (with total_leads / blended_cpl deprecated alongside their per-row counterparts).
Portfolios (5)
Research (3)
Business Context (4)
Typical Agent Flow
Every tool returns a _hint field suggesting the logical next step, so your agent always knows what to do next.
Shorthand: legacy create -> review -> launch -> monitor. Intelligence activation and portfolio launch are temporarily unavailable; existing Meta objects use the reviewed resume workflow below for spec-built and external campaigns.
MCP names include zuckerbot_enrich_business, zuckerbot_upload_business_context, zuckerbot_get_campaign, zuckerbot_activate_campaign, and zuckerbot_create_seed_audience.
zuckerbot_duplicate_ad duplicates one supported ad into an existing ad set in the same ad account — dry-run by default, always created PAUSED, and executes only with an explicit idempotency_key so a retry can never create the ad twice.
zuckerbot_upload_ad_asset uploads a brand-new image or video file into the connected ad account's library from a hosted https URL (Meta downloads it directly), returning the image_hash or video_id; poll zuckerbot_get_ad_asset_status until a video is processed.
zuckerbot_create_ad then builds one new creative + one new PAUSED ad from that asset in any EXISTING ad set — including live campaigns built outside ZuckerBot — with the same dry-run-first, idempotency_key-gated contract as duplication.
ZuckerBot vs alternatives
Pricing
Free tier gets you started. Pro pays for itself with one optimised campaign.
Lifetime deal
Grabbed a ZuckerBot lifetime licence on Dealify? Codes look like ZB-XXXXX-XXXXX-XXXXX and stack on one account:
Redeem straight from your agent with the zuckerbot_redeem_license tool ("redeem my ZuckerBot code ZB-...") or in the browser at zuckerbot.ai/start.html. Redeeming upgrades every API key on your account — and if you don't have a key yet, one is minted for you (shown once, so save it).
Example conversation
You: How are my Meta campaigns doing this week?
Agent calls
get_account_insights+creative_analysisAgent: You spent $2,340 across 4 campaigns this week. Your LAL campaign is crushing it at $28 CPL — that's 40% below your account average. But your broad targeting campaign is at $95 CPL and burning budget. The "customer testimonial" creative has a 3.2% CTR vs 1.1% for your product shots. I'd recommend pausing the broad campaign and shifting that budget to the LAL.
You: Do it.
Agent calls
pause_campaign+ (budget adjustment)
Development
License
MIT
Activate a PAUSED spec-built campaign
Use zuckerbot_resume_campaign (POST /v1/meta/resume) with the real Meta
campaign_id (spec-built or external campaigns, not managed ZuckerBot drafts), optional business_id, and entity_level (ad, adset, or
campaign). For an ad or ad set, include its entity_id.
- Call with
dry_run: true(default). Review the returned hierarchy, account currency, budgets, campaign spend cap and ad-set end dates with the user. Amounts are minor currency units; a daily budget is not a total spend cap. - After explicit approval, send the same target with
dry_run: false,confirm_spend: true, the returnedpreview_hashand a uniqueidempotency_key(8–128 letters, digits, dots, underscores, colons or hyphens). - For a new spec build, repeat for each intended ad, then ad set, then the campaign last. Obtain a fresh preview for each operation. Activation never cascades to other paused objects and preserves all spend controls.
- Use
zuckerbot_pause_campaignto stop any of these objects. Campaign-level pause accepts the real Meta campaign ID; passbusiness_idif needed.
Retry the exact request/key after a transport failure. An uncertain outcome
requires live status inspection (or pausing) before further activation. A stored
successful response describes that operation; replay does not reactivate an
object paused afterwards. ACTIVE is configured status; Meta review, schedules,
and parent/child status can still prevent delivery. Campaigns with more than
100 ad sets or 100 ads require Ads Manager for this preview workflow.
The hosted MCP receives this tool when its API deployment ships. Installed local MCP clients require a package release containing the tool. The legacy draft launch tool is not used for activating objects created by the spec builder.
Local ad asset uploads
Run the stdio MCP or CLI on the machine containing the files.
zuckerbot_upload_ad_asset accepts exactly one of asset_url, an absolute
file_path, or files: [{ file_path, label? }] (up to 20). Local files may be
JPG/JPEG/PNG (30 MB maximum) or MP4/MOV (4 GB maximum). The client validates all
files before a batch starts, transfers them privately in bounded chunks, and
returns per-file results in order. No manual public hosting step is needed.
Images include image_hash, original width, height, and name; videos retain
the existing processing status/polling flow. A failed batch entry does not undo
previous library uploads. Hosted MCP cannot access local paths: use a local client
or asset_url. Library uploads do not create ads or enable delivery.
來源:README.md,提交 b4b5334
工具
0版本歷史
1- v0.4.4最新Sep 16, 2026
評分
已滿足適用檢查項的 85%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通必需25 分
- 已宣告認證方式必需10 分
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分