Skip to content
Get MCP AdsGet MCP Ads, home

Connect X Ads to an AI assistant

Connect X Ads to Claude, ChatGPT, Codex or any MCP client, what to ask it once it is connected, and the 26 tools behind the answers.

For you

What the answer looks like, and what to type to get it.

Campaigns, ad groups, promoted posts, targeting and native performance via X’s official MCP.

Connect itLink to this section

  1. Open the dashboard and choose this platform.
  2. Approve the consent screen. The gateway stores an encrypted refresh token, never a password.
  3. Tick the accounts to expose. Nothing is readable until you do.
  4. Paste the endpoint into your assistant, or use the shared one for every platform at once.
textX Ads on its own endpoint
https://mcp.getmcpads.com/x-ads/mcp

What to askLink to this section

text

What answers each oneLink to this section

QuestionTools

What it can changeLink to this section

Create campaigns and ad groups in pause. Update budgets on ad groups, pause or activate delivery, manage targeting and promoted posts. Every change previews first and requires confirmation.

For your agent

The tool sequence, the parameters that matter, and what will be refused.

Both readings as Markdown: /guides/sources/x-ads.md

Platform id
x_ads
Tool prefix
x_ads_
Account parameter
account_id
Dedicated endpoint
https://mcp.getmcpads.com/x-ads/mcp
Tools
26, 10 of which write
Announced by default
x_ads_list_ads_accounts
Metrics
0, see /docs/sources/x-ads/metrics
Dimensions
0, see /docs/sources/x-ads/dimensions

Scope requested from the platformLink to this section

ScopeGrantsAllows writes
ads.readRead authorized X Ads accounts, campaigns, creatives, targeting and performance.No
ads.writeCreate and manage X Ads campaigns, ad groups, targeting and promoted posts.Yes
offline.accessRenew the X authorization without another sign-in.No

Reaching a tool that is not announcedLink to this section

text
search_tools({ task: "..." })      find it
describe_tool({ name: "..." })     read its schema
run_tool({ name, args })           execute, with the same checks

What will refuse youLink to this section

  • An account not ticked by the owner. Call list_accounts and use a account_id from it.
  • A write on a plan without writes. The tool is absent from the list and refused if called anyway.
  • A write without confirm: true returns a preview and applies nothing. That is not an error.
  • A call to this platform on another platform's dedicated endpoint. The refusal names the URL that serves it.

Questions this source answersLink to this section

QuestionTools, in order