GuidesMicrosoft Ads MCP

Microsoft Ads MCP Server

Connect Claude, ChatGPT, or any AI tool to your Microsoft Advertising (Bing Ads) account. Explore accounts, campaigns, ad groups, ads, and keywords with natural language.

What is the Microsoft Ads MCP?

The Pipeboard Microsoft Ads MCP (Model Context Protocol) Server connects AI assistants like Claude, ChatGPT, and custom agents to the Microsoft Advertising (Bing Ads) API. Inspect your accounts, campaigns, ad groups, ads, and keywords through natural language.

Instead of clicking through Microsoft Advertising Editor or building Bing Ads API integrations from scratch, you get instant read access to your Search, Shopping, Dynamic Search, Audience, and Performance Max campaigns across every Microsoft account you have connected.

Key features:

Browse Microsoft Advertising accounts, campaigns, ad groups, ads, and keywords by chatting
Works with Claude Desktop, ChatGPT, Python, n8n, and any MCP client
Multi-account support: connect multiple Microsoft logins to one Pipeboard account
Covers Search, Shopping, Dynamic Search Ads, Audience, and Performance Max campaign types
Built-in API docs search to resolve Bing Ads endpoints and error codes

Getting Started

Set up in under 2 minutes

1. Sign up for a Pipeboard account:

pipeboard.co/auth/signup →

2. Connect your Microsoft Ads account:

pipeboard.co/connections →

You can connect multiple Microsoft logins — handy when you manage agency accounts that span more than one Microsoft Advertising customer.

3. Add the MCP server to Claude (or another MCP client):

https://microsoft-ads.mcp.pipeboard.co/

Use this URL as a Streamable HTTP MCP server in your client. Authentication is handled automatically through your Pipeboard session.

Connect to Your AI Tool

The Microsoft Ads MCP works with any MCP-compatible client. Just add the server URL and start exploring your Bing Ads campaigns with natural language.

Claude Pro / Max

Recommended
  1. 1.Open claude.ai/customize/connectors
  2. 2.Click "Add custom connector"
  3. 3.URL: https://microsoft-ads.mcp.pipeboard.co/

ChatGPT

Developer mode
  1. 1.Enable Developer mode in ChatGPT Settings
  2. 2.Settings → Apps → Advanced → Developer mode
  3. 3.Create app with MCP URL

Claude Code

CLI / VS Code

Run this command in your terminal:

claude mcp add --transport http pipeboard-microsoft-ads https://microsoft-ads.mcp.pipeboard.co/

Then type /mcp in Claude Code to authenticate with Pipeboard.

Alternative: use an API token for instant setup (no browser auth needed):

claude mcp add --transport http pipeboard-microsoft-ads https://microsoft-ads.mcp.pipeboard.co/?token=pipeboard_...

Get your token at pipeboard.co/api-tokens

Claude Desktop JSON configuration:

Add this to your Claude Desktop MCP settings (Settings → MCP Servers → Add):

claude_desktop_config.json
{
  "mcpServers": {
    "microsoft-ads": {
      "url": "https://microsoft-ads.mcp.pipeboard.co/"
    }
  }
}

Tips for getting started

Browse our prompt library for ready-to-use prompts you can copy into Claude
Always start with list_microsoft_ads_accounts to grab the account_id and customer_id other tools require

Try these prompts

Account Overview

"List my Microsoft Advertising accounts and show every campaign in the largest one"

Campaign Audit

"Show me all Search and Shopping campaigns in my Bing Ads account and flag the paused ones"

Keyword Review

"List the keywords in my top ad group with their match types and bids, sorted by bid"

Ad Inventory

"Walk through each ad group in my Performance Max campaign and list the ads inside"

Available Tools

The Microsoft Ads MCP reads and writes: alongside reporting it creates and updates campaigns, ad groups, ads, keywords, negative keywords, ad extensions, ad schedules and the Google Ads auto-import settings. All tools are available through natural language when connected to an AI assistant.

Account Management

list_microsoft_ads_accounts

List Microsoft Advertising accounts across all connected logins, returning AccountId, CustomerId, name, currency, time zone, and status

get_microsoft_ads_account_info

Fetch metadata for a single account: currency, time zone, status, and parent customer

get_microsoft_ads_import_jobs

Read the Google Ads auto-import schedules and see exactly which fields an import is allowed to overwrite

update_microsoft_ads_import_job

Pause or reschedule a Google Ads import, or stop it overwriting bids and budgets while still importing new entities

Campaigns & Ad Groups

get_microsoft_ads_campaigns

List campaigns under an account, with an optional CampaignType filter (Search, Shopping, DynamicSearchAds, Audience, PerformanceMax)

get_microsoft_ads_ad_groups

List ad groups under a campaign

create_microsoft_ads_campaign

Create a Search campaign with its budget, bid strategy and targeting defaults

update_microsoft_ads_campaign

Update a campaign: name, status, budget, bid strategy, language targeting, audience-network bid adjustment, tracking template

create_microsoft_ads_ad_group

Create an ad group inside a campaign

update_microsoft_ads_ad_group

Update an ad group: name, status, CPC bid, language, network, and the start/end dates that schedule when a Search campaign stops serving

Ads & Keywords

get_microsoft_ads_ads

List ads under an ad group

get_microsoft_ads_keywords

List keywords under an ad group with their bid and match type

create_microsoft_ads_responsive_search_ad

Create a Responsive Search Ad, with pinned headlines and descriptions where you need them

add_microsoft_ads_keywords

Add keywords to an ad group with their match type, bid and final URLs

update_microsoft_ads_keywords

Change bids, pause or re-enable keywords, and edit keyword-level URLs

get_microsoft_ads_negative_keywords

List the negative keywords on a campaign or ad group, with the id of each

add_microsoft_ads_negative_keywords

Add negative keywords to a campaign or ad group (Exact or Phrase match)

remove_microsoft_ads_negative_keywords

Remove negative keywords by id or by text — the undo for a negative added by mistake

Scheduling, Extensions & Assets

get_microsoft_ads_ad_schedule

Read the day-and-time windows on a campaign or ad group with their bid adjustments

set_microsoft_ads_ad_schedule

Set hour-of-day and day-of-week bid adjustments — the way to act on which hours actually convert

get_microsoft_ads_extensions

List sitelink, callout, structured snippet and call extensions and where they are associated

create_microsoft_ads_sitelink

Create a sitelink extension and associate it with a campaign or ad group

create_microsoft_ads_callout

Create a callout extension and associate it with a campaign or ad group

create_microsoft_ads_structured_snippet

Create a structured snippet extension — one header plus 3 to 10 values, shown as "Courses: A Levels, GCSEs"

create_microsoft_ads_call_extension

Create a click-to-call phone number extension and attach it to a campaign

update_microsoft_ads_extension

Change the text, URLs or phone number on an existing extension, keeping its id and associations

add_microsoft_ads_extension_association

Attach an extension already in the account library to a campaign or ad group

delete_microsoft_ads_extension

Delete an extension from the account library — including sitelinks pointing at a dead URL

remove_microsoft_ads_extension_association

Detach an extension from one campaign or ad group while keeping it in the library

get_microsoft_ads_asset_groups

List Performance Max asset groups with their assets and status

create_microsoft_ads_asset_group

Create a Performance Max asset group with headlines, descriptions, images and final URL

update_microsoft_ads_asset_group

Update a Performance Max asset group, or pause it

delete_microsoft_ads_asset_group

Delete a Performance Max asset group

get_microsoft_ads_performance_report

Run a campaign, ad group, ad, search query, product or asset group performance report and get the rows as JSON

Reference & Feedback

query_microsoft_ads_api_docs

Search the Microsoft Advertising API documentation index for endpoints, schemas, or error codes

submit_feedback

Send feedback or report an issue with the Microsoft Ads MCP directly to the Pipeboard team

Supported Campaign Types

Pass any of these to the campaign_type filter on get_microsoft_ads_campaigns (it defaults to all of them):

Search

Text ads on Bing, Yahoo, and AOL search results

Shopping

Product ads driven by a Microsoft Merchant Center catalog

DynamicSearchAds

Auto-generated headlines and targeting from your website content

Audience

Native display and audience targeting across the Microsoft Audience Network

PerformanceMax

Goal-based campaigns spanning all Microsoft inventory and formats

Best Practices

  • Call list_microsoft_ads_accounts first — every other tool needs the account_id and customer_id it returns
  • Pass both account_id and customer_id together; Microsoft scopes campaign and ad-group calls to the parent customer
  • When you have multiple connected Microsoft logins, pass connection_id to disambiguate which account a tool should use
  • Use the campaign_type filter to narrow large accounts to just Search, Shopping, or Performance Max campaigns
  • Drill down account → campaign → ad group → ads/keywords; each level returns the IDs the next call needs
  • Use query_microsoft_ads_api_docs to resolve unfamiliar Bing Ads fields or error codes mid-conversation

Frequently Asked Questions

Is the Microsoft Ads MCP the same as Bing Ads?

Yes. Microsoft Advertising is the platform formerly known as Bing Ads. The MCP talks to the Microsoft Advertising API and covers ads served across Bing, Yahoo, and the Microsoft Audience Network.

Can it create or edit campaigns?

Not yet. The current Microsoft Ads MCP is read-focused — it lists accounts, campaigns, ad groups, ads, and keywords so you can audit and analyze them. Use it alongside the Microsoft Advertising UI for write operations.

Do I need both account_id and customer_id?

Yes for campaign and ad-group calls. list_microsoft_ads_accounts returns both the AccountId and the parent CustomerId for every account, so run it first and reuse those IDs.

I sign in to Microsoft Advertising with Google. Does that work?

Yes. Microsoft Advertising lets an account be registered under a Google identity, and those users cannot authenticate through Microsoft at all. On pipeboard.co/connections, use the "Sign in with Google" option on the Microsoft Advertising card instead of the blue Connect button. If you picked the wrong one, the connection is refused with a message naming the right one — nothing is left half-connected.

Can I connect more than one Microsoft account?

Yes. Connect multiple Microsoft logins from pipeboard.co/connections, then pass connection_id to target a specific one when accounts overlap.

Which AI tools work with it?

Any MCP-compatible client: Claude Desktop and Claude Code, ChatGPT (developer mode), Python + LangChain, n8n, and more. Just add the https://microsoft-ads.mcp.pipeboard.co/ URL as a Streamable HTTP server.

Ready to connect your AI tools to Microsoft Ads?

Get started with the Microsoft Ads MCP in under 2 minutes.