Ad creative, from your chat

Drop AdMakeAI into Claude, Cursor, VS Code or any MCP-compatible agent. Generate ads, read what your Meta campaigns are doing, and stage the winners without leaving the prompt.

  • 58 tools
  • /
  • Read-only calls are free
  • /
  • Nothing goes live without you

Works with every MCP-compatible agent

Claude Code
anthropic CLI
Claude Desktop
official app
Cursor
AI IDE
VS Code
GitHub Copilot
Windsurf
codeium
Codex
openai CLI
Gemini CLI
google
Cline
VS Code

Three ways in

Pick whichever fits your workflow. All three speak to the same AdMakeAI account and the same credit pool.

MCP Server

Hosted, stateless, JSON-RPC over HTTP. Drop the URL into any MCP-compatible client and your agent gets 58 tools.

https://admakeai.com/api/mcp

Agent Skill

A SKILL.md that teaches your agent which tool to pick, how credits work, and what good ad-image prompts look like.

npx skills add admakeai/agent-skills

REST API

Every MCP tool is also a plain REST endpoint. Curl-friendly, scriptable, CI-friendly.

GET /api/v1/adGeneration.list

Connect in two minutes

Paste a snippet into your agent, or add AdMakeAI to Claude on the web as a connector — one URL, no API key.

One command. Runs from any terminal where Claude Code is installed.

terminal
claude mcp add --transport http admakeai https://admakeai.com/api/mcp --header "x-api-key: <YOUR_API_KEY>"

Existing keys cannot be copied again. Create a new key to copy install snippets with the real secret, or replace <YOUR_API_KEY> manually.

What your agent can do

58 tools across brand projects, ad generation and editing, ad copy, ad-set batching, competitor research and Meta Ads Manager. Here is what each one actually returns.

Generate ad images

A product photo goes in, a finished ad comes back

Your agent sends a source image and a brief, then polls until the render lands. What it gets back is a hosted URL for a real ad with a headline, a badge and a call-to-action baked into the pixels, not a lifestyle photo you still have to lay out. Same nano-banana-pro models the web app runs on.

adGeneration.createadGeneration.editadGeneration.getByIdupload.uploadImageBase64
Finished kettle advertisement with a headline, a subhead and a call to action button
Plain phone photo of the kettle on a white surface

your photo

adGeneration.create({ projectId, prompt })
Batch ad sets

One brief in, ten variations out

Give it a shared brief plus a hook per variation and it queues every render as a background job in one call. The generation IDs come back immediately, so your agent can keep working and collect the images as they finish instead of blocking on ten round trips. Works the same whether you sell a product, a service or software.

adSet.generateBatchadSet.getGenerationsadGeneration.listPending
Ad set: Kettle launch
Matte black gooseneck kettle on a walnut plinth against a cream studio sweep
studio hero
Hands pouring from the kettle over a pour-over dripper in sunrise kitchen light
morning pour
Overhead flat lay of the kettle with coffee beans, a ceramic dripper and linen cloth
flat lay
Kettle on a flat forest green background with the headline Boiling is easy, holding is hard
color block
7 of 10 rendered
Meta ads analytics

Ask what your live ads are actually doing

Spend, impressions, CTR, CPC, conversions and ROAS for any connected Meta ad account, with previous-period comparison, all the way down to a single ad and its day-by-day numbers. Every analytics tool is read-only, so it costs no credits and cannot touch a live campaign.

zernioAnalytics.accountOverviewzernioAnalytics.listCampaignszernioAnalytics.getAdAnalyticszernioAnalytics.tree
zernioAnalytics.accountOverviewread
Spend
$12,480
+8%
CTR
1.9%
-12%
CPC
$0.74
+5%
ROAS
3.1x
+0.4
Last 7 daysimpressions
BF - Prospecting$4,2102.4%
Retargeting - 7d$3,1803.1%
Lookalike 1%$2,940CTR -34%
Publish to Meta

Push the winner into Meta as a draft

Preflight checks the creative dimensions and copy length before anything leaves your account. The upload then lands as a paused draft under the campaign and ad set you named, so you review it in Ads Manager and decide when it spends. Nothing publishes itself.

facebookUpload.runPreflightfacebookUpload.requestfacebookCampaignDraft.pushDraftCampaign
facebookUpload.runPreflight + requestwrite
The winning kettle ad creative being staged on Meta
Winner
Creative 1080 x 1350
Primary text 118 / 125
Ad account linked
uploading
Halden Launch / Prospecting
Ad set: Broad 25-45
Draft

Lands paused as a draft. Nothing spends until you launch it in Ads Manager.

Assets and history

Everything it makes stays searchable

Uploads, generations and ad sets share one library with the web app. Your agent can full-text search old prompts, pull the hosted URL of something it made last week, and reuse it in a new campaign instead of burning credits regenerating it.

adGeneration.searchAlladGeneration.listupload.getUserImages
adGeneration.searchAllread
kettle4 of 312
Kettle studio hero ad
Kettle flat lay ad
Kettle morning pour ad
Kettle color block ad
https://images.admakeai.com/gen/8f21c4.pngcopy

And the rest of the toolbelt

The plumbing your agent calls between the big moves. Full reference

Account

  • user.me
  • user.getCredits
  • adResearch.listProjects

Meta accounts

  • facebookConnection.list
  • facebookUpload.getCampaigns
  • facebookUpload.getAdSets

Upload state

  • facebookUpload.list
  • facebookUpload.get
  • facebookCampaignDraft.sourceAssets

Audience signal

  • zernioAnalytics.getAdComments
  • zernioAnalytics.listAds
  • zernioAnalytics.timeline

Things people actually ask

A real session: what you type, which tools fire, and what comes back in the thread.

Your agentadmakeai mcp

Generate 4 ad variations for the Halden kettle launch, 4:5, one studio, one lifestyle, one flat lay, one side by side comparison. Queue them as a new ad set.

adSet.generateBatch{ variations: 4, aspectRatio: "4:5" }1.2s
adGeneration.listPending{ adSetId: cm7x… }0.3s
Kettle ad variation, studio hero on a walnut plinth
Kettle ad variation, hands pouring over a dripper
Kettle ad variation, overhead flat lay
Kettle ad variation, side by side comparison

4 renders finished in 48s. 20 credits spent, 480 left. Hosted URLs returned inline.

Before I spend on these, which of my live campaigns is decaying?

zernioAnalytics.listCampaigns{ range: "last_7_days" }0.9s
Lookalike 1%$2,9400.9%-34%
BF - Prospecting$4,2102.4%+6%
Retargeting - 7d$3,1803.1%+11%

Lookalike 1% lost 34% of its CTR this week while still taking $2,940. Worth pausing it in Ads Manager before the new variations go live.

More prompts that work

Generate 5 minimal-lifestyle ad variations for our matcha launch, 4:5 aspect, and queue them as a new ad set.

adSet.generateBatch5 generation IDs, then 5 hosted image URLs as each render lands.

Which ads in my main account lost the most CTR over the last 7 days, and what did each one spend?

zernioAnalytics.listAdsA ranked table of ads with spend, CTR and period-over-period delta.

Take my latest product-in-hand generation and stage it in the Black Friday campaign on my main ad account.

facebookUpload.requestA preflight pass, then a paused draft ad waiting in Ads Manager.

Scoped, revocable keys

Each key is bound to your account and your plan. Revoke it from the dashboard any time and every client using it stops in the same second.

Nothing goes live on its own

Meta tools are marked destructive so agents confirm first, uploads land as paused drafts, and deletes are not exposed at all.

Single credit pool

Agent-driven generations spend the same credits as your dashboard, and read-only calls spend none. No surprise billing.

Frequently asked

Ready to ship ads from your prompt?

Free plan includes credits to test the agent flow end-to-end.