mcpbeat Sign in

Bing Ads MCP Server

local only

Bing Ads runs on your own machine — the client starts it, so there is no endpoint to ping. 102 installs a week from npm. Last commit 31 Oct 2026.

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

Installs per day peak 45 · avg 13 · +4% w/w
a month agotoday
102
Installs / week
npm · mcp-bing-ads
4
Stars
0 open issues
31 Oct 2026
Last commit
3 releases in 90 days
MIT
License
TypeScript

What the code does

We read the source, 1 d ago · rules 995398eba69f

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Runs an external command get-refresh-token-device.cjs:92
    require("child_process").execSync(`open "${dcData.verification_uri}"`);

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

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_DEVELOPER_TOKEN=<BING_ADS_DEVELOPER_TOKEN>' -e 'BING_ADS_CLIENT_ID=<BING_ADS_CLIENT_ID>' -e 'BING_ADS_REFRESH_TOKEN=<BING_ADS_REFRESH_TOKEN>' -- npx -y mcp-bing-ads
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "bing-ads": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-bing-ads"
      ],
      "env": {
        "BING_ADS_CLIENT_ID": "<BING_ADS_CLIENT_ID>",
        "BING_ADS_DEVELOPER_TOKEN": "<BING_ADS_DEVELOPER_TOKEN>",
        "BING_ADS_REFRESH_TOKEN": "<BING_ADS_REFRESH_TOKEN>"
      }
    }
  }
}
~/.codex/config.toml
[mcp_servers.bing-ads]
command = "npx"
args = ["-y", "mcp-bing-ads"]
env = { BING_ADS_DEVELOPER_TOKEN = "<BING_ADS_DEVELOPER_TOKEN>", BING_ADS_CLIENT_ID = "<BING_ADS_CLIENT_ID>", BING_ADS_REFRESH_TOKEN = "<BING_ADS_REFRESH_TOKEN>" }
.cursor/mcp.json
{
  "mcpServers": {
    "bing-ads": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-bing-ads"
      ],
      "env": {
        "BING_ADS_CLIENT_ID": "<BING_ADS_CLIENT_ID>",
        "BING_ADS_DEVELOPER_TOKEN": "<BING_ADS_DEVELOPER_TOKEN>",
        "BING_ADS_REFRESH_TOKEN": "<BING_ADS_REFRESH_TOKEN>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "bing-ads": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-bing-ads"
      ],
      "env": {
        "BING_ADS_CLIENT_ID": "<BING_ADS_CLIENT_ID>",
        "BING_ADS_DEVELOPER_TOKEN": "<BING_ADS_DEVELOPER_TOKEN>",
        "BING_ADS_REFRESH_TOKEN": "<BING_ADS_REFRESH_TOKEN>"
      }
    }
  }
}

Put your own values in place of <BING_ADS_DEVELOPER_TOKEN> (Microsoft Advertising developer token), <BING_ADS_CLIENT_ID> (Azure AD app client ID for OAuth), <BING_ADS_REFRESH_TOKEN> (OAuth refresh token for Microsoft Advertising API). The author’s registry entry marks them as required.

Optional settings from the registry entry, left out of the block above: BING_ADS_CLIENT_SECRET (Azure AD app client secret (optional for public clients)).

Alternatives to Bing Ads

same job, measured the same way
Google Ads MCP by AdPlug
by danielpopamd

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

answering
G
Google Ads
by adramp

Google Ads MCP server — manage campaigns, keywords, and metrics.

answering
Google Ads
by mharnett

Google Ads MCP with MCC support: 35 tools for campaigns, keywords, reporting, GAQL.

242 installs/wk local only
Microsoft Advertising (Bing Ads)
by getmcpads

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

602 installs/wk local only
Google Adwords
by codechap

MCP server for Google Ads campaign and budget management

local only
Google Ads MCP
by davidmosiah

Unofficial Google Ads MCP for campaigns, keywords, budgets, and gated mutations.

74 installs/wk local only
Gadschain
by snipmcp

Google Ads MCP server. Read campaigns, manage budgets, pause/enable, add negative keywords.

51 installs/wk local only
Google Ads Manager MCP
by aleemhaider

Unofficial MCP server for Google Ads: reporting plus safe draft/confirm campaign management.

39 installs/wk local only

Bing Ads — questions

Answers built from our own checks of this server.

Why is there no uptime for Bing Ads?
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 mcp-bing-ads was installed 102 times last week.
How do I connect 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 mcp-bing-ads straight from npm; nothing to host, nothing to sign up for.
How many people use Bing Ads?
The npm package mcp-bing-ads was installed 102 times in the last week. Week over week that is +4%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Bing Ads open source?
Yes — it is published under the MIT licence, written in TypeScript and 4 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.