Skip to main content
ClaudeWave
Insightful-Pipe avatar
Insightful-Pipe

microsoft-ads-mcp-server

View on GitHub

Hosted Microsoft Ads (Bing Ads) MCP server: 92 actions (35 read, 57 that make changes). New campaigns start paused and the server refuses to set them live; deletes off by default.

MCP ServersOfficial Registry0 stars0 forksMITUpdated today
ClaudeWave Trust Score
95/100
✓ Verified
Passed
  • ✓Open-source license (MIT)
  • ✓Actively maintained (<30d)
  • ✓Clear description
  • ✓Topics declared
  • ✓Documented (README)
Last scanned: 10/21/2026
Install in Claude Code / Claude Desktop
Method: Manual
Claude Code CLI
git clone https://github.com/Insightful-Pipe/microsoft-ads-mcp-server
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "microsoft-ads": {
      "command": "node",
      "args": ["/path/to/microsoft-ads-mcp-server/dist/index.js"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Clone https://github.com/Insightful-Pipe/microsoft-ads-mcp-server and follow its README for install instructions.
Use cases

MCP Servers overview

# Microsoft Ads MCP Server (Bing Ads) by Insightful Pipe

[![MCP Compatible](https://img.shields.io/badge/MCP-Compatible-blue)](https://insightfulpipe.com/mcp-servers/microsoft-ads)
[![Insightful Pipe](https://img.shields.io/badge/Insightful_Pipe-MCP_Servers-purple)](https://insightfulpipe.com/mcp-servers)
[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)

> **Connect Microsoft Ads to AI assistants for Bing search advertising analytics and campaign optimization.**

Part of the [Insightful Pipe MCP Server Collection](https://insightfulpipe.com/mcp-servers) — The Microsoft Ads MCP server enables Claude, ChatGPT, Cursor, and other AI assistants to analyze your Microsoft Advertising campaigns. Reach users on Bing, Yahoo, and Microsoft properties with AI-powered insights.

[![Explore All MCP Servers](https://img.shields.io/badge/Explore_All-MCP_Servers-blue?style=for-the-badge)](https://insightfulpipe.com/mcp-servers)

![Microsoft Ads MCP Server](https://insightfulpipe.com/images/microsoft-ads-icon.svg)

## MCP Server URL

```
https://microsoft-ads.insightfulmcp.com/
```

## What is Microsoft Ads MCP?

Microsoft Ads MCP is a **remote Model Context Protocol server** that connects your Microsoft Advertising account to AI assistants. This search advertising integration allows you to:

- Query Bing Ads performance using natural language
- Analyze keyword and audience performance
- Generate detailed performance reports
- Track ROAS across Microsoft Search Network
- Get AI recommendations for campaign optimization

## Installation

### Claude

1. Copy the MCP Server URL: `https://microsoft-ads.insightfulmcp.com/`
2. Open [Claude connector settings](https://claude.ai/settings/connectors) (**Customize > Connectors**), click **+** and then **Add custom connector**
3. Paste the URL and click **Add**
4. Click **Connect** and sign in to InsightfulPipe if asked. Claude then lists the connector as connected.

### ChatGPT

Custom MCP servers are added through ChatGPT's **Developer mode**. Availability depends on your ChatGPT plan, and workspace admins may need to allow it.

1. Turn on **Developer mode** in ChatGPT settings
2. Create a new app for a remote MCP server and paste the URL: `https://microsoft-ads.insightfulmcp.com/`
3. Sign in to InsightfulPipe if asked. The connection finishes as soon as you are signed in.

See OpenAI's guide: [Developer mode and MCP apps in ChatGPT](https://help.openai.com/en/articles/12584461-developer-mode-and-mcp-apps-in-chatgpt)

### Claude Code

```bash
claude mcp add --transport http microsoft-ads https://microsoft-ads.insightfulmcp.com/
```

### Cursor

Add the server to `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (one project):

```json
{
  "mcpServers": {
    "microsoft-ads": {
      "url": "https://microsoft-ads.insightfulmcp.com/"
    }
  }
}
```

When Cursor shows **Needs authentication**, click **Connect** and sign in to InsightfulPipe if asked.

## Available Actions

92 actions: 35 read and 57 that make changes, 3 of them destructive and off by default.

### Read Actions (35)

<details>
<summary>Show all 35 read actions</summary>

| Action | Description |
|--------|-------------|
| `get_ad_extension_associations` | Get ad extension associations for specific entities |
| `get_ad_extensions` | Get ad extensions for an account by type |
| `get_ad_group_criterions` | Get targeting criteria for an ad group |
| `get_ad_groups` | Get ad groups for a campaign |
| `get_ads` | Get ads for an ad group |
| `get_asset_groups` | Get asset groups for a Performance Max campaign |
| `get_audiences` | Get audience lists for an account |
| `get_bid_strategies` | Get portfolio bid strategies for an account |
| `get_budgets` | Get shared budgets for an account |
| `get_campaign_criterions` | Get targeting criteria for a campaign |
| `get_campaigns` | Get campaigns for an account |
| `get_conversion_goals` | Get conversion goals for an account |
| `get_experiments` | Get campaign experiments for an account |
| `get_keywords` | Get keywords for an ad group |
| `get_label_associations` | Get label associations for specific entities |
| `get_labels` | Get labels for an account |
| `get_negative_keywords_by_entity_ids` | Get negative keywords associated with campaigns or ad groups |
| `get_shared_entities` | Get shared negative keyword lists for an account |
| `get_shared_entity_associations` | Get associations between shared entities and campaigns |
| `get_shared_list_items` | Get items (negative keywords) in a shared list |
| `get_uet_tags` | Get Universal Event Tracking tags for an account |
| `get_videos` | Get videos from the account's video library with their processing status, by id or all active ones |
| `poll_report_status` | Poll for report generation status and fetch data when ready |
| `search_accounts` | Search for advertising accounts the user has access to |
| `submit_account_performance_report` | Submit an account performance report request |
| `submit_ad_group_performance_report` | Submit an ad group performance report request |
| `submit_ad_performance_report` | Submit an ad performance report request |
| `submit_age_gender_audience_report` | Submit an age and gender audience report request |
| `submit_audience_performance_report` | Submit an audience performance report request |
| `submit_campaign_performance_report` | Submit a campaign performance report request |
| `submit_geographic_performance_report` | Submit a geographic performance report request |
| `submit_goals_and_funnels_report` | Submit a goals and funnels report request |
| `submit_keyword_performance_report` | Submit a keyword performance report request |
| `submit_search_query_performance_report` | Submit a search query performance report request |
| `submit_user_location_performance_report` | Submit a user location performance report request |

</details>

### Actions That Make Changes (57)

<details>
<summary>Show all 57 write and destructive actions</summary>

| Action | Description |
|--------|-------------|
| `add_ad_extensions` | Create ad extensions in an account |
| `add_ad_group_criterions` | Add targeting criteria to ad groups (location, device, demographics, audience, etc.) |
| `add_ad_groups` | Create new ad groups in a campaign |
| `add_ads` | Create new ads in an ad group |
| `add_asset_groups` | Create asset groups for Performance Max campaigns |
| `add_audience_groups` | Create audience groups for targeting |
| `add_audiences` | Create audience lists (remarketing, customer match, etc.) |
| `add_bid_strategies` | Create portfolio bid strategies |
| `add_budgets` | Create new shared budgets in an account |
| `add_campaign_conversion_goals` | Associate conversion goals with campaigns |
| `add_campaign_criterions` | Add targeting criteria to campaigns (location, device, demographics, etc.) |
| `add_campaigns` | Create new campaigns in an account |
| `add_conversion_goals` | Create conversion goals for tracking |
| `add_conversion_value_rules` | Create conversion value rules for adjusting conversion values |
| `add_data_exclusions` | Create data exclusions to exclude time periods from bid strategy learning |
| `add_experiments` | Create campaign experiments for A/B testing |
| `add_keywords` | Create new keywords in an ad group |
| `add_labels` | Create new labels in an account |
| `add_list_items_to_shared_list` | Add negative keywords to an existing shared list |
| `add_negative_keywords_to_entities` | Add negative keywords to campaigns or ad groups |
| `add_seasonality_adjustments` | Create seasonality adjustments to inform bid strategies of expected conversion rate changes |
| `add_shared_entity` | Create a shared negative keyword list |
| `add_uet_tags` | Create Universal Event Tracking tags for conversion tracking |
| `add_videos` | Upload videos to the account's video library from direct-download URLs; returns their VideoIds |
| `apply_customer_list_items` | Add or remove items from a customer list audience |
| `apply_hotel_group_actions` | Apply add/update/delete actions to hotel group nodes |
| `apply_offline_conversion_adjustments` | Adjust previously submitted offline conversions |
| `apply_offline_conversions` | Submit offline conversion data |
| `apply_product_partition_actions` | Apply add/update/delete actions to product partition nodes in a Shopping campaign |
| `delete_keywords` | Delete keywords from an ad group |
| `delete_list_items_from_shared_list` | Remove individual negative keywords, by list item id, from a shared list without touching the list or its associations |
| `delete_negative_keywords_from_entities` | Remove specific negative keywords, by id, from campaigns or ad groups |
| `set_account_properties` | Set account-level properties (auto-tagging, tracking templates, etc.) |
| `set_ad_extension_associations` | Associate ad extensions with campaigns or ad groups |
| `set_label_associations` | Associate labels with campaigns, ad groups, ads, or keywords |
| `set_negative_sites_to_ad_groups` | Set negative site URLs for ad groups (replaces existing) |
| `set_negative_sites_to_campaigns` | Set negative site URLs for campaigns (replaces existing) |
| `set_shared_entity_associations` | Associate shared negative keyword lists with campaigns |
| `update_ad_extensions` | Update existing ad extensions |
| `update_ad_group_criterions` | Update targeting criteria on ad groups |
| `update_ad_groups` | Update existing ad groups |
| `update_ads` | Update existing ads |
| `update_asset_groups` | Update existing asset groups |
| `update_audience_groups` | Update existing audience groups |
| `update_audiences` | Update existing audience lists |
| `update_bid_strategies` | Update existing portfolio bid strategies |
| `update_budgets` | Update existing shared budgets |
| `update_campaign_criterions` | Update targeting criteria on campaigns |
| `update_campaigns` | Update existing campaigns |
| `update_conversion_goals` | Update existing conversion goals |
| `update_con
ai-agentsbing-adschatgptclaudecursormarketing-analyticsmcpmcp-servermicrosoft-adsmodel-context-protocolppc

What people ask about microsoft-ads-mcp-server

What is Insightful-Pipe/microsoft-ads-mcp-server?

+

Insightful-Pipe/microsoft-ads-mcp-server is mcp servers for the Claude AI ecosystem. Hosted Microsoft Ads (Bing Ads) MCP server: 92 actions (35 read, 57 that make changes). New campaigns start paused and the server refuses to set them live; deletes off by default. It has 0 GitHub stars and its last recorded update is dated 2026-10-20.

How do I install microsoft-ads-mcp-server?

+

You can install microsoft-ads-mcp-server by cloning the repository (https://github.com/Insightful-Pipe/microsoft-ads-mcp-server) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is Insightful-Pipe/microsoft-ads-mcp-server safe to use?

+

Our security agent has analyzed Insightful-Pipe/microsoft-ads-mcp-server and assigned a Trust Score of 95/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.

Who maintains Insightful-Pipe/microsoft-ads-mcp-server?

+

Insightful-Pipe/microsoft-ads-mcp-server is maintained by Insightful-Pipe. The last recorded GitHub activity is dated 2026-10-20, with 0 open issues.

Are there alternatives to microsoft-ads-mcp-server?

+

Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.

Deploy microsoft-ads-mcp-server to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: Insightful-Pipe/microsoft-ads-mcp-server
[![Featured on ClaudeWave](https://claudewave.com/api/badge/insightful-pipe-microsoft-ads-mcp-server)](https://claudewave.com/repo/insightful-pipe-microsoft-ads-mcp-server)
<a href="https://claudewave.com/repo/insightful-pipe-microsoft-ads-mcp-server"><img src="https://claudewave.com/api/badge/insightful-pipe-microsoft-ads-mcp-server" alt="Featured on ClaudeWave: Insightful-Pipe/microsoft-ads-mcp-server" width="320" height="64" /></a>