Meta Ads MCP
Supports Facebook Pages and Facebook ad creation workflows, including duplicating ads by Page post ID to preserve social proof and running partnership ads with Facebook identities.
Imports creative media from a Google Drive folder as part of the ad upload and media pipeline.
Supports Instagram ad creation and partnership content, including connected Instagram accounts, imported Instagram creator posts, and Instagram-only partnership sponsors.
Provides tools for launching and managing Meta ads across ad accounts, including campaigns, ad sets, ads, creatives, targeting, permissions, previews, and bulk ad-creation workflows.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Meta Ads MCPduplicate my top-performing ad by post into my new campaign"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Ads Uploader takes an existing ad you already run, turns its settings into a reusable template, and builds brand-new ads on top of it — new media, copy, CTA, and targeting — in bulk. It also duplicates existing ads by post so social proof is preserved. Point your AI agent at it and describe the ads you want.
Agent-assisted vs fully agentic. For agent-assisted launches, we recommend having your agent assemble a saved build rather than creating ads headlessly — the build is accessible, editable, and launchable from the Ads Uploader web app, so you keep a human review-and-launch step in the polished UI.
Requires an existing paid Ads Uploader account with MCP access and a connected Meta account with the necessary permissions. MCP access is not included in trials.
This repository contains public documentation and connector configuration. Ads Uploader is a proprietary product; its application, backend and MCP server implementation are not included here. See License for the scope of reuse permissions.
What it does
Build ads from a template — copy settings from any existing ad, then swap in new media, text, CTA, links, and targeting.
Bulk creation — many ads across campaigns and ad sets in one job, with per-ad text and creative options.
Duplicate by post — clone existing ads by Page post ID so the original post's likes, comments, and shares carry into new campaigns.
Partnership (branded content) ads — run ads as a partnership with a creator or brand, from your own uploaded media or an imported Instagram post, with shared or per-ad/ad-set sponsors. (See below.)
Media pipeline — import creatives from public URLs, a Google Drive folder, or local files.
Preview before launch — resolve a spec, check Meta permissions, and see exactly what would be created.
Multi-account — list and work across every Meta ad account, Page, and connected Instagram account you have access to.
Related MCP server: Meta Marketing API MCP Server
Why Ads Uploader
Founded on a decade of hands-on Meta advertising, Ads Uploader gives an agent the deepest, most complete Meta (Facebook & Instagram) ad-creation workflows available — everything needed to actually ship campaigns end to end:
Template from any live ad — copy a proven ad's exact settings, then rebuild on top with new media, copy, and targeting.
Real bulk — many ads across campaigns and ad sets in a single job, with per-ad and per-ad-set text.
Partnership / branded content ads — uploaded-media partnerships (Facebook + Instagram) and imported Instagram creator posts, with shared or per-ad/ad-set sponsors and header modes.
Duplicate preserving social proof — clone by post so likes, comments, and shares carry into new campaigns.
Creative depth — carousel, flexible, Multi-Media, Dynamic Optimization, creative enhancements, Advantage+ targeting, CTA and URL tagging.
Human-in-the-loop by design — validate-only previews and saved builds you finish in the web app.
Built by a team that runs Meta ads at scale, and trusted by performance marketers and agencies managing serious Meta budgets.
Install
Claude Code
claude mcp add --transport http ads-uploader https://adsuploader.com/api/mcpClaude desktop / Claude.ai
Settings → Connectors → Add custom connector → paste the URL, then complete sign-in and consent in your browser:
https://adsuploader.com/api/mcpChatGPT
Settings → Connectors (custom MCP) → add the server URL https://adsuploader.com/api/mcp → sign in when prompted.
Cursor
This repository includes an Agent Plugins plugin.json and mcp.json, plus a .mcp.json compatibility file for directory discovery. The plugin connects to the hosted server; authentication happens in your browser.
Add to ~/.cursor/mcp.json (or a project .cursor/mcp.json):
{
"mcpServers": {
"ads-uploader": {
"url": "https://adsuploader.com/api/mcp"
}
}
}After adding the server, complete the Ads Uploader sign-in and consent prompt. Ask the agent to list your ad accounts to check the connection.
Grok
Open Grok Connectors, choose New Connector → Custom, and enter https://adsuploader.com/api/mcp. Follow the authentication prompt. See the Grok connection guide for prerequisites and example prompts; this host connection is awaiting an end-to-end test.
Codex
Add to ~/.codex/config.toml:
[mcp_servers.ads-uploader]
command = "npx"
args = ["mcp-remote", "https://adsuploader.com/api/mcp"]Local stdio package
For hosts that need to upload files directly from disk. Requires Node.js 18+.
npm install -g @adsuploader/cli @adsuploader/mcp
ads login{
"mcpServers": {
"ads-uploader": {
"command": "ads-mcp"
}
}
}The hosted server authenticates through OAuth in your browser — no token copying. The local package reads the credentials saved by ads login. Ask the agent to list my ad accounts to confirm the connection.
Tools
Every tool carries a display title and read-only / destructive hints so your host can show the right guardrails.
Accounts & discovery (read-only)
Tool | What it does |
| Show which Ads Uploader user this session is authenticated as |
| List Meta ad accounts available to you |
| List campaigns in an ad account (name/status filters) |
| List ad sets in a campaign |
| List ads in an ad set |
| Get one ad with its creative details |
| List Facebook Pages and their connected Instagram accounts |
| Search Meta targeting values for a build |
Presets & saved builds
Tool | What it does |
| Browse saved API and ad-text presets |
| Save an existing ad as a reusable preset |
| Browse saved uploader builds |
| Create or edit a durable saved build |
| Fork a saved build into a new draft |
| Delete a saved build |
Media
Tool | What it does |
| Upload media from URLs, a Google Drive folder, or disk |
| Finalize a presigned upload batch |
| List batches or poll an ingest job |
Create & duplicate
Tool | What it does |
| Create ads from a full AdSpec or saved build, incl. partnership ads |
| Resolve a spec, check Meta permissions and partnership sponsors, without creating anything |
| Duplicate ads by Page post ID, preserving social proof |
| Preview a post-ID duplication |
| Poll or resume a running job |
| Cancel a creation or ingest job |
See SKILL.md for the full per-parameter reference agents should follow.
Partnership (branded content) ads
ads_create and ads_preview support partnership ads two ways:
Your own uploaded media, as a partnership on Facebook or Instagram — choose a partner (the Second Identity) by Page and/or Instagram account, apply it across the whole launch or per ad / ad set, and pick the header mode (both identities, partner-only, or dynamic). An Instagram-only partner is supported.
Import an existing Instagram creator post by URL, shortcode, source ID, or ad code, and set the sponsor and text per ad, per ad set, or shared.
Previews report the effective sponsors per ad and check partnership authorization for the First Identity before anything is created. Facebook post imports, mixed post/upload batches, and Threads on imported posts are not supported.
Example prompts
"Using any ad from my Sales ad set as the template, launch these 100 creatives — and write a unique headline and primary text for each."
"Take my best-performing sales ad and build 20 variations with different primary-text hooks, all paused in a new ad set."
"Assemble a saved build from these creatives and copy, then give me the link to review and launch it in the Ads Uploader web app."
"Duplicate the ad behind this Facebook post into my Retargeting ad set so the likes and comments carry over."
"Import this Instagram creator post as a partnership ad with our brand as the sponsor, and preview the sponsors before creating."
"Upload the creatives in this Google Drive folder, then build ads from them in a new ad set with a unique hook per product."
"Preview what would be created from my saved build 'Q4 Prospecting' before anything goes live."
"Search interest targeting for 'home fitness' and add the top matches to my build."
How it works
Draft / preview first.
ads_previewresolves posts, media, and permissions using read and validate-only calls — it never creates ads or stores codes.Hand off to the web app. Instead of launching headlessly, the agent can assemble a saved build and hand you a link — it hydrates in the Ads Uploader web uploader (an open tab picks it up automatically) so you review and launch from the full UI.
Long jobs stay responsive. The hosted server returns
still_runningwith ajobIdafter ~60s so tool calls stay under proxy deadlines; resume withads_get_job.OAuth, not tokens. The hosted server authenticates with OAuth 2.1 (PKCE) in your browser.
Learn more
Website: https://adsuploader.com/meta-ads-mcp
Security: SECURITY.md · Privacy: PRIVACY.md
Support
Questions or issues: support@adsuploader.com
License
The documentation, examples and connector configuration explicitly listed in LICENSE are available under the MIT License. You can reuse and adapt those files while retaining the license and copyright notice. The license field in plugin.json refers only to this public connector package and the files covered by that license.
Ads Uploader remains proprietary. The hosted product, application and backend source code, MCP server implementation, API/CLI implementation, and separately distributed npm packages (including @adsuploader/mcp and @adsuploader/cli) are outside this license. Linking to a package or service does not license its implementation. Service use remains subject to your subscription, permissions and Terms of Service.
The assets/ directory, logos, brand artwork and trademarks are excluded from the MIT license. All rights in excluded material are reserved by their respective owners. No right to imply affiliation or endorsement is granted.
This server cannot be deployed
Maintenance
Related MCP Connectors
Create, launch, and manage Meta + Google ads from Claude and ChatGPT.
- mcpOAuthio.autoady.www
Run Meta ads from your AI assistant: briefings, drop diagnosis, winners, budgets, receipts.
Build, edit and sync Google, Microsoft, Reddit and Meta ad campaigns from your assistant.
AI marketing agent for paid social: Meta ads campaigns, ad creative generation, lead delivery.
Related MCP Servers
- AlicenseAqualityNot gradedmaintenanceEnables AI-powered analysis, management, and optimization of Meta advertising campaigns across Facebook and Instagram, including performance insights, budget optimization, and creative testing.33Business Source 1.1
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to manage Facebook and Instagram advertising via the Meta Marketing API. It provides comprehensive tools for campaign lifecycle management, performance analytics, audience targeting, and creative optimization.25 npm200MIT
- -licenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to manage Facebook and Instagram advertising campaigns through the Meta Marketing API. Supports full campaign lifecycle management, performance analytics, audience targeting, and creative optimization.-
- AlicenseNot gradedqualityDmaintenanceEnables full read/write management of Facebook ad campaigns, ad sets, ads, and creatives via the Meta Marketing API through natural language, with AI creative generation, performance analytics, and PDF reporting.MIT