Every new ad starts paused

Claude or ChatGPTTUMAM connected

Set up a test ad set for Lagos at 50,000 a day.

create_adset status forced to PAUSED

Done. Ad set 120210000000000 was read back from Meta as PAUSED. Check it before you turn it on.

Ad sets3 of 3 paused

Ad setDeliveryDaily budget
Lagos test, broadPAUSED50,000
Abuja, photographyPAUSED30,000
Port Harcourt, gadgetsPAUSED20,000

set_status to ACTIVEneeds your OK

activate 120210000000000Refused

confirm_phrase must be exactly "ACTIVATE 120210000000000".

ACTIVATE 120210000000000Matches

update_budgetad set 120210000000000

Raise it to 80,000 a day.

Refused: Daily budget 80000 exceeds MAX_DAILY_BUDGET (50000).

Nothing was changed in Meta.

A connector that lets Claude or ChatGPT read your Meta ad accounts and, when you allow it, build new ads.

Works withClaudeChatGPT

Not made by

Connect Claude or ChatGPT in four steps

  1. Sign up

    Create a free account and tell us about your business.

  2. Link Meta

    Log in with Facebook and tick the ad accounts your AI may use.

  3. Add a connector

    In Claude or ChatGPT, add a custom connector in Settings and paste this endpoint.

    https://tumam.vercel.app/api/mcp
  4. Sign in

    Click Connect and log in with your TUMAM account. That's it.

Everything your AIcan do here

Read tools are always on.

Write and delete tools appear only when you turn them on in Settings, and they run behind the guardrails below.

Read16 tools

list_ad_accountsList the Meta ad accounts this server may access.
list_campaignsList campaigns in an ad account with objective, status and campaign-level budget (whole currency units; null when budgets are set on ad sets).
list_adsetsList ad sets for an ad account or a single campaign, with optimization goal, budgets (whole currency units), a compact targeting summary and schedule.
list_adsList ads for an ad account, campaign or ad set, with status and creative id.
get_creativeGet the copy and assets of an ad creative: primary text, headline, description, link, call to action, image/video ids, carousel cards and dynamic-creative variants.
get_insightsGet performance metrics (spend, impressions, reach, clicks, CTR, CPC, CPM, messaging conversations, leads, purchases, cost per result, ROAS) for an ad account, campaign, ad set or ad.
get_insights_reportCheck an async insights report started by get_insights and return its rows once complete.
list_custom_audiencesList custom and lookalike audiences in an ad account with subtype, approximate size range and delivery/operation status.
list_imagesList images already in an ad account's image library, newest first, with the image hash, name, size and preview URL.
list_pagesList the Facebook Pages this server's token can use, with each Page's linked Instagram account and WhatsApp number (when Meta allows reading it).
get_page_profileResearch a Facebook Page the token manages, and its linked Instagram account: bio, category, website, follower counts, and recent posts with engagement.
search_targetingSearch Meta targeting options to get the ids needed for a targeting spec: interests, behaviors, locales (languages) or locations (countries, regions, cities, zips).
suggest_interestsGiven interests you already found with search_targeting, ask Meta for related interests, with ids ready for create_adset.
estimate_audienceEstimate how many people a targeting spec reaches, before building anything.
get_delivery_issuesFind what is stopping delivery in an ad account (or one campaign): disapproved ads and ads/ad sets with issues (with Meta's review feedback), ad sets whose learning phase failed, and active ad sets with no impressions in the last 48 hours.
ask_ownerShow you one to four multiple-choice questions as an interactive card in the chat, for decisions such as approving a plan or picking a goal, audience or budget.

Guardrails

Nothing goes live by accident. Every new campaign, ad set and ad is forced to PAUSEDand read back to confirm. Turning anything on needs you to allow it and to type an exact phrase. A daily budget ceilingholds every budget, and no single change can move one too far. Deleting is off unless you turn it on, works only on paused objects, and needs its own typed phrase. These checks run on the server, so no prompt can talk its way past them.

Try the phrase

This box runs the same exact-match rule as the server, in your browser. Case and spacing count. Nothing is sent.

set_status ad 120210000000000 to ACTIVE

Status stays PAUSED until the phrase matches.

Start free.

Make an account, link your Meta ad accounts and add the connector to Claude or ChatGPT. It takes a few minutes and comes with 50 free credits every month.

  1. Sign up with your email and tell us about your business.
  2. Log in with Facebook and pick the ad accounts your AI may use.
  3. Add the connector in Claude or ChatGPT and log in with your account.

Want to run your ad accounts from Claude or ChatGPT?

Get startedI have an account

Need more? Top up with credit packs from $5. Bought credits never expire and nothing renews.

Credits are separate from your ad spend. What you pay Meta for your ads is billed by Meta, not here.