Microsoft Ads MCP server

Microsoft Ads, from your AI agent.

Use your AI agent to work with Microsoft Advertising, including campaigns commonly searched for as Bing Ads. Pull reports, inspect delivery, and prepare changes with an explicit approval step.

View on GitHub

Prefer to run it on your machine? Local setup for Microsoft Ads

What you can do with Microsoft Ads MCP

Turn reports into a conversation

Request campaign performance without manually handling report downloads. Adport manages Microsoft’s asynchronous report flow and returns normalized results.

Compare search accounts

Inspect campaign spend and available conversion metrics alongside another connected search provider. Keep currencies and attribution settings separate when interpreting differences.

Review status and daily budgets

Preview campaign activation, pausing, or budget adjustments. Protected-account and budget-cap policies apply before an operation can be executed.

Prefer local setup for Microsoft 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.

  1. Install Adport
    npm install -g adport
  2. Connect Microsoft Ads
    adport connect microsoft
    The wizard selects sandbox or production and opens a PKCE sign-in flow. Rotated refresh tokens are persisted in the local credential store.
  3. Check your connection
    adport doctor
    adport accounts --provider microsoft
    Check that the intended account appears before asking your agent to report on it. Never paste tokens, client secrets, or private keys into chat.
  4. Register a local stdio client
    claude mcp add --transport stdio adport -- adport mcp
    For Cursor, merge {"mcpServers":{"adport":{"command":"adport","args":["mcp"]}}} into your MCP configuration. ChatGPT uses the HTTP endpoint above instead of launching a local process.

Use Microsoft 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 Microsoft 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 Microsoft 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 Microsoft 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 Microsoft 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 Microsoft 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 Microsoft Ads in any MCP client

Add a remote MCP server in your client, name it Adport, and use the endpoint below. Choose OAuth or streamable HTTP if your client asks.

https://app.adport.dev/mcp

Approve the browser sign-in when prompted. For a client without MCP OAuth, create an API key under Agent access instead.

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.

A suggestion is not a live change.

Try the write gate

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.

Microsoft Ads MCP questions

Is Bing Ads supported by this Microsoft MCP?

Yes. Bing Ads is the former name many advertisers still use for Microsoft Advertising. Connect with the microsoft provider command, not a separate bing provider.

Can I use Microsoft Ads locally without Adport Cloud?

Yes. Install Adport from npm, connect your own Microsoft 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.

Bring your whole team behind the gate.

Adport Cloud is in early access: hosted MCP with sign-in, team workspaces and the same preview on every change. Join the Cloud waitlist and we’ll write once, when your spot opens.

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