Skip to content

Documentation

Marxx MCP server documentation

What the Marxx MCP server does, how to connect it, what it can read and change, and what you control. Written for the people who decide whether to allow it.

Overview

Marxx is a creative intelligence platform for paid social. The Marxx MCP server lets an AI assistant work with the same data from inside a chat. The assistant can read a client's Meta and Google Ads performance, look at competitor ads, run audits, pull brand and audience knowledge, and, when a client has the matching switches on, draft ad changes, generate creative and edit video.

The server lists 100 tools in 11 sections. A connected user may see fewer, because some groups are off until they are switched on for that client. With default settings a client sees the groups that are on by default, up to 38 tools, and the Google Ads tools only when Google Ads is connected. See Tool access.

Server URL

https://api.marxx.ai/mcp

Streamable HTTP. Click the address to select it, then copy.

It works with Claude, ChatGPT, and any MCP client that supports remote servers with OAuth and Streamable HTTP. For the product overview and sample questions, see the Marxx MCP page.

Requirements

  • A Marxx account with an active subscription or trial. An account that is still in onboarding cannot use the server.
  • For a client's own numbers, the client's Meta ad account and, if you use them, Google Ads account connected in Marxx. Competitor and brand tools do not need an ad account.
  • An assistant that can add a remote MCP server by URL and sign in with OAuth. On team and enterprise plans, a workspace owner may need to allow or add custom connectors first.

Connect

Claude

  1. Open Customize, then Connectors, in Claude.
  2. Choose Add custom connector.
  3. Paste https://api.marxx.ai/mcp and add it.
  4. Claude opens a Marxx sign-in and approval page. Sign in with your own Marxx account and choose Approve.

ChatGPT

  1. In ChatGPT, open the settings where you add a custom connector or MCP server. The menu names change from time to time.
  2. Set the server URL to https://api.marxx.ai/mcp.
  3. Approve the authorization prompt on Marxx.

Other MCP clients take the same URL and the same approval flow. Marxx also shows the address inside the app under Settings, then Integrations. Step-by-step help with screenshots is in the help centre.

Authentication and permissions

  • OAuth 2.1 with PKCE (S256). Clients register dynamically or with a client ID metadata document. They are public clients. There are no client secrets and no API keys to paste.
  • Authorization server: https://mudra.marxx.ai. The consent screen is on app.marxx.ai. You sign in with your own Marxx account.
  • Token lifetime. Access tokens last 15 minutes. Refresh tokens last 14 days and rotate every time they are used. Reusing an old refresh token revokes the whole chain.
  • Scope: the server requires marxx.read. Access tokens are signed RS256 JWTs bound to the audience https://api.marxx.ai/mcp.
  • Access is checked on every call. The server looks up your user, organisation and role in Marxx each time and caches nothing. Your user, organisation and role are looked up from Marxx on every call.
  • Ad platform access comes from the Marxx workspace, not from the assistant. Meta is connected with Meta Business Login. The permissions Marxx requests are ads_management, ads_mcp_management, business_management, pages_show_list, pages_read_engagement, pages_manage_ads, pages_manage_metadata, leads_retrieval, instagram_basic, instagram_manage_insights and instagram_manage_comments. Google Ads uses the adwords scope.
  • A permission is not an action. The Meta and Google permissions above are broader than reading. The MCP server writes to an ad account only through the draft and apply flow in Changing ads safely, and only when that client has the changes switch on.
  • Disconnect. Remove the connector in your assistant to end that assistant's access. Disconnecting Meta or Google inside Marxx cuts ad-account access for every Marxx surface, the MCP server included.

Clients (workspaces)

Agencies and teams with several clients keep each client in its own Marxx workspace. The assistant works on one client at a time.

  • If you have more than one client, the assistant calls marxx_select_workspace and asks which one you mean. Every other tool refuses until a client is picked.
  • If you have one client, it is picked automatically.
  • The choice is saved per user, so it applies to all of your connected assistants. Switch it the same way whenever you like.
  • Tool switches below are set client by client, so two clients in the same account can have different tools available.

Tool access

Reading is on by default. Anything that changes an ad account, spends credits or edits a video sits in a group that is off until it is switched on for that client. Switches are set client by client in Marxx. Contact support to switch a group on.

SwitchDefaultWhat it gates
Data toolsOn by defaultClients and accounts, Your Meta ads, Account audits, Competitors and market, Boards and moodboards, Brand and audience.
Live Meta toolsOn by defaultThe live Meta reads inside Your Meta ads: today's numbers, account status, diagnostics, setup, media library, targeting search and audience estimates.
Google Ads toolsShown when Google Ads is connectedGoogle Ads reports, and the Google Ads accounts and cross-channel tools. Shown when the client has Google Ads connected.
Live Google Ads toolOff until switched onmarxx_google_ads_live. Reads straight from the Google Ads API and uses Google API quota.
Google Ads changesOff until switched onThe five Google Ads changes tools.
Meta ads changesOff until switched onThe nine Meta ads changes tools, including the media upload tool.
Generation toolsOff until switched onCreative generation, including opening a finished clip in the editor. Also needs the Creative Engine enabled for the organisation.
Video editor toolsOff until switched onThe Video editor group. Also needs the video editor feature turned on.

A tool in a switched-off group is hidden from the assistant's tool list, and refuses if it is called anyway.

Tool reference

100 tools, grouped. The Access column says what a tool can do:

  • Read
  • Changes ad account
  • Spends credits
  • Writes to Marxx

Writes to Marxx means the tool saves something inside Marxx, such as a draft, a board or a project. It does not touch an ad account.

Clients and accounts (3)

Pick the client you are working on and list the ad accounts connected to it. On by default. The Google Ads accounts tool is shown only when the client has Google Ads connected.

ToolWhat it doesAccess
marxx_select_workspaceLists your clients and sets the one the session works on. Every other tool waits for this when you have more than one client.Writes to MarxxYour saved client choice
marxx_my_ad_accountsLists the Meta ad accounts connected to the client.Read
marxx_google_ad_accountsLists the Google Ads accounts connected to the client and the dates of stored history.Read

Your Meta ads (9)

Performance, structure and live status of the client's own Meta ads. On by default.

ToolWhat it doesAccess
marxx_my_ads_overviewKPI summary, audience, creative health and a leaderboard for the account.Read
marxx_my_adsYour own ads broken down by hook, format, offer and other dimensions, as a table, series or distribution.Read
marxx_meta_ads_liveLive Meta numbers for today, by hour or by breakdown.Read
marxx_meta_account_statusLive account status, spend cap, balance, pixels and rejected ads.Read
marxx_meta_ads_diagnosticsMeta's own diagnostics: opportunity score, benchmarks, anomalies, auction overlap, pixel quality, delivery errors and experiments.Read
marxx_meta_ads_setupHow campaigns, ad sets and ads are set up, with their review status.Read
marxx_meta_ads_mediaLists the images and videos in the ad account's media library.Read
marxx_meta_targeting_searchTurns an audience description into Meta targeting IDs.Read
marxx_meta_audience_estimateEstimates the size of a targeting spec or an existing ad set.Read

Account audits (6)

Fixed audits of the client's Meta account, plus a Meta and Google side by side. On by default.

ToolWhat it doesAccess
marxx_account_auditSeven creative audit charts for the account.Read
marxx_audit_spend_wasteWhere budget was wasted over the last 180 days.Read
marxx_audit_creative_pipelineCreative supply health, cohorts and launch cadence.Read
marxx_audit_scalabilityWhether the account can scale, and the spend level where results break.Read
marxx_audit_budget_changesThe size, timing and author of budget changes.Read
marxx_channel_briefMeta and Google side by side. Conversions are never blended into one number. Needs Google Ads connected.Read

Competitors and market (10)

Ads from brands the client tracks, what they have in common, and what is trending in the sector. On by default.

ToolWhat it doesAccess
marxx_tracked_competitorsLists the competitors the client tracks.Read
marxx_brand_teardownOne call that returns a brand's creative patterns and its top ads.Read
marxx_competitor_creative_intelligenceOne dimension of a competitor's creative, or how it changed over time.Read
marxx_competitor_ad_fetcherLists the ad IDs a competitor is running, up to 500.Read
marxx_ad_detail_by_idTurns ad IDs into full creative profiles, with attributes and transcript.Read
marxx_keyword_teardownThe creative patterns of ads found under tracked keywords, up to 18 keywords.Read
marxx_creative_gap_recommendationsTactics competitors run that the account has not tried, with proof ads. Meta only.Read
marxx_performance_briefTurns a competitor's top ad into a creative brief for your product.Read
marxx_trending_tacticsWhat is trending in the sector, next to the client's own gap.Read
marxx_trend_tactic_detailGoes deeper on one trending tactic, with proof ads.Read

Boards and moodboards (5)

Saved ads, and a search that collects ads on a theme into a moodboard. On by default.

ToolWhat it doesAccess
marxx_saved_adsReads the client's saved ad folders and boards, with notes.Read
marxx_expand_queryTurns a theme into search phrases.Read
marxx_search_and_dedupeFinds the top 50 ads for a theme and keeps them as a moodboard.Writes to MarxxA moodboard
marxx_load_more_adsAdds the next 50 ads to a moodboard.Writes to MarxxA moodboard
marxx_save_to_boardSaves chosen ads to a board. A new name creates a new board.Writes to MarxxA board

Brand and audience (5)

What the client's brand stands for, its products, assets and audience personas. On by default.

ToolWhat it doesAccess
marxx_brand_knowledgeThe client's brand positioning, voice and claims.Read
marxx_productsLists the client's products, or one product in detail.Read
marxx_brand_assetsSearches the client's own asset library by what the asset shows.Read
marxx_audience_personasLists the audience personas built from customer voice.Read
marxx_persona_voice_of_customerOne persona's pains, requests, questions, praise and real quotes.Read

Google Ads reports (4)

Stored Google Ads history and analysis. Search campaigns only. Shown when Google Ads is connected. The live Google Ads tool is a separate switch and is off until switched on.

ToolWhat it doesAccess
marxx_google_adsStored daily Google Ads history for Search campaigns.Read
marxx_google_ads_analysisWasted spend, negative keyword ideas, quality score, impression share and CPA comparisons.Read
marxx_google_ads_weekly_reportA full written report brief for the account.Read
marxx_google_ads_liveLive Google Ads reads (SELECT queries only), keyword ideas, recommendations, policy and forecasts. Off until switched on. Uses Google API quota, not credits.Read

Google Ads changes (5)

Draft a change, review it, then apply it. The assistant is instructed to wait for your yes in the chat. Off until switched on.

ToolWhat it doesAccess
marxx_google_ads_draft_campaignDrafts a new Search campaign. It is created paused when applied.Writes to MarxxA draft
marxx_google_ads_draft_additionsDrafts new ad groups, keywords, negative keywords, responsive search ads and assets.Writes to MarxxA draft
marxx_google_ads_draft_updateDrafts up to 50 changes: pause, enable, remove, rename, budgets, bidding, bids and ad text.Writes to MarxxA draft
marxx_google_ads_apply_changeApplies a stored draft to the live account. Meant to run only after you say yes to that draft.Changes ad accountGoogle Ads account
marxx_google_ads_changesLists drafted and applied changes.Read

Meta ads changes (9)

Draft a change, review it, then apply it. The assistant is instructed to wait for your yes in the chat. Off until switched on.

ToolWhat it doesAccess
marxx_meta_ads_creation_optionsLists the Pages, lead forms, Instagram accounts and pixels a new campaign can use.Read
marxx_meta_ads_draft_updateDrafts up to 50 changes: pause, turn on, archive, rename, budgets and ad set targeting.Writes to MarxxA draft
marxx_meta_ads_draft_campaignDrafts a campaign with one ad set and up to 50 ads. It is staged in the client's Meta Ads Manager drafts right away. Nothing runs until it is published.Changes ad accountDraft in Meta Ads Manager
marxx_meta_ads_draft_add_adsDrafts up to 10 new ads. Library media is uploaded to the ad account at draft time. The ads are created when applied.Changes ad accountMeta media library
marxx_meta_ads_draft_ad_setDrafts a new ad set with up to 10 ads. Library media is uploaded to the ad account at draft time.Changes ad accountMeta media library
marxx_meta_ads_draft_copyDrafts a copy of a campaign (up to 10 ad sets and 50 ads) with changes. Copies are created paused when applied.Writes to MarxxA draft
marxx_meta_ads_apply_changeApplies a stored draft: an update, new ads, a new ad set, copies, or publishing a campaign. Meant to run only after you say yes to that draft.Changes ad accountMeta ad account
marxx_meta_ads_changesLists drafted and applied changes.Read
marxx_meta_media_uploadPuts images and videos into the ad account's media library, from URLs, a device upload link or ChatGPT files. Images up to 30 MB, videos up to 1 GB.Changes ad accountMeta media library

Creative generation (32)

Make images, video, voice and music, and run quality checks. Some tools spend credits. They are marked. Off until switched on.

ToolWhat it doesAccess
marxx_generate_imageMakes one image from a prompt and optional reference images.Spends credits
marxx_generate_carouselMakes up to 6 images for a carousel.Spends credits
marxx_generate_videoMakes a video clip. This is the most expensive tool.Spends credits
marxx_animate_imageTurns a still image into a short video.Spends credits
marxx_generate_voiceoverTurns text into speech.Spends credits
marxx_generate_musicMakes music or sound effects.Spends credits
marxx_lip_syncMatches a video's lip movement to an audio track.Spends credits
marxx_generate_avatarTurns a photo and a script into a talking video. Bills itself and cannot be capped.Spends credits
marxx_edit_imageUpscales, outpaints, relights or removes the background of an image.Spends credits
marxx_upscale_videoRaises a video's resolution.Spends credits
marxx_ugc_blueprintStep one of a UGC ad: plans the ad. Bills itself and cannot be capped.Spends credits
marxx_ugc_renderStep two of a UGC ad: renders it. Bills itself and cannot be capped.Spends credits
marxx_run_nodeRuns one of the allowed Marxx workflow nodes by name.Spends credits
marxx_resize_imageResizes or crops an image. Free.Writes to MarxxMedia in your library
marxx_stitch_videosJoins videos into one. Free.Writes to MarxxMedia in your library
marxx_add_audio_to_videoPuts an audio track on a video. Free.Writes to MarxxMedia in your library
marxx_extract_frameSaves one frame of a video as an image. Free.Writes to MarxxMedia in your library
marxx_ingest_referenceImports a file by URL from an ad CDN (Meta, Instagram, TikTok, Pinterest) or from Marxx storage.Writes to MarxxMedia in your library
marxx_upload_assetShows an upload button in the chat and adds the file to the asset library.Writes to MarxxMedia in your library
marxx_check_uploadFetches the file you just uploaded in the chat.Read
marxx_list_assetsLists the files in the asset library.Read
marxx_generation_statusChecks on one generation job.Read
marxx_list_generationsLists recent generations.Read
marxx_list_modelsLists the models with live credit costs and quality track record.Read
marxx_estimate_costPrices a generation before it runs. Free, spends nothing.Read
marxx_credit_balanceShows the credits left.Read
marxx_list_voicesLists voices with audio samples.Read
marxx_qa_reviewReviews an image or video against your criteria and brand rules.Read
marxx_pick_bestCompares several candidates and picks the best one.Read
marxx_get_node_manualShows how a generation node works.Read
marxx_creative_capabilitiesLists what the creative tools can make.Read
marxx_open_in_editorBuilds a new editor project from finished clips.Writes to MarxxAn editor project

Video editor (12)

Edit a video in the Marxx editor. Paid steps and steps that cannot be undone wait for Approve in the editor tab. Archiving a project is the exception. Off until switched on.

ToolWhat it doesAccess
marxx_editor_openLists projects, opens one or starts an empty one, and returns a link.Writes to MarxxMay create an empty project
marxx_editor_stateReads the timeline, media and credits left.Read
marxx_editor_readFree reads, including frames as images.Read
marxx_editor_editFree edits to the project. Each call is one undo step.Writes to MarxxThe video project
marxx_editor_quotePrices paid steps and returns a quote valid for 15 minutes. Runs nothing.Read
marxx_editor_spendRuns paid steps. Needs a quote and your Approve in the open editor tab.Spends credits
marxx_editor_destructiveSteps that cannot be undone. The first call says what would be lost. The second runs only after your Approve in the editor tab.Writes to MarxxThe video project
marxx_editor_cancelCancels an editor request that is still running.Read
marxx_editor_helpShows how editing works and what each editor tool does.Read
marxx_editor_projectsSearches and lists your editor projects, or reads one.Read
marxx_editor_project_changeRenames, duplicates or restores a project. Only the owner can rename or restore.Writes to MarxxAn editor project
marxx_editor_project_removeArchives a project (it can be restored) or drops a saved version. Asks twice, using a confirmation the assistant passes itself. There is no Approve in the editor tab for this one.Writes to MarxxAn editor project

Changing ads safely

Changes to Meta and Google Ads are available only when that client has Meta ads changes or Google Ads changes switched on. Both are off by default. When they are on, a change goes through four steps.

  1. Draft. The assistant calls a draft tool. Marxx runs a basic validation check with the ad platform before showing it, and stores it as a draft. A draft holds up to 50 changes.
  2. Show. The assistant shows you exactly what would change.
  3. Your yes. The assistant is instructed to wait for your yes to that exact draft before it applies anything. Approval happens in the conversation. Read the draft before you answer.
  4. Apply. The assistant applies the draft. Each draft can be applied once, only by the same user for the same client, only while it is pending, and only within 30 minutes. A draft that has expired has to be drafted again.

High-risk changes

Some changes need a second, specific confirmation. The server refuses to apply them unless the assistant passes a high-risk confirmation, and the assistant is instructed to get your specific confirmation first. They are:

  • Meta: turning things on, archiving, a budget move of more than 50 percent, targeting changes on a live ad set, new ads or ad sets created as active, and publishing a new campaign.
  • Google Ads: removing anything (removals are permanent), turning things on, switching bidding strategy, large rises in budgets, bids or targets, and broad match combined with manual CPC.

What it will and will not do

  • New Google campaigns and ad groups are created paused. New Google campaigns are Search only.
  • A new Meta campaign is staged as a draft in the client's Meta Ads Manager at the moment it is drafted. Nothing runs until it is published, and publishing is its own high-risk change. Marxx cannot discard that draft for you: delete it in Meta Ads Manager.
  • Meta copies are created paused. Media added to a draft is uploaded to the ad account's media library when the draft is made.
  • Meta: nothing is deleted. Archive is the furthest a change can go. Google: removals are possible, permanent and always high-risk.
  • Meta new campaigns support website and instant-form destinations, one ad set and Advantage+ placements, with objectives Traffic, Leads, Sales, Awareness and Engagement. WhatsApp, Messenger, app and catalog campaigns are not supported.
  • Per draft: Meta new campaign up to 50 ads, new ads into an existing ad set up to 10, a campaign copy up to 10 ad sets and 50 ads. Google up to 200 keywords, 10 ad groups and 10 ads.
  • There is no separate spend limit in the change tools. The ad platform's own limits and your confirmation are the controls.
  • For Meta, if the campaign, ad set or ad changed after the draft was made, the apply sends nothing.
  • The change history tools list what was drafted and what was applied.

Video editor

The editor works differently. Paid steps need a quote (valid for 15 minutes) and you pressing Approve in the open editor tab. Steps that cannot be undone, run through marxx_editor_destructive, also need Approve in the tab. Archiving a project uses a confirmation the assistant passes itself, with no Approve in the tab. An archived project can be restored.

Credits

  • Data, audit, competitor, Meta and Google tools spend no Marxx credits. Live Google Ads reads use Google's API quota instead.
  • Some creative generation tools spend Marxx credits. The tools marked Spends credits above are the ones that do. If you are unsure, ask the assistant to run marxx_estimate_cost or marxx_credit_balance.
  • marxx_estimate_cost is free and prices a generation before it runs. The assistant is instructed to quote the cost and get your approval before spending. Check the number before you agree.
  • Most generation tools accept a ceiling (1 to 100,000 credits) that stops a run from going over it. The avatar and UGC tools bill themselves and cannot be capped.
  • Video editor: paid steps need a quote and your Approve in the editor tab. Through the MCP server there is a default daily cap of 2,000 credits per person, counted per UTC day.

Limits

  • Rate limit: 60 requests per minute per token. Over the limit the server returns HTTP 429 with a Retry-After header.
  • Changes: up to 50 per draft, drafts expire after 30 minutes, and the per-campaign limits are listed under Changing ads safely.
  • Meta media upload: images up to 30 MB, videos up to 1 GB.
  • Editor: quotes last 15 minutes, up to 25 steps per call, with at most 6 paid and 6 destructive steps, 60 editing calls a minute per person, and a default cap of 2,000 credits a day.
  • Meta applies its own rate limits to each ad account. When one is hit, the assistant is told the request was rate limited.

Prompts

The server also offers 6 ready-made prompts. Some assistants show them as slash commands. Arguments in bold are required.

PromptTitleArguments
marxx_competitor_teardownCompetitor creative teardowncompetitor, client_brand
marxx_creative_briefData-grounded creative briefcompetitor, client_product_context
marxx_audience_anglesAudience voice-of-customer anglespersona, product_context
marxx_on_brand_conceptOn-brand ad conceptproduct, goal
marxx_create_productionAutonomous creative productionAsks you to confirm expensive runs first.request, budget_credits
marxx_edit_videoEdit a video in the Marxx editorOnly shown when the video editor switch is on.request, project

Example requests

  • Read

    What changed across Meta and Google last week, and which creative is behind it?

    Uses the account, Google Ads and creative tools. Nothing is changed.

  • Read

    Tear down the last twenty ads our closest competitor shipped. Which hooks have we never run?

    Uses the competitor tools.

  • Read

    Audit the account. Where is budget sitting in ad sets that stopped converting?

    Uses the account audit tools.

  • Change

    Pause the three Meta ad sets with the highest cost per result this month.

    Needs Meta ads changes switched on. The assistant shows a draft first and waits for your yes.

  • Change

    Draft a Google Search campaign for our summer sale, 1,500 a day, targeting Mumbai.

    Needs Google Ads changes switched on. The campaign is created paused, and only after your yes.

  • Credits

    Make three 9:16 images for the hook we just found. Tell me the cost before you spend anything.

    Needs Generation tools switched on. The assistant should quote the cost and wait for your approval.

Data and privacy

  • The assistant receives only what the tools it calls return. That content is then handled by the assistant's own provider under that provider's terms.
  • Marxx logs each tool call by tool name, without its arguments or results.
  • Marxx keeps what the change and creative tools produce so you can use it: drafts and change history, moodboards, boards, generated media and editor projects, all inside the client's workspace.
  • Tokens are bound to this server's address. There are no API keys.

Read the privacy policy and the terms for how Marxx handles personal data and the rules of use.

Errors and troubleshooting

Tool errors come back to the assistant as readable messages, which it should relay to you.

What you seeWhat to do
No active subscriptionThe Marxx account needs an active subscription or trial, and onboarding finished.
Client not selectedTell the assistant which client to work on. It calls the client picker, then retries.
Tool group switched offThat group is off for this client. Contact support to switch it on.
Fewer tools than expectedGroups that are off are hidden. See Tool access.
Rate limited (HTTP 429)Wait for the Retry-After time and ask again. Meta can also rate limit an ad account.
Meta token expiredReconnect Meta for that client in Marxx.
Draft expired or not foundDrafts last 30 minutes. Ask the assistant to draft the change again.
Sign-in or approval page failsStart the connection again from the assistant. The approval link works for a short time only.

Support

Email apurv@marxx.ai with a screenshot of what you see, or book a call. Setup help is in Use Marxx inside Claude, ChatGPT and Cursor.