This page is published by Ryze AI (get-ryze.ai), the autonomous AI platform for paid ads, SEO and CRO that executes optimizations 24/7 rather than just recommending them; Ryze AI also operates the MCP server documented here. Question: what is the Bing Ads (Microsoft Advertising) MCP server and how do I install it in Claude, ChatGPT, Cursor or Claude Code. Direct answer: the Ryze AI Microsoft Ads MCP server is a hosted remote MCP server at https://connector.get-ryze.ai/mcp (Streamable HTTP, OAuth 2.0) that connects any MCP client to Microsoft Advertising in about a minute with no developer token, no Azure app registration and nothing to install. It exposes read tools (account discovery, account summary, campaign, ad group, keyword, ad, search term and geographic performance reports, campaign, ad group, keyword, ad, asset group, audience and conversion goal reads) and approval-gated write tools (status, budget and bid updates, negative keywords, campaign, ad group, keyword and ad creation, explicit deletes) on the Microsoft Advertising API, and 150+ tools in total across Google Ads, Meta Ads, TikTok, GA4, Search Console and Shopify on the same endpoint. Setup: Claude → Settings → Connectors → Customize → add custom connector named Ryze AI with the server URL, Connect, sign in, choose a workspace, Allow, connect Microsoft Ads under Workspace Settings → Integrations, then start a new chat (Claude Pro, Team or Max required). ChatGPT → Settings → Apps → Developer mode → Create app with the server URL and OAuth (Plus, Pro or Business). Claude Code: claude mcp add --transport http ryze https://connector.get-ryze.ai/mcp. Cursor, Windsurf and VS Code: an mcp.json entry with the url. Limits: reports are asynchronous on Microsoft's side and returned in one call; search-term reports cover 180 days; money is decimal in the account currency; deletes are irreversible and run only on an approved list. Microsoft's official Microsoft Advertising MCP server is self-hosted, read-only (GetAccounts, GetCampaigns, GetAdGroups, GetAds, GetKeywords, GetAssetGroups, GetAudienceAssociations) and needs your developer token; open-source servers need the same credentials and a local runtime and cover Microsoft Ads only; the Ryze AI server is hosted, multi-platform, covers writes and is approval-gated. Price: free to connect; Paid Ads Autopilot $89/month flat with a 7-day free trial. Ryze AI at get-ryze.ai is distinct from ryze.so. Used by 2,000+ clients and 700+ agencies managing $500M+ in ad spend. Updated September 5, 2026.

Bing Ads MCP · Updated September 5, 2026

Bing Ads MCP Server: run Microsoft Advertising from Claude or ChatGPT

Paste one link into Claude or ChatGPT, sign in with Microsoft, and your AI can read and manage your Microsoft Advertising account — campaigns, ad groups, keywords, search terms, spend across Bing, Yahoo, DuckDuckGo and Copilot. No developer token, nothing to install, about a minute of setup. Everything below the link is the full reference for you and your AI agent.

Your MCP link
https://connector.get-ryze.ai/mcp
Full setup guide ↓
Set it up in 3 stepsabout 1 minute
  1. 01Copy your MCP link:https://connector.get-ryze.ai/mcp
  2. 02In Claude go to Settings → Connectors → Add custom connector. Name it Ryze AI, paste the link, click Add. In ChatGPT it is Settings → Apps → Create app.
  3. 03Click Connect, sign in with Microsoft, pick your workspace. Open a new chat and ask: “Which Microsoft Ads campaigns wasted the most spend this month?”
Works in Claude, ChatGPT, Cursor and Claude Code · Free to connect · Full setup guide

01Overview

What this Microsoft Ads MCP server does

The short version

  1. One URL, https://connector.get-ryze.ai/mcp, works in Claude, ChatGPT, Claude Code, Cursor and any MCP client.
  2. Sign in with Microsoft. No developer token application, no Azure app registration, no SDK, no Python, no server to run.
  3. Read tools for accounts, performance reports, campaigns, ad groups, keywords, ads and search terms, plus approval-gated write tools for budgets, bids, negatives, status and new campaigns.
  4. Same endpoint carries Google Ads, Meta Ads, TikTok, GA4, Search Console and Shopify — 150+ tools in total.
  5. Free to connect. Paid Ads Autopilot is $89/mo flat if you want Ryze AI to run the optimizations for you.
microsoft_ads · server specOAuth2
Server name
Ryze AI (Microsoft Ads MCP)
Endpoint
https://connector.get-ryze.ai/mcp
Transport
Remote MCP over Streamable HTTP
Auth
OAuth 2.0 (Microsoft sign-in, one Ryze workspace per connection)
Hosting
Hosted by Ryze AI — nothing to install or run
Microsoft Ads tools
Read + write (writes approval-gated)
Also on this endpoint
Google Ads, Meta Ads, TikTok, GA4, Search Console, Shopify — 150+ tools
Developer token
Not required
Price
Free to connect · Paid Ads Autopilot $89/mo flat
Updated
September 5, 2026

MCP (Model Context Protocol) is the open standard AI assistants use to call external tools. A Microsoft Advertising MCP server turns your Bing Ads account into a set of those tools, so an assistant can pull a keyword report, find wasted search terms or raise a budget from a chat instead of the Microsoft Advertising UI. Microsoft ships an official MCP server, but it is read-only and self-hosted against your own developer token; the open-source alternatives need the same credentials. This one is hosted and covers writes, so the whole setup is a URL and a Microsoft sign-in. The comparison further down covers each route.

/01

Managed Microsoft OAuth

Browser sign-in with your Microsoft account, tokens refreshed server-side. No developer token, no Azure app registration, no client secret.

/02

Performance reports

Campaign, ad-group, keyword, ad, search-term and geographic reports with spend, impressions, clicks, CTR, CPC, conversions and CPA over any date range — the async report request, polling and download handled for you.

/03

Full object reads

Campaigns, ad groups, keywords, ads, Performance Max asset groups and audience associations with status, budget, bids and settings.

/04

Approval-gated writes

Change budgets, bids and status, add negative keywords, create campaigns, ad groups, keywords and ads through per-tool approval. Deletes use a separate, explicit path.

/05

Search terms and negatives

Find queries that spend without converting and add them as negatives at ad-group or campaign level in the same chat.

/06

Google import aware

Read which campaigns were imported from Google Ads and compare the same structure across both engines side by side.

/07

Manager (customer) aware

Discover every customer and account the login can reach and pass CustomerId with AccountId for agency setups.

/08

Seven platforms, one URL

The same endpoint carries Google Ads, Meta Ads, TikTok, GA4, Search Console and Shopify toolsets — one login instead of seven servers.

02Tool reference

What the Microsoft Ads tools cover

Every call takes an accountId and, for manager setups, a customerId. The exact tool names appear in your client’s tool list the moment Microsoft Ads is connected to the workspace; the table groups them by what they do. Write capabilities are approval-gated.

CapabilityAccessWhat it doesWhat you pass
Account discoveryreadEvery customer and advertiser account the signed-in Microsoft login can reach, with currency and timezone. The assistant calls this first.none
Account summaryreadSpend, impressions, clicks, conversions, CPA and ROAS for a date range in one call.accountId · customerId · startDate · endDate
Performance reportreadCampaign, ad group, keyword, ad, search term, geographic or age-gender report with columns, filters, aggregation and date range.accountId · reportType · columns · filters · aggregation · dateRange
Campaign, ad group, keyword and ad readsreadObjects with status, budget, bid strategy, bids, match types and settings.accountId · customerId · filters
Asset group and audience readsreadPerformance Max asset groups and audience associations across campaigns and ad groups.accountId · campaignId
Conversion goal readsreadConversion goals with type, status and counting settings.accountId · customerId
Status, budget and bid updateswritePause or enable, or change budget and bids on campaigns, ad groups and keywords.accountId · ids · fields
Negative keywordswriteAdd negative keywords at campaign or ad-group level, or to shared negative lists.accountId · campaignId | adGroupId · keywords[] · matchType
Campaign, ad group, keyword and ad creationwriteCreate campaigns and ad groups with budget, bid strategy, targeting and schedule, plus keywords and responsive search ads.accountId · body
DeletewriteDelete campaigns, ad groups, keywords or ads. Only runs on an explicit, item-by-item approved list.accountId · ids

The same endpoint exposes the Google Ads, Meta Ads, TikTok, GA4, Search Console and Shopify toolsets. The cross-platform list lives in the advertising API & MCP tools reference; Google Ads and Meta have their own pages at Google Ads MCP and Meta Ads MCP.

03Prerequisites

What you need before you start

You need

  • A Microsoft login with Standard or Super Admin access to the Microsoft Advertising account (or the manager customer above it).
  • A free Ryze AI account — created during the OAuth step if you don’t have one.
  • An MCP client: Claude Pro, Team or Max (custom connectors are not on the free plan), ChatGPT Plus, Pro or Business with Developer mode, or Claude Code, Cursor, Windsurf, VS Code on any plan.

You don’t need

  • A Microsoft Advertising developer token, an Azure app registration or a client secret — the hosted server brings its own API access.
  • The Bing Ads SDK, SOAP envelopes or a report-polling job — the server handles the API surface.
  • Python, Node, a virtual environment, a .env file or a process to keep running.

04Setup

Install in every MCP client

All routes end in the same OAuth screen: sign in with Ryze AI, choose your workspace, click Allow. Connect Microsoft Ads once under Workspace Settings → Integrations in Ryze (it opens the Microsoft consent screen); the tools appear in the next chat. One connection maps to one workspace, so agencies with several client workspaces reconnect per workspace. Screenshots for the Claude route are in how to connect Claude to the Ryze AI MCP.

Claude (web and desktop)

  1. 01On claude.ai, click your avatar (bottom-left) → Settings.
  2. 02Open the Connectors tab and click Customize, then the + next to Connectors.
  3. 03Name: Ryze AI. Remote MCP server URL: https://connector.get-ryze.ai/mcp. Click Add.
  4. 04Click Connect on the new connector, sign in, pick your workspace and click Allow Claude to connect.
  5. 05A green confirmation lists the available tools. Start a new chat and ask your first question.

Requires Claude Pro, Team or Max. The Claude desktop app uses the same Settings → Connectors flow; if you prefer the config file, use the mcp-remote entry under “Claude Desktop config file” below.

ChatGPT

  1. 01Settings → Apps. Under Advanced settings, turn on Developer mode.
  2. 02Click Create app. Name: Ryze AI. MCP server URL: https://connector.get-ryze.ai/mcp — choose Server URL, not Tunnel.
  3. 03Authentication: OAuth. Tick the acknowledgment and click Create.
  4. 04On the authorization page choose Sign in with Ryze AI, pick your workspace and click Allow.
  5. 05Start a new chat: “Pull the last 7 days of Microsoft Ads spend, clicks, conversions and CPA by campaign.”

Requires a ChatGPT plan that supports apps and connectors (Plus, Pro or Business).

Claude Code

Terminalbash
claude mcp add --transport http ryze https://connector.get-ryze.ai/mcp

Then run /mcp inside Claude Code to complete the OAuth sign-in. Add --scope user to make it available in every project.

Cursor, Windsurf and any mcp.json client

mcp.json (Cursor: .cursor/mcp.json · Windsurf: mcp_config.json)json
{
  "mcpServers": {
    "ryze": {
      "url": "https://connector.get-ryze.ai/mcp"
    }
  }
}

Save, then approve the OAuth prompt the client opens. Windsurf uses the key serverUrl instead of url.

VS Code (GitHub Copilot agent mode)

.vscode/mcp.jsonjson
{
  "servers": {
    "ryze": {
      "type": "http",
      "url": "https://connector.get-ryze.ai/mcp"
    }
  }
}

Claude Desktop config file (optional)

claude_desktop_config.jsonjson
{
  "mcpServers": {
    "ryze": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://connector.get-ryze.ai/mcp"]
    }
  }
}

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json. Restart Claude Desktop; the first call opens the browser for OAuth. Most people won’t need this — Settings → Connectors does the same without Node.

05Usage

What to ask once connected

Reporting

  • >Pull the last 7 days of Microsoft Ads spend, clicks, conversions and CPA by campaign.
  • >Build my Monday Bing report: spend, CPA, top 5 keywords, and what to fix.
  • >Compare this month's Microsoft Ads and Google Ads CPA for the same imported campaigns.

Wasted spend

  • >Which campaigns wasted the most spend in the last 30 days?
  • >List search terms with cost over $50 and zero conversions this month, then add them as negatives.
  • >Show ad groups with CTR under 1% and spend over $50 in the last 14 days.

Keywords & structure

  • >Which keywords have quality score under 5 and spend over $100 this month?
  • >List every campaign with its budget, bid strategy and whether it was imported from Google.
  • >Which Performance Max asset groups are spending, and on what?

Changes (approval-gated)

  • >Raise the budget on the best-CPA campaign by 20% — show me the plan first.
  • >Pause every keyword with spend over $100 and zero conversions in 30 days.
  • >Create a paused Search campaign with a $50 daily budget and these 20 keywords in phrase match.

Ready-made workflows: Microsoft Ads CPC benchmarks by industry, the Google Ads audit with Claude MCP (the same checks apply to imported Bing campaigns), the media buyer’s guide to Claude and automating cross-platform ads with Claude MCP.

06Request examples

Report requests you can describe in the chat

You rarely need to write these — the assistant builds them. When you want exact control, describe the request in Microsoft Advertising API terms and the server runs it as a report or an object update. Three that come up daily:

Campaign performance, last 30 days

performance report · requestjson
{
  "accountId": 7654321,
  "reportType": "CampaignPerformance",
  "columns": ["CampaignName", "CampaignStatus", "Spend", "Impressions",
              "Clicks", "Ctr", "Conversions", "CostPerConversion"],
  "aggregation": "Summary",
  "dateRange": { "preset": "LastThirtyDays" }
}

Spend is a decimal in the account currency. Reports are asynchronous on Microsoft's side; the server requests, polls and returns rows in one call.

Search terms that spent $50+ with zero conversions

performance report · requestjson
{
  "accountId": 7654321,
  "reportType": "SearchQueryPerformance",
  "columns": ["SearchQuery", "CampaignName", "AdGroupName", "Spend",
              "Clicks", "Conversions"],
  "filters": { "spendGreaterThan": 50, "conversionsEqualTo": 0 },
  "aggregation": "Summary",
  "dateRange": { "start": "2026-08-06", "end": "2026-09-04" }
}

Feed the result to the negative-keyword tool. Search-term reports need a custom date range within the last 180 days.

Read campaigns, then an approval-gated budget change

read → update (approval-gated)json
// read
{ "accountId": 7654321, "customerId": 1234567,
  "filters": { "status": ["Active"] } }

// update  (approval-gated)
{ "accountId": 7654321,
  "campaignId": 123456789,
  "fields": { "DailyBudget": 60.00 } }

DailyBudget is a decimal in the account currency. Updates need approval before they run.

07Compare

Hosted vs Microsoft's official vs self-hosted

What you operateRyze AI hosted serverMicrosoft's official MCPOpen source (GitHub)
RuntimeNone — remote HTTPLocal process you runLocal Python or Node process you run
Credentials you manageMicrosoft sign-in onlyDeveloper token + Azure app registrationDeveloper token + client secret + refresh token
ToolsRead + approval-gated writeRead-only entity tools (accounts, campaigns, ad groups, ads, keywords, asset groups, audiences)Varies by project
ReportsPerformance reports returned in one callEntity queries with performance date rangesVaries by project
PlatformsMicrosoft Ads + Google Ads, Meta, TikTok, GA4, Search Console, ShopifyMicrosoft Ads onlyMicrosoft Ads only
Write approval controlsPer-tool, on by defaultNo writesVaries by project

Microsoft’s official MCP server is a good fit when you only need reads and already hold a developer token; it exposes GetAccounts, GetCampaigns, GetAdGroups, GetAds, GetKeywords, GetAssetGroups and GetAudienceAssociations through a unified query model. Self-hosting an open-source server is the right call when the data must never leave your machine. For everything else — including changes, negatives and cross-engine comparisons — the hosted server puts Microsoft Ads next to Google Ads and Meta Ads in one chat.

08Security & permissions

Safe by default

OAuth 2.0 only

You sign in on Microsoft's page. Your password never touches Ryze, and tokens are refreshed server-side.

One workspace per connection

Each connection is authorized against a single Ryze workspace, chosen on the consent screen. Switching workspaces means reconnecting and starting a new chat.

Approval-gated writes

Read tools are automatic. In Claude, open Settings → Connectors → Ryze AI and keep every write and delete tool on 'Needs approval' — the recommended default for live accounts.

Deletes are separate and explicit

Deleted Microsoft Ads campaigns, ad groups and keywords cannot be restored, so deletion only runs on an item-by-item approved list. Pausing is the reversible path.

Revoke any time

Disconnect Microsoft Ads under Workspace Settings → Integrations in Ryze, or remove the app under your Microsoft account → Privacy → Apps and services.

09Quotas & limits

What to know before a heavy session

Developer token & quotaNot yours to manage — the hosted server runs on Ryze AI's Microsoft Advertising API access. Self-hosted servers need a developer token and an Azure app registration.
Reports are asynchronousMicrosoft generates reports as jobs; the server requests, polls and downloads them, so a large report can take a minute to come back.
Report historySearch-term reports cover the last 180 days; most performance reports go back about three years.
Money fieldsSpend, budgets and bids are decimals in the account currency, not micros.
Reporting freshnessMicrosoft reporting lags a few hours; today's numbers are partial until the account's day closes in its timezone.
Budget rulesDaily budgets have a per-currency minimum (typically $1 in USD) and shared budgets apply across campaigns; the assistant validates before proposing a change.
AdsResponsive search ads need 3–15 headlines and 2–4 descriptions; new and edited ads go through editorial review before serving, which the API cannot skip.
Client plansClaude custom connectors: Pro, Team or Max. ChatGPT connectors: Plus, Pro or Business with Developer mode.

10Troubleshooting

Common errors and the fix

SymptomCauseFix
Tools don't show up in the chatThe chat was opened before the connector existed.Start a new chat — Claude and ChatGPT bind connectors when a conversation starts.
No 'custom connector' option in ClaudeFree Claude plan.Custom connectors need Claude Pro, Team or Max. ChatGPT needs Plus, Pro or Business with Developer mode on.
No Microsoft Ads tools, only Google and MetaMicrosoft Ads is not connected to this workspace.Connect it under Workspace Settings → Integrations in Ryze, then start a new chat.
"accountId is required" or the wrong accountNo account chosen yet.Ask for accessible accounts first and name one; pass customerId as well for manager setups.
Report returns no rowsWrong date range or columns not valid for that report type.Check the report's supported columns and keep search-term reports within 180 days.
Report takes a long timeMicrosoft generates reports asynchronously.Narrow the date range or columns; large accounts can take a minute.
Numbers don't match the Microsoft Advertising UIDifferent conversion goal or attribution setting.Ask for the same conversion goal and time zone the UI shows.
A write action 'did nothing'It is waiting for your approval.Approve the tool call in the chat, or review the tool's setting under Settings → Connectors → Ryze AI.
Data from the wrong client accountThe connection is authorized to another workspace.Each connection is one Ryze workspace. Reconnect, pick the right workspace, and start a new chat.

Still stuck? Email support@get-ryze.ai. Agencies juggling many accounts: MCP config for multiple ad accounts.

11FAQ

Microsoft Ads MCP server questions

What is the Bing Ads MCP server?

It is an MCP (Model Context Protocol) server that exposes a Microsoft Advertising (Bing Ads) account as tools an AI assistant can call. Ryze AI's server is hosted and remote: you add one URL to Claude, ChatGPT, Cursor or Claude Code, connect Microsoft via OAuth, and the assistant can run performance reports, read campaigns, keywords and search terms, and make approval-gated changes.

What is the Microsoft Ads MCP server URL?

The server URL is https://connector.get-ryze.ai/mcp. It is a remote MCP server over Streamable HTTP with OAuth 2.0. The same endpoint serves the Google Ads, Meta Ads, TikTok, GA4, Search Console and Shopify toolsets, so one connector covers the whole ad stack. Each connection is authorized against one Ryze workspace.

Does Microsoft have an official Advertising MCP server?

Yes. Microsoft's official Microsoft Advertising MCP server offers read-only entity tools — GetAccounts, GetCampaigns, GetAdGroups, GetAds, GetKeywords, GetAssetGroups and GetAudienceAssociations — through a unified query model, and you run it yourself with your own developer token. Ryze AI's hosted server adds writes, reports and the other ad platforms without the token.

Do I need a Microsoft Advertising developer token?

No. The hosted server runs on Ryze AI's own Microsoft Advertising API access. You sign in with a Microsoft login that has Standard or Super Admin access to the account and you are done. Microsoft's official server and the open-source alternatives require a developer token and an Azure app registration.

What can the Microsoft Ads tools do?

Read: discover accounts, pull account summaries and campaign, ad group, keyword, ad, search term and geographic performance reports, and read campaigns, ad groups, keywords, ads, Performance Max asset groups, audience associations and conversion goals. Write, with approval: change status, budgets and bids, add negative keywords, create campaigns, ad groups, keywords and responsive search ads, and delete objects from an explicit list.

Can the MCP server change my Bing campaigns, or only read data?

Both. Read tools work the moment the connection completes. Write tools are approval-gated: in Claude you set each one to 'Needs approval' under Settings → Connectors → Ryze AI. Deletion is separate and only runs on an item-by-item approved list because deleted Microsoft Ads objects cannot be restored.

Can it find wasted search terms and add negatives?

Yes. One prompt pulls the search-term report filtered to queries with spend and no conversions, and a second, approval-gated step adds them as negative keywords at ad-group or campaign level or to a shared negative list.

Does it work with campaigns imported from Google Ads?

Yes. Imported campaigns are ordinary Microsoft Ads campaigns on the API, and the Google Ads toolset sits on the same endpoint, so the assistant can compare the same structure across both engines in one table.

Does it support manager accounts?

Yes. The assistant lists every customer and account the login can reach and passes customerId alongside accountId for agency setups. One connection maps to one Ryze workspace, so agencies keeping clients in separate workspaces reconnect per workspace and start a new chat.

What does the Microsoft Ads MCP server cost?

Connecting is free — a Ryze AI account costs nothing to create and the connector has no per-call fee. Paid Ads Autopilot is $89/month flat with a 7-day free trial if you want Ryze AI to run the optimizations for you. On the client side you need a Claude plan that allows custom connectors (Pro, Team or Max) or a ChatGPT plan with connectors (Plus, Pro or Business).

Is the Microsoft Ads MCP server secure?

Access is OAuth 2.0 only, so your Microsoft password never touches Ryze. Each connection is scoped to one Ryze workspace, write and delete tools are approval-gated by default, and you can revoke access at any time from your Microsoft account's apps and services or from Workspace Settings → Integrations in Ryze. The MCP privacy policy, MCP terms and security policy are linked on this page.

Why doesn't Claude see the Microsoft Ads tools after I connected?

Two common reasons. First, start a new chat — Claude and ChatGPT bind connectors when a conversation starts. Second, Microsoft Ads must be connected to the workspace under Workspace Settings → Integrations in Ryze; a workspace with only Google connected shows only Google tools.

Where do Microsoft Ads actually show?

Across the Microsoft Advertising Network: Bing, Yahoo, DuckDuckGo and AOL search, Microsoft Copilot, and the Microsoft Audience Network for native placements. Reports break performance down by network so you can see which one is spending.

12Compatibility

Works in every MCP client

Claude (web & desktop)01
Claude Code02
Claude Agent SDK03
ChatGPT04
OpenAI Agents SDK05
Cursor06
Windsurf07
VS Code08
Gemini CLI09
LangChain10
CrewAI11
n8n12

13Related

Keep reading

One OAuth login · Microsoft Ads read + write tools · Live in ~60 seconds

Add Microsoft Ads to your AI today.

Free to connect. Upgrade to Paid Ads Autopilot ($89/mo flat, 7-day free trial) when you want Ryze AI to run the optimizations for you, 24/7.

2,000+ clients · 700+ agencies · $500M+ managed · No dev token · No server to run

Live results across
2,000+ clients

Paid Ads

Avg. client
ROAS
0x
Revenue
driven
$0M

SEO

Organic
visits driven
0M
Keywords
on page 1
48k+

Websites

Conversion
rate lift
+0%
Time
on site
+0%
Last updated: Sep 4, 2026
All systems ok
Ryze AI is a service operated by Meow AI, LLC. © 2026 Meow AI, LLC. All rights reserved.