# Microsoft Ads MCP

> Microsoft Ads MCP Server connects your AI agent directly to Microsoft Advertising data. You can list all campaigns, get budget details, check ad group performance, and pull specific keyword lists without leaving your chat interface. It's built for marketers who need programmatic access to campaign metrics.

## Overview
- **Category:** industry-titans
- **Price:** Free

## Description

Look, this Microsoft Ads MCP Server connects your AI agent straight into your advertising data. You don't gotta click through a dozen tabs or wrestle with clunky reports; your agent just calls the right tool and gives you the raw numbers you need. It's built for marketers who live in campaign metrics.

**Getting Started: Account Overview & Campaigns**
You can use `get_ms_account_info` to grab fundamental details about the connected Microsoft Ads account. Need to find a specific ad campaign? You've got two ways: run `list_ms_campaigns` to see every single campaign you got running, or if you know part of the name, use `search_ms_campaigns` to filter it down fast. Once you pick a campaign, `get_ms_campaign_details` pulls all its deep info—its objective and what status it's in.

**Deep Dive: Ad Groups, Keywords, and Ads**
After selecting a campaign, you gotta know what's inside. Run `list_ms_ad_groups` to see every ad group linked to that campaign structure. For granular performance metrics on just one section, use `get_ms_ad_group_details`. You can then run `list_ms_keywords` against an ad group to pull a complete list of keywords and the specific performance data tied to each one. To check what actual copy is running, `list_ms_ads` retrieves all the text, image, and status details for every single ad inside that ad group. You can also check which geo or demographic rules apply by calling `list_ms_targeting_settings` against a campaign.

**Budgeting & Management**
To keep tabs on spending, use `list_ms_budgets` to generate a list of all shared budget containers across your whole account. This lets you track limits without digging through every single campaign's settings.

## Tools

### get_ms_account_info
Retrieves basic profile and administrative details for your connected Microsoft Ads account.

### get_ms_ad_group_details
Gets specific performance metrics, settings, and data for a single ad group within a campaign.

### get_ms_campaign_details
Retrieves comprehensive details about a chosen advertising campaign, including its objective and status.

### list_ms_ad_groups
Lists all available ad groups that exist within a specific campaign structure.

### list_ms_ads
Retrieves the text, image, and status details for every ad running inside an ad group.

### list_ms_budgets
Generates a list of all shared budget containers tied to your account.

### list_ms_campaigns
Lists every campaign available in your entire Microsoft Ads account structure.

### list_ms_keywords
Pulls a complete list of keywords and their associated performance data for an ad group.

### list_ms_targeting_settings
Lists all the geographical or demographic targeting rules applied to a specific campaign.

### search_ms_campaigns
Quickly filters and finds campaigns using partial names or keywords instead of listing everything.

## Capabilities

### View Account Details
Retrieves fundamental details about your connected Microsoft Ads account.

### Manage Campaigns
Lists and searches for all active ad campaigns, or pulls specific performance metrics from a selected campaign.

### Analyze Ad Groups and Keywords
Fetches granular details about individual ad groups and lists the keywords contained within them.

### Check Budget Status
Lists all shared budget accounts to track spending limits across multiple campaigns.

### List Ads and Targeting Settings
Retrieves the actual ads running within an ad group, along with specific targeting parameters for a campaign.

## Use Cases

### Investigating a Budget Overrun
The analyst notices spending spiked. They ask their agent, 'What are the current budgets?' The agent calls `list_ms_budgets` and identifies that Campaign Gamma's budget is maxed out, saving an emergency manual check.

### Auditing Campaign Structure
The manager wants to see everything. They prompt the agent to 'List all campaigns in the last quarter.' The server runs `list_ms_campaigns`, followed by calling `list_ms_ad_groups` for each one, giving them a complete structural map.

### Optimizing Keyword Performance
A user suspects poor keyword performance. They tell the agent to check 'keywords in Ad Group Beta.' The agent runs `list_ms_keywords`, pulls the list, and highlights any keywords with a high click rate but low conversions.

### Reviewing Targeting Rules
Before launching an ad, the specialist needs to confirm geo-restrictions. They ask the agent for 'targeting settings on Campaign Delta.' The server uses `list_ms_targeting_settings` and returns a bulleted list of active rules.

## Benefits

- Checks your spending limits instantly. Instead of navigating to the billing tab to run `list_ms_budgets`, you just ask your agent for 'shared budgets' and get a clean list.
- Goes deep on performance metrics. Need to know exactly what's running? Use `get_ms_ad_group_details` to pull all ad group stats without leaving the chat window.
- Saves time listing content. Instead of clicking through, use `list_ms_keywords` and specify the ad group ID; you get a clean list of every keyword in seconds.
- Finds what you need faster. Forget scrolling through 50 campaigns—use `search_ms_campaigns` to filter by name or partial text immediately.
- Builds better reports. By combining `list_ms_ads` with `get_ms_ad_group_details`, your agent can pull all creative assets and associated metrics in one go.

## How It Works

The bottom line is that it turns complex API calls—like checking ad group details or listing keywords—into simple chat commands.

1. Your AI client sends a natural language request (e.g., 'What's the budget status in Campaign Alpha?').
2. The MCP Server identifies the necessary function (`list_ms_budgets`) and executes the call using your account credentials.
3. The server returns structured data, which your agent then formats into a clear, readable summary for you.

## Frequently Asked Questions

**How do I list all my campaigns using list_ms_campaigns?**
You ask your agent to 'List all campaigns.' The server runs `list_ms_campaigns` and gives you a full roster of every campaign name, ID, and primary status.

**Can I get details for just one ad group with get_ms_ad_group_details?**
Yes. You provide the specific Ad Group ID, and the server uses `get_ms_ad_group_details` to return metrics like impressions, clicks, and CTR for that single unit.

**What is list_ms_keywords used for?**
It pulls a complete inventory of keywords associated with an ad group. This lets you audit performance by seeing every keyword in one structured output.

**Do I need to use search_ms_campaigns if list_ms_campaigns works?**
Use `search_ms_campaigns` when you know part of the name or keywords. If you just want a complete, unfiltered list, stick with `list_ms_campaigns`.

**If I need to confirm access details, how does the `get_ms_account_info` tool verify my Microsoft Ads credentials?**
It pulls basic account metadata. The agent confirms you have connected an authorized billing profile and lists key organizational identifiers for verification.

**When I run `list_ms_ads`, what specific content details can my AI agent read about each ad?**
The tool retrieves the ad copy, headline, description, and current status. It's useful for reviewing creative assets across an entire ad group.

**What information does the `list_ms_targeting_settings` tool retrieve for a campaign's target audience?**
It lists all active targeting parameters associated with a specific campaign. You can see which demographics, locations, or devices are currently included in the reach.

**Using `list_ms_budgets`, how do I understand the scope of shared budget data?**
It lists all shared budgets available to the connected account. This function helps you see potential cost caps across multiple departments or internal teams.