mcpbeat Sign in

Microsoft Advertising (Bing Ads) MCP Server

local only

Microsoft Advertising (Bing Ads) runs on your own machine — the client starts it, so there is no endpoint to ping. Last commit 23 Oct 2026.

Microsoft Advertising (Bing Ads) MCP server: 20 read tools, 23 opt-in preview-first writes.

—
Installs / week
npm · @getmcpads/bing-ads-mcp-server
0
Stars
0 open issues
23 Oct 2026
Last commit
from GitHub
Apache-2.0
License
TypeScript

Nothing serious here today

Today is the operative word: we check Microsoft Advertising (Bing Ads) every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.

run in your terminal
claude mcp add bing-ads -e 'BING_ADS_CLIENT_ID=<BING_ADS_CLIENT_ID>' -e 'BING_ADS_REFRESH_TOKEN=<BING_ADS_REFRESH_TOKEN>' -e 'BING_ADS_ACCOUNT_IDS=<BING_ADS_ACCOUNT_IDS>' -- npx -y @getmcpads/bing-ads-mcp-server
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "bing-ads": {
      "command": "npx",
      "args": [
        "-y",
        "@getmcpads/bing-ads-mcp-server"
      ],
      "env": {
        "BING_ADS_ACCOUNT_IDS": "<BING_ADS_ACCOUNT_IDS>",
        "BING_ADS_CLIENT_ID": "<BING_ADS_CLIENT_ID>",
        "BING_ADS_REFRESH_TOKEN": "<BING_ADS_REFRESH_TOKEN>"
      }
    }
  }
}
~/.codex/config.toml
[mcp_servers.bing-ads]
command = "npx"
args = ["-y", "@getmcpads/bing-ads-mcp-server"]
env = { BING_ADS_CLIENT_ID = "<BING_ADS_CLIENT_ID>", BING_ADS_REFRESH_TOKEN = "<BING_ADS_REFRESH_TOKEN>", BING_ADS_ACCOUNT_IDS = "<BING_ADS_ACCOUNT_IDS>" }
.cursor/mcp.json
{
  "mcpServers": {
    "bing-ads": {
      "command": "npx",
      "args": [
        "-y",
        "@getmcpads/bing-ads-mcp-server"
      ],
      "env": {
        "BING_ADS_ACCOUNT_IDS": "<BING_ADS_ACCOUNT_IDS>",
        "BING_ADS_CLIENT_ID": "<BING_ADS_CLIENT_ID>",
        "BING_ADS_REFRESH_TOKEN": "<BING_ADS_REFRESH_TOKEN>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "bing-ads": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@getmcpads/bing-ads-mcp-server"
      ],
      "env": {
        "BING_ADS_ACCOUNT_IDS": "<BING_ADS_ACCOUNT_IDS>",
        "BING_ADS_CLIENT_ID": "<BING_ADS_CLIENT_ID>",
        "BING_ADS_REFRESH_TOKEN": "<BING_ADS_REFRESH_TOKEN>"
      }
    }
  }
}

Put your own values in place of <BING_ADS_CLIENT_ID> (Application (client) ID of your OAuth app registration), <BING_ADS_REFRESH_TOKEN> (Refresh token with the msads.manage and offline_access scopes. Kept in memory only), <BING_ADS_ACCOUNT_IDS> (Comma-separated allowed account IDs, optionally accountId:customerId. Required even for reads). The author’s registry entry marks them as required.

Optional settings from the registry entry, left out of the block above: BING_ADS_DEVELOPER_TOKEN (Your developer token. Required in production; the sandbox uses the universal token), BING_ADS_CLIENT_SECRET (Client secret, only for a web app registration or Google identity), BING_ADS_CUSTOMER_ID (Customer ID that owns the accounts, unless every account entry carries its own), BING_ADS_ENVIRONMENT (production (default) or sandbox), BING_ADS_IDENTITY_PROVIDER (Microsoft (default) or Google, for users who sign in with Google), BING_ADS_OAUTH_TENANT (Microsoft Entra tenant for the token endpoint. Defaults to common), BING_ADS_ENABLE_WRITES (true exposes 23 write tools. Defaults to false. Writes preview until confirm:true).

Alternatives to Microsoft Advertising (Bing Ads)

same job, measured the same way
Google Ads
by getmcpads

Google Ads MCP server: 35 read tools, 13 opt-in preview-first writes.

50 installs/wk local only
Google Ads MCP by AdPlug
by danielpopamd

Google Ads MCP server: 17 tools for reporting, campaigns, keywords, assets. Writes preview first.

answering
Bing Ads
by mharnett

MCP server for Microsoft Advertising (Bing Ads) — campaigns, keywords, and reports

37 installs/wk local only
Google Search Console MCP by AdPlug
by danielpopamd

Search Console MCP server: 8 tools for queries, traffic drops, indexing. Writes preview first.

answering
Microsoft Ads MCP by AdPlug
by danielpopamd

Microsoft Ads MCP server: 11 tools for search, PMax, Google Ads imports. Read-only by default.

answering
Google Search Console
by getmcpads

Google Search Console MCP server: 20 read tools, no write tools.

42 installs/wk local only
Google Analytics 4
by getmcpads

Google Analytics 4 MCP server: 27 read tools, no write tools.

37 installs/wk local only
MCP Google Analytics
by leonardosepulvedat

GA4 MCP that reads AND writes: reports, funnels, audits, and server-side events. 26 tools.

996 installs/wk local only

Microsoft Advertising (Bing Ads) — questions

Answers built from our own checks of this server.

Why is there no uptime for Microsoft Advertising (Bing Ads)?
Microsoft Advertising (Bing Ads) runs on your own machine over stdio — there is no network address to reach, so uptime cannot be measured for it by anyone. What can be measured is adoption: the npm package @getmcpads/bing-ads-mcp-server.
How do I connect Microsoft Advertising (Bing Ads)?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It runs locally, so the command pulls @getmcpads/bing-ads-mcp-server straight from npm; nothing to host, nothing to sign up for.
Is Microsoft Advertising (Bing Ads) open source?
Yes — it is published under the Apache-2.0 licence, written in TypeScript and 0 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.