X Ads MCP server

Your X Ads.
In your AI agent.

Use your agent with X advertising accounts, also known as Twitter Ads. Inspect campaigns, line items, and funding instruments, then review spend and traffic with the right metric definitions.

View on GitHub

Available locally with npm. Set up X Ads

Built for this platform

What you can do with X Ads MCP

01

Understand campaign traffic

Report on spend, impressions, link clicks, CTR, CPC, and CPM. X engagement clicks are not treated as website link clicks, and unsupported conversion metrics remain absent.

02

Inspect line items and funding

List campaign line items and existing funding instruments. This reads the billing context needed for campaign planning without creating or changing payment instruments.

03

Handle longer reporting periods

Short ranges use synchronous analytics; longer periods use asynchronous jobs in bounded chunks. Date handling follows account timezones and rejects unsupported boundaries.

Know what the data means

Conversions, conversion value, CPA, and ROAS are not normalized by this provider yet. API-contract tests do not prove live approval, pricing, or advertiser eligibility. Previewed campaign writes remain subject to X accepting the request.

Local setup · Bring your own credentials

Prefer local setup for X Ads?

The npm CLI and MCP server run on your machine. You need Node.js 22.13 or newer, your own provider credentials, and permission to access the ad account.

01 Install Adport

npm install -g adport

02 Connect X Ads

adport connect x

The wizard verifies account discovery using OAuth 1.0a credentials and saves the local grant. A bearer token is not a replacement for the four-part Ads API credential set.

03 Check your connection

adport doctor
adport accounts --provider x

Check that the intended account appears before asking your agent to report on it. Never paste tokens, client secrets, or private keys into chat.

Register a local stdio client

For Claude Code:

claude mcp add --transport stdio adport -- adport mcp

For Cursor, merge this entry into your MCP configuration:

{
  "mcpServers": {
    "adport": {
      "command": "adport",
      "args": [
        "mcp"
      ]
    }
  }
}

ChatGPT uses an HTTP MCP endpoint instead of launching this local process.

Your tools. Your choice.

Use X Ads from your agent.

Use the same Adport MCP endpoint and OAuth sign-in in each client. First connect your ad accounts in your Adport workspace. No platform secrets belong in chat.

Use X Ads in ChatGPT

Enable developer mode, then open Settings → Apps → Create. Choose OAuth and use the endpoint below.

https://app.adport.dev/mcp

Scan the tools, finish Adport authorization, and enable the new app in your chat.

Developer mode and custom apps must be enabled for your ChatGPT account or workspace. In newer layouts, enable Developer mode under Settings → Security and login, then use the + button in Plugins to create your app. ChatGPT connects over HTTP; the local stdio command is for clients that can launch a process.

ChatGPT developer-mode documentation

Use X Ads in Codex

Run this command once and complete the browser authorization. Codex stores the MCP configuration and starts OAuth automatically.

codex mcp add adport --url https://app.adport.dev/mcp

Only if authorization did not start or you need to sign in again, run “codex mcp login adport”. Otherwise, check “codex mcp list” and ask Codex to list your ad accounts.

Use X Ads in Claude Code

Add Adport at user scope so it is available across your local projects.

claude mcp add --transport http --scope user adport https://app.adport.dev/mcp

Run /mcp inside Claude Code if the browser authorization does not open automatically.

Use X Ads in Claude

Open Customize → Connectors → Add custom connector. Name it Adport and use the endpoint below.

https://app.adport.dev/mcp

Select Connect, approve the workspace, then enable Adport from the + menu in a conversation.

Use X Ads in Cursor

Add this server to ~/.cursor/mcp.json, then restart Cursor.

{
  "mcpServers": {
    "adport": {
      "url": "https://app.adport.dev/mcp"
    }
  }
}

Approve the browser sign-in when prompted. Cursor will keep the OAuth session refreshed.

Use X Ads in VS Code

Open the Command Palette and choose “MCP: Open User Configuration”, then add this server.

{
  "servers": {
    "adport": {
      "type": "http",
      "url": "https://app.adport.dev/mcp"
    }
  }
}

Start the Adport server from VS Code and complete the browser authorization.

Use the MCP URL from Agent access if you run your own Adport deployment. Client settings, workspace permissions, and advertising-platform approvals still apply. The Cloud waitlist below is separate from these connection instructions.

You stay in control

A suggestion is not a live change.

The first mutation call returns a preview and a short-lived pending-operation token. Applying requires that token and the same arguments. Budget caps and protected accounts are checked by the policy engine; new campaigns are paused by policy.

Local operations are recorded in an append-only audit log. An approved preview is not a guarantee of provider acceptance, and a connected agent does not grant additional account permissions.

X Ads MCP questions

Does Twitter Ads require different MCP setup from X Ads?

No. They refer to the same advertising provider here. Use adport connect x with an Ads API-approved app and OAuth 1.0a user credentials, not general-purpose X bearer-token authentication.

Can I use X Ads locally without Adport Cloud?

Yes. Install Adport from npm, connect your own X Ads credentials, and register the local MCP server with a stdio-compatible agent such as Claude Code or Cursor. Your provider may have its own approval, access, or billing requirements.

Why can I connect an account but not read a report or apply a change?

Account discovery, reporting, and mutations can require different permissions. Check the requested account, provider app scopes, advertiser eligibility, and environment. Start with adport doctor and the connection guide above. Do not bypass a denied operation by sharing secrets with the agent.

Adport Cloud · Coming next

Your ads. One workspace.

Join the waitlist for the cloud version. We’ll email you when early access opens.

By joining, you agree to receive an early-access email. No newsletter. Privacy