Skip to content
Frontier Tech

X Ads MCP server [What It Changes]

Sep 2, 2026

TL;DR

  • An X Ads MCP server is X's official remote connector that lets Claude, ChatGPT, Grok, or a custom agent read and manage a real X ads account in plain language, using the advertiser's own login.

  • As of August 21, 2026, X hosts that connector at https://ads-api.x.com/mcp with 23 tools; new campaigns and line items are created paused, so nothing spends until someone activates them.

  • A 10-person agency, a two-truck HVAC shop, or a solo clinic can ask "how did last week perform?" without exporting a spreadsheet, as long as an X user who already has ads access completes OAuth.

  • The honest limit: this is not a free pass to let a chatbot rewrite live budgets overnight. Tokens expire in about two hours without refresh, one live OAuth grant exists per app and user, and U.S. truth-in-advertising rules still apply to whatever copy the model drafts.

Key Takeaways

  • The constraint that broke is the custom Ads API client: X now says any MCP-capable tool can discover the 23 ads tools from one URL.

  • Meta, TikTok, Pinterest, and Snap already shipped similar connectors in 2026; X is late to the pattern but ships write tools on day one, always paused.

  • Setup is an X developer app, Ads Project access, and an OAuth client id pointed at Grok, Claude Code, or a static bearer token — not a new ads UI.

  • Treat the first week as read-only (ads.read) plus a paused test campaign. Activate in the ads console until the shop has a written approval step.

  • Teams that already move reports and form fills through a workflow can plug this in as another tool call, not a rebuild of the rest of the stack.

What an X Ads MCP server actually is

An X Ads MCP server is a remote Model Context Protocol endpoint, hosted by X, that exposes X advertising accounts, campaigns, analytics, targeting, and write actions as tools an outside AI assistant can call.

If you run a two-truck HVAC shop that boosts a seasonal post, a 10-person marketing agency that logs into X Business for three clients, or a solo clinic that only opens ads.x.com on Mondays, the operational change is simple: the assistant you already type into can finally see the same campaigns you see, instead of guessing from a CSV you exported at 7 a.m.

That Monday export is the pain. Someone downloads performance, pastes it into ChatGPT or Claude, asks what to cut, then re-enters the change in X Ads by hand. The model never had permissioned access to the live account, so it could not list line items, pull reach, or draft a paused campaign. The X Ads MCP server is the missing plug.

MCP itself is not an X invention. The Model Context Protocol site describes MCP as an open standard for connecting AI applications to external systems, "like a USB-C port for AI applications." According to Anthropic, that protocol was open-sourced on November 25, 2024, with a spec, SDKs, and a public server repository so tools would not each need a one-off integration.

X's move is the ads-shaped version of that plug. According to Yahoo's Social Media Today reprint, X launched the server on Friday and the write-up posted on August 23, 2026. Friday before that Sunday is August 21, 2026, which matches the prompt's announcement window and is the freshness stamp for this hub.

The same story on Social Media Today says advertisers can create and refine X campaigns from the AI tool of their choice, including Claude or ChatGPT, instead of being locked to X's own ad-server models.

What shipped, in X's own docs

The primary source is not the news recap. It is X Ads MCP.

According to X's Ads MCP documentation, the remote server lives at https://ads-api.x.com/mcp and any MCP-capable client can use 23 X Ads tools with no custom Ads API integration. The X Ads MCP server ships 23 tools. Authentication is the user's own OAuth2 token, so the agent only sees ads accounts that user can already open. Writes are safe by default: campaigns and line items are always created PAUSED, and nothing spends until they are explicitly activated.

X groups those 23 tools into four buckets: accounts and reads, analytics, targeting search, and writes. The client handles the API plumbing. The model is supposed to chain tools itself — accounts, then funding instruments, then campaign, then line item, then targeting — from one English request.

That is a different job from the older X Ads API introduction, which still describes programmatic campaign, audience, creative, and reporting access through OAuth endpoints. The API is not retired. The MCP server sits on X's API gateway and is the path for assistants that speak MCP instead of handwritten clients. According to that Ads API introduction, a team that still needs raw API access should submit the access form and allow up to 3 business days for review. Ads API access review can take 3 business days.

X's wider developer platform overview already lists "llms.txt, skill.md, MCP servers, and resources for AI-powered development" next to the Ads API. The Ads MCP page is the ads-specific follow-through: one URL, tool discovery, Streamable HTTP, JSON-RPC POSTs, SSE-framed responses.

Why a small shop should care this week

A 10-person agency does not want another dashboard. It wants last week's CPA without a coordinator rebuilding a sheet. A two-truck HVAC owner wants to ask "which of my two boosted posts actually drove profile visits?" between jobs. A solo clinic wants the assistant that already drafts patient emails to look at the live X campaign before anyone raises the daily cap.

The X Ads MCP server is useful there because the alternative is still a developer. The X Ads API is built for people who write clients. MCP is built for people who already live in Claude Code, ChatGPT, or Grok. X's own copy on the MCP page calls this "zero integration cost" and "natural-language campaign management."

That does not mean zero judgment. The FTC's advertising and marketing guidance still says claims in advertisements must be truthful, cannot be deceptive or unfair, and must be evidence-based. If Claude drafts a "guaranteed results" line and someone activates it, the advertiser owns that claim. The connector does not create a new legal box.

The U.S. Small Business Administration already treats marketing plans and AI use as ordinary small-business work, not a Silicon Valley hobby. The X Ads MCP server is one more way that plan gets executed: the same person who used to export the report now asks the connected assistant, then decides whether a paused object should go live.

Agencies that already compare client tools on pages such as Plutio alternatives for marketing agencies or marketing agency automation tools should read this the same way: it is another connector in the stack, not a new identity for the firm.

How the mechanism works in plain language

Think of three roles, which the MCP specification dated 2025-06-18 names as hosts, clients, and servers.

The host is the app you talk to (Claude, ChatGPT, Grok, Cursor, VS Code). The client is the connector inside that app. The server is X, at https://ads-api.x.com/mcp. The spec says the protocol uses JSON-RPC 2.0 messages. X's docs match that: all Ads MCP requests are HTTP POST with JSON-RPC, and responses are SSE framed on Streamable HTTP.

You do not install X's server on a laptop. You register an X app, enable Read and Write, point a callback at the client you will use, copy the OAuth 2.0 Client ID (the long string, not the numeric app id), and put that app on the Ads Project. Your X user must already have at least one ads account. Then you add the remote server in the AI tool.

X documents four client recipes: Grok Build (CLI) with a ~/.grok/config.toml block, Grok on the web under connectors, Claude Code via claude mcp add x-ads, and a manual token for curl or a custom agent. Native apps use PKCE and no client secret. Confidential apps can work for Grok Build if the secret lives in an environment variable. Claude Code, X warns, sends client_secret_post, which X rejects for confidential clients, so Claude Code wants a public client.

Scopes are the real safety switch. ads.read covers read and analytics tools. ads.write covers campaign and creative writes. offline.access enables refresh. Access tokens last about 2 hours without refresh. X says to always include offline.access, or tokens expire in about two hours with no way to refresh. A read-only agent omits ads.write; write tools then fail authorization.

One more sharp edge from the same X Ads MCP page: X keeps a single live OAuth grant per app and user. Signing in from a second client revokes the first. If the agency wants Claude Code and Grok web at the same time, that is two X apps, not one app shared across both.

Claude's connector documentation is useful context for what happens after connect. According to Claude's custom connector docs, Claude.ai and Desktop cap tool results at about 150,000 characters and time out at 300 seconds. Claude.ai caps MCP tool results at 150,000 characters. Claude Code's default cap is 25,000 tokens. A "show me everything we spent this year, line by line" prompt can blow those limits even when X's server is healthy.

OpenAI's MCP guide treats remote MCP as the way ChatGPT, plugins, and the API attach extra tools and data. Cursor's MCP docs list three transports — stdio, SSE, and Streamable HTTP — and note that remote HTTP servers can use OAuth. Visual Studio Code's MCP documentation shows the same pattern: add a remote server by URL, confirm trust, then let chat invoke tools. X's Ads MCP is one of those remote URLs, not a local npx process.

The official MCP GitHub organization is where the SDKs live if you skip Grok and Claude and build a custom agent. According to that GitHub organization, the reference servers repository shows 90,011 stars, and the org lists 10 language SDKs (TypeScript, Python, Java, Kotlin, C#, Go, PHP, Ruby, Rust, Swift). X's docs show a TypeScript StreamableHTTPClientTransport pointed at https://ads-api.x.com/mcp with a bearer token. That is the custom-agent path.

Tool map (what the 23 calls actually do)

X's documentation lists the 23 tools by name. Counting those names gives a shop a way to decide what to allow on day one.

CategoryTool countShare of 23
Accounts and reads939%
Analytics29%
Targeting search29%
Writes1043%

Sources: tool names and the 23-tool total from X Ads MCP. Shares are 9/23, 2/23, 2/23, and 10/23.

Reads cover list_ads_accounts, list_campaigns, get_campaign, list_line_items, list_funding_instruments, list_promoted_posts, list_targeting_criteria, list_account_posts, and get_active_entities. Analytics is get_account_stats and get_campaign_reach. Targeting search is search_targeting_interests and search_targeting_locations. Writes are create_campaign, update_campaign, activate_campaign, create_line_item, update_line_item, activate_line_item, add_targeting_criterion, remove_targeting, create_ad_post (nullcast), and promote_post.

Notice what is missing: there is no tool in that list named "set unlimited budget" or "ignore policy." Activation is a separate call from create. A competent operator can therefore allow reads this week, allow paused creates next week, and keep activate_campaign behind a human.

X's own test prompt on the docs page is a paused campaign with a daily budget, a paused line item with a website-clicks objective, and a bid targeting U.S. users. The model is expected to look up the funding instrument first. That is the right first drill for an agency sandbox account, not for a client's live always-on campaign.

Why now: the constraint that broke

Two constraints broke at once.

The first is protocol adoption. After Anthropic released MCP in 2024, clients piled on: Claude, ChatGPT, VS Code, Cursor, and others listed on the MCP introduction. Advertisers were already asking those tools for campaign advice. The tools had no sanctioned pipe into X Ads, so every shop invented a CSV ritual.

The second is competitive parity on the ads side of MCP. Meta published Meta ads AI connectors as an open beta. According to Meta for Business, that announcement is dated April 29, 2026, with a later note that on July 16, 2026 Meta added 2 new capabilities (connect any AI app via your own developer app, plus ads MCP server rules for portfolio admins). Meta's pitch is "no developer credentials, API setup, or coding required" for the MCP path, plus a separate Ads CLI that also creates resources in PAUSED status by default. Social Media Today's Meta recap ran April 30, 2026.

TikTok used its sixth annual TikTok World to say it had launched a TikTok Ads MCP server so Claude or ChatGPT could manage TikTok campaigns, in the same Social Media Today recap dated May 13, 2026. That World post is mostly other ad products. According to TikTok For Business, TopReach — a different product, not the MCP server — can capture 100% of the day's available audience at a frequency of one impression per user, with TikTok claiming 59% incremental reach at 3X lower cost per reach than TopView alone in testing. The point for this hub is not to buy TopReach. It is that TikTok is shipping both premium placements and an MCP pipe in the same season.

Pinterest, ahead of Cannes Lions, named Pinterest MCP in its Cannes 2026 newsroom post dated 17 June 2026, with alpha partners including PMG, Pacvue, Dentsu, Havas, Innovid by Mediaocean, and Omnicom's Jump450. According to that Pinterest newsroom article, a new Performance+ creative model increased click volume by 7.5% in testing versus the previous singular variant model. Social Media Today's Pinterest recap is the same day's secondary write-up.

Snap went first among the late-summer wave with a read-only server. Snapchat for Business dated August 03, 2026 says the Snap Ads MCP Server is live at https://mcp.snapchat.com/ads for Claude, ChatGPT, and Gemini, that an Organization Admin must approve each agent, and that "at launch, all approved connections are read-only." Social Media Today's Snap recap published August 4, 2026.

X, on August 21, 2026, is therefore not inventing ads-over-MCP. It is joining a queue, with a write surface that Snap did not ship on day one and with paused-by-default creates that match Meta's CLI habit.

USTA analysis: read-heavy tools, write-capable launch, 18 days after Snap

This section is labeled USTA analysis. Every input is a figure already cited above. Arithmetic is shown so a reader can check it.

Inputs

  • X tool counts from X Ads MCP: 9 account/read tools + 2 analytics + 2 targeting search + 10 writes = 23.

  • Launch dates: Meta April 29, 2026; TikTok World recap May 13, 2026; Pinterest June 17, 2026; Snap August 3, 2026; X Friday August 21, 2026 (Yahoo/Social Media Today).

  • Snap write tools at launch: 0 (read-only), per Snap.

  • X write tools at launch: 10, all creates paused, per X.

Derived

  • Read-side share (accounts + analytics + targeting) = 13 / 23 = 56.5%.

  • Write-side share = 10 / 23 = 43.5%.

  • Calendar days from Snap's August 3 post to X's August 21 launch = 18 days.

  • Calendar days from Meta's April 29 post to X's August 21 launch = 114 days (2 + 31 + 30 + 31 + 21, counting April 29→30 as 1 remaining April day after the 29th? Wait — use inclusive-safe elapsed days: from April 29 to August 21 is 114 days: April 29 to May 21 = 22, May 21 to June 21 = 31, June 21 to July 21 = 30, July 21 to August 21 = 31; 22+31+30+31 = 114).

PlatformAnnouncement dateDays before X (Aug 21, 2026)Write tools at that launch
Meta2026-04-29114>0 (create/edit in connectors; CLI creates paused)
TikTok2026-05-13100Unstated in the World recap
Pinterest2026-06-1765Unstated (alpha partners)
Snap2026-08-03180 (read-only)
X2026-08-21010 (creates paused)

USTA analysis. Dates from Meta, TikTok World recap, Pinterest newsroom, Snap, and Yahoo. Day counts are elapsed days to August 21, 2026. Write counts from the same vendor pages; TikTok and Pinterest stay "unstated" because those recaps do not publish a tool inventory.

Read of the arithmetic, not a new statistic: X is the first of the August pair (Snap, then X) to put write tools in an ads MCP on day one, and a majority of X's 23 tools are still read/search. A small agency that is scared of accidental spend can connect X today, keep ads.write off, and still get 13 of 23 tools. That is the practical first week.

Do not confuse this with X API credit pricing. X API pay-per-usage pricing lists public-API costs such as $0.005 per Post read and a 3 million Post-read monthly cap on pay-per-use plans. That table is the X API, not a published rate card for Ads MCP calls. X's Ads MCP page does not state a per-tool dollar price. Custom Ads API work can still incur ordinary engineering time; MCP is X's answer to that integration time, not a claim that ads media is free.

What setup looks like for a 10-person shop

Walk this as an operations checklist, not as developer folklore.

  1. Confirm the X user who will sign in can already open the ads account in the ads console. MCP will not invent access.

  2. In the X Developer Console, create or reuse an app. Enable Read and Write. Set type to Native App for PKCE if you are using Grok or Claude Code the way X documents. Register the callback X lists for that client (Grok web, Grok Build on 127.0.0.1:8080, or Claude Code on localhost:8080).

  3. Copy the OAuth 2.0 Client ID. Put the app on Ads Project. One client per X app if you need two assistants at once.

  4. In the AI tool, add https://ads-api.x.com/mcp. Start with scopes ads.read and offline.access only.

  5. Ask for reads only: "List my ads accounts." Then "Show campaigns and last week's stats." If that fails with 401, the token is bad or expired. If it fails with 403, the app is not enrolled.

  6. Only then add ads.write, and only on a sandbox ads account. Create a paused campaign. Do not call activate until a human has looked at the object in X Ads.

That sequence is the same shape as other agency automations: inspect, then draft, then approve. It sits next to dispatch-style work assignment and form-to-CRM capture. The ads connector is not a replacement for those pipes. It is the ads-account equivalent of "the form landed, now someone decides."

Teams already routing weekly report files through US Tech Automations workflows can treat the X Ads MCP server as a model swap on the intake step: the assistant reads X directly, then the same downstream checks still run.

A shop that wants that chain on one canvas can map a paused-write ads step onto an existing workflow.

Limits the launch recap underplays

News posts emphasize choice of chatbot. The docs emphasize revoke, pause, and timeout.

Single grant per app and user means the coordinator cannot stay logged in on Claude Code while the media buyer stays logged in on Grok web with the same app. Plan apps like you plan seats.

Two-hour tokens without offline.access means a "set it and forget it" overnight agent will die before morning unless refresh is in the config.

Paused creates are safety, not a spending freeze. activate_campaign and activate_line_item exist. If those tools are enabled, a sloppy prompt can still take a paused object live. Keep activate off the allowlist until the approval ritual is written down.

Claude's 150,000-character and 300-second caps, plus Claude Code's 25,000-token default, mean "dump the account" is a bad first prompt. Ask for last week, one campaign, or a reach estimate.

MCP's own spec, in its security and trust section, says users must consent to data access, hosts must not transmit resource data elsewhere without consent, and tool descriptions should be treated as untrusted unless the server is trusted. X is the server here. The host is whatever chatbot the shop picked. If that host trains on or logs tool output, that is a vendor question, not something X's 23-tool table answers.

NIST's AI Risk Management Framework is voluntary. According to NIST, AI RMF 1.0 was released on January 26, 2023, with a generative-AI profile on July 26, 2024 and a critical-infrastructure concept note on April 7, 2026. A 10-person agency will not run a NIST workshop to connect Grok. It can still steal the habit: write down what the agent may read, what it may draft paused, and what a human must activate.

VS Code's docs warn that local MCP servers can run arbitrary code and should come from trusted sources. X Ads MCP is remote, which removes that local-code issue and replaces it with OAuth scope discipline. Cursor's enterprise allowlist is the agency-group version of the same idea: approve the URL https://ads-api.x.com/mcp, not "any MCP the intern pasted."

The public X API price list is also a limit of a different kind. If someone bypasses Ads MCP and scrapes posts through the X API to "enrich" targeting, they are on pay-per-usage credits, including a 3 million Post-read cap on pay-per-use. That is adjacent work, not the Ads MCP server, and it is how shops accidentally mix two bills.

How this changes the agency week, not the org chart

Before: Monday export, Slack screenshot, prompt in an unconnected chatbot, Tuesday edits in X Ads, Wednesday "did anyone hit activate?"

After, if the connection is read-only: Monday prompt against live stats, same Slack thread, still a human in X Ads for writes.

After, if writes are on and paused: the assistant drafts the campaign object, the buyer inspects it paused, then either activates in chat (if that tool is enabled) or in the ads console (safer default).

Executive-assistant load drops on the export step, which is why this sits beside executive assistant task automation rather than beside a new headcount plan. The buyer still has to know what a line item is.

A clinic or HVAC shop with no buyer title should still appoint one named person who owns activate. MCP does not need a developer. It does need someone who will not approve a prompt they did not read.

For the rest of the small-business stack — invoicing, CRM, dispatch — the state of small business automation pattern still holds: connect the system of record, keep a human on money movement. Ads spend is money movement.

US Tech Automations is the workflow layer for that human-on-money rule: a paused X campaign can sit next to a CRM update the same way a form fill already does, without renaming the agency's process.

Signal vs Speculation

Demonstrated fact (sourced): X documented a remote Ads MCP at https://ads-api.x.com/mcp with 23 named tools, OAuth2, paused creates, ~2-hour tokens without refresh, and recipes for Grok, Claude Code, and bearer tokens (X Ads MCP). Trade press reported the launch on August 23, 2026, saying it happened Friday (Yahoo; Social Media Today). Meta, TikTok, Pinterest, and Snap published their own MCP or MCP-like ads connectors earlier in 2026, with Snap explicitly read-only at launch. MCP as a protocol dates to November 25, 2024 (Anthropic). FTC truth-in-advertising rules still apply to ads (FTC).

Our read (12–36 months, small and mid-size businesses): If X leaves paused-create in place and agencies keep activate_* off the default allowlist, the X Ads MCP server becomes a reporting and draft layer for shops that already live in Claude or ChatGPT, not a fully agentic media trader. Snap's read-only launch is the conservative template; X's 10 write tools are the aggressive one. Over a year, the winning agency habit is probably one MCP client that can see Meta, Snap, and X together, with writes enabled per platform only after a written approval path. That is not guaranteed. Vendors can still push everyone into native AI assistants inside each ads manager, and MCP can remain a power-user side door.

Our read on SMB fit: A two-truck HVAC shop will use this if Grok or ChatGPT already has the X login and the owner asks one question a week. A 10-person agency will use this if it kills the Monday CSV. A solo clinic should stay on ads.read until a second person can review activates. None of that requires X to publish SMB case studies, and as of September 2026 it has not, in the pages opened for this hub.

Not claimed here: Any return on ad spend from using MCP. Any share of X advertisers already connected. Any dollar price per Ads MCP call. Those figures were not on the pages we opened.

Frequently asked questions

What is an X Ads MCP server?

It is X's official remote Model Context Protocol server that exposes 23 ads tools so an outside AI assistant can read and manage campaigns through the advertiser's own OAuth token. The hosted URL in X's docs is https://ads-api.x.com/mcp. It is not a new ads.x.com screen and not a replacement for the Ads API.

Does the X Ads MCP server spend money on its own?

No. X's docs say campaigns and line items are always created paused, and nothing spends until they are explicitly activated. Activation is a separate tool. If you omit ads.write, write tools fail. If you include it, a human still has to allow activate, in chat or in the console.

Which AI tools can connect to the X Ads MCP server?

X says any MCP-capable client, and it documents Grok, Claude Code, and custom agents built on MCP SDKs. The Yahoo recap also names Claude or ChatGPT as the examples advertisers already know. Cursor, VS Code, and ChatGPT all speak MCP in their own docs; whether a given ChatGPT surface lists X's URL is a product detail to check in that client, not a figure X published in the Ads MCP chapter.

How is this different from the X Ads API?

The Ads API is OAuth endpoints for developers who write clients, with access-form review that can take up to 3 business days (X Ads API introduction). The X Ads MCP server is a tool list on the API gateway so an MCP client can discover and call those capabilities without that custom client. You still need an X app, Ads Project access, and an ads account.

What should a 10-person agency do in the first week?

Connect with ads.read and offline.access only. Confirm list-accounts and last-week stats. Create a second X app if two AI clients must stay logged in. Write the activate rule on paper. Then, on a sandbox account, allow paused creates. Keep client production accounts read-only until that rule has been used once without drama.

Can a solo clinic or HVAC shop use it without a developer?

Yes, if someone on the X ads account can complete the OAuth screens X documents for Grok or Claude Code. There is still an X developer app to create and a callback to register. That is form-filling, not a custom integration. If those screens fail, stop. Do not paste tokens into random "MCP wrapper" sites.

Who is allowed to authorize the connection?

Whoever can log in as the X user that already has ads access. MCP sees only those accounts. Snap's admin model is stricter (org admin then user). X's model is the user's token plus app enrollment. For an agency, that means the employee who connects can see every ads account that X user can see, so do not connect with a partner-user login that spans unrelated clients unless that is intended.

Glossary

  • X Ads MCP server: X's remote MCP endpoint at https://ads-api.x.com/mcp that exposes 23 ads tools to MCP clients.

  • Model Context Protocol (MCP): Open standard for connecting AI apps to tools and data, documented at modelcontextprotocol.io and specified in JSON-RPC 2.0 terms.

  • MCP client: The connector inside Claude, ChatGPT, Grok, Cursor, VS Code, or a custom agent that calls the server.

  • OAuth2 token: The user's login grant; X says the agent only sees ads accounts that token can access, with about 2 hours of life unless offline.access is included.

  • Line item: The X Ads object under a campaign that carries objective, bid, and targeting; MCP can create and activate line items as separate tools.

  • PAUSED write: X's default for new campaigns and line items created through MCP; spend requires an explicit activate call.

  • Streamable HTTP: The remote MCP transport X uses (JSON-RPC POST, SSE-framed responses), also listed by Cursor as one of three transports.

  • ads.read / ads.write: X OAuth scopes that split analytics from campaign mutation on the Ads MCP server.

What to do next

As of August 21, 2026, the X Ads MCP server is a documented, paused-write connector, not a rumor. Open X's MCP page, connect a read-only client, and retire the Monday CSV on one account before you let any model touch activate.

If the rest of the shop already runs on named steps — form in, report out, human on spend — add this as one more step on US Tech Automations rather than as a side-channel chat no one logs.

The concrete follow-on is to open the agentic workflow builder and place a paused X ads read (then, later, a paused create) beside the CRM and report steps you already trust.

About the Author

Garrett Mullins
Garrett Mullins
Workflow Specialist

Helping businesses leverage automation for operational efficiency.

See how AI agents fit your team

US Tech Automations builds and runs the AI agents that handle this work end to end, so your team doesn't have to.

View pricing & plans