According to AlphaMoat, as of 2026-09, Microsoft Ads MCP has 3,385 downloads and 3 stars — ranked #3,317 of 5,078 AI skills overall, and #183 of 297 in Business Ops.
| Platform | Installs | Downloads | Stars | Comments |
|---|---|---|---|---|
| ClawHub ↗ | 105 | 3.2K | 3 | - |
| SkillHub ↗ | 105 | 3.4K | 3 | — |
Platforms count differently and update at different times.
The primary says new campaigns start paused. Activation, budget changes, ad publishing, and report exports can affect live spend or expose business data. Review third-party server code, use least privilege, and require human review before spend-bearing or export actions.
Profile published 2026-10-29
Generated from the skill’s documentation as examples; not results of actual runs.
The counting method changed in 2026-09: skills with the same name are now counted separately by author, and the full catalog is covered. Dashed lines show months before the change; they are not compared with later months, and no growth is computed across the change.
| Month | Downloads | MoM | Stars |
|---|---|---|---|
| 2026-09 | 3.4K | — | 3 |
| 2026-08 | 3.1K | +3.8% | 3 |
| 2026-07 | 3.0K | +8.1% | 3 |
| 2026-06 | 2.8K | +5.4% | 3 |
| 2026-05 | 2.7K | — | 3 |
| 2026-03 | 2.1K | — | 3 |
The author’s original file, shown as plain text without edits or review by AlphaMoat. Links are not clickable; check commands before running them. Fetched 2026-10-23.
---
name: microsoft-ads-mcp
description: Create and manage Microsoft Advertising campaigns (Bing Ads / DuckDuckGo Ads) via MCP server - campaigns, ad groups, keywords, ads, and reporting
metadata: {"clawdbot":{"emoji":"📢","requires":{"commands":["mcporter"]},"homepage":"https://github.com/Duartemartins/microsoft-ads-mcp-server"}}
---
# Microsoft Ads MCP Server
Create and manage Microsoft Advertising campaigns programmatically. This MCP server enables full campaign management for Bing and DuckDuckGo search ads.
## Why Microsoft Advertising?
- **DuckDuckGo Integration** - Microsoft Advertising powers DDG search ads, reaching privacy-conscious users
- **Lower CPCs** - Often 30-50% cheaper than Google Ads
- **Bing + Yahoo + AOL** - Access to the full Microsoft Search Network
- **Import from Google** - Easy migration of existing campaigns
## Setup
### 1. Install the MCP server
```bash
git clone https://github.com/Duartemartins/microsoft-ads-mcp-server.git
cd microsoft-ads-mcp-server
pip install -r requirements.txt
```
### 2. Get credentials
1. **Microsoft Ads Account**: Sign up at [ads.microsoft.com](https://ads.microsoft.com)
2. **Developer Token**: Apply at [developers.ads.microsoft.com](https://developers.ads.microsoft.com)
3. **Azure AD App**: Create at [portal.azure.com](https://portal.azure.com) with redirect URI `https://login.microsoftonline.com/common/oauth2/nativeclient`
### 3. Configure mcporter
Add to `~/.mcporter/mcporter.json`:
```json
{
"mcpServers": {
"microsoft-ads": {
"command": "python3",
"args": ["/path/to/microsoft-ads-mcp-server/server.py"],
"type": "stdio",
"env": {
"MICROSOFT_ADS_DEVELOPER_TOKEN": "your_token",
"MICROSOFT_ADS_CLIENT_ID": "your_azure_app_client_id"
}
}
}
}
```
### 4. Authenticate
```bash
mcporter call microsoft-ads.get_auth_url
# Open URL in browser, sign in, copy redirect URL
mcporter call microsoft-ads.complete_auth '{"redirect_url": "https://login.microsoftonline.com/common/oauth2/nativeclient?code=..."}'
```
## Available Tools
### Account Management
```bash
mcporter call microsoft-ads.search_accounts
```
### Campaign Operations
```bash
# List campaigns
mcporter call microsoft-ads.get_campaigns
# Create campaign (starts paused for safety)
mcporter call microsoft-ads.create_campaign '{"name": "My Campaign", "daily_budget": 20}'
# Activate or pause
mcporter call microsoft-ads.update_campaign_status '{"campaign_id": 123456, "status": "Active"}'
```
### Ad Groups
```bash
# List ad groups
mcporter call microsoft-ads.get_ad_groups '{"campaign_id": 123456}'
# Create ad group
mcporter call microsoft-ads.create_ad_group '{"campaign_id": 123456, "name": "Product Keywords", "cpc_bid": 1.50}'
```
### Keywords
```bash
# List keywords
mcporter call microsoft-ads.get_keywords '{"ad_group_id": 789012}'
# Add keywords (Broad, Phrase, or Exact match)
mcporter call microsoft-ads.add_keywords '{"ad_group_id": 789012, "keywords": "buy widgets, widget store", "match_type": "Phrase", "default_bid": 1.25}'
```
### Ads
```bash
# List ads
mcporter call microsoft-ads.get_ads '{"ad_group_id": 789012}'
# Create Responsive Search Ad
mcporter call microsoft-ads.create_responsive_search_ad '{
"ad_group_id": 789012,
"final_url": "https://example.com/widgets",
"headlines": "Buy Widgets Online|Best Widget Store|Free Shipping",
"descriptions": "Shop our selection. Free shipping over $50.|Quality widgets at great prices."
}'
```
### Reporting
```bash
# Submit report request
mcporter call microsoft-ads.submit_campaign_performance_report '{"date_range": "LastWeek"}'
mcporter call microsoft-ads.submit_keyword_performance_report '{"date_range": "LastMonth"}'
mcporter call microsoft-ads.submit_search_query_report '{"date_range": "LastWeek"}'
mcporter call microsoft-ads.submit_geographic_report '{"date_range": "LastMonth"}'
# Check status and get download URL
mcporter call microsoft-ads.poll_report_status
```
### Other
```bash
mcporter call microsoft-ads.get_budgets
mcporter call microsoft-ads.get_labels
```
## Complete Workflow Example
```bash
# 1. Check account
mcporter call microsoft-ads.search_accounts
# 2. Create campaign
mcporter call microsoft-ads.create_campaign '{"name": "PopaDex - DDG Search", "daily_budget": 15}'
# Returns: Campaign ID 123456
# 3. Create ad group
mcporter call microsoft-ads.create_ad_group '{"campaign_id": 123456, "name": "Privacy Keywords", "cpc_bid": 0.75}'
# Returns: Ad Group ID 789012
# 4. Add keywords
mcporter call microsoft-ads.add_keywords '{
"ad_group_id": 789012,
"keywords": "privacy search engine, private browsing, anonymous search",
"match_type": "Phrase",
"default_bid": 0.60
}'
# 5. Create ad
mcporter call microsoft-ads.create_responsive_search_ad '{
"ad_group_id": 789012,
"final_url": "https://popadex.com",
"headlines": "PopaDex Private Search|Search Without Tracking|Privacy-First Search Engine",
"descriptions": "Search the web without being tracked. No ads, no profiling.|Your searches stay private. Try PopaDex today."
}'
# 6. Activate campaign
mcporter call microsoft-ads.update_campaign_status '{"campaign_id": 123456, "status": "Active"}'
# 7. Check performance after a few days
mcporter call microsoft-ads.submit_campaign_performance_report '{"date_range": "LastWeek"}'
mcporter call microsoft-ads.poll_report_status
```
## Match Types
| Type | Syntax | Triggers |
|------|--------|----------|
| Broad | `keyword` | Related searches, synonyms |
| Phrase | `"keyword"` | Contains phrase in order |
| Exact | `[keyword]` | Exact match only |
## Report Columns
**Campaign Reports**: CampaignName, Impressions, Clicks, Ctr, AverageCpc, Spend, Conversions, Revenue
**Keyword Reports**: Keyword, AdGroupName, CampaignName, Impressions, Clicks, Ctr, AverageCpc, Spend, Conversions, QualityScore
**Search Query Reports**: SearchQuery, Keyword, CampaignName, Impressions, Clicks, Spend, Conversions
**Geographic Reports**: Country, State, City, CampaignName, Impressions, Clicks, Spend, Conversions
## Tips
1. **Start paused** - Campaigns are created paused by default. Review before activating.
2. **Use Phrase match** - Good balance between reach and relevance for most keywords.
3. **Multiple headlines** - RSAs need 3-15 headlines (30 chars each) and 2-4 descriptions (90 chars each).
4. **Check search queries** - Review actual search terms to find negative keywords.
5. **Geographic targeting** - Use geo reports to optimize by location.
## Credits
MCP Server: [github.com/Duartemartins/microsoft-ads-mcp-server](https://github.com/Duartemartins/microsoft-ads-mcp-server)
Built with [FastMCP](https://github.com/jlowin/fastmcp) and the [Bing Ads Python SDK](https://github.com/BingAds/BingAds-Python-SDK)
A skill that gives an AI agent a phone number and runs phone tasks for it.
Manages Trello boards, lists, and cards through the Trello REST API.
Search and analyze tender and award information through the Zhiliaobiaoxun API.
A product manager's workbench from requirement analysis to PRD and sprint planning.
A skill for calendar management and meeting scheduling.
A market analysis service covering market trends, competitors and user behaviour.
Screens e-commerce best-sellers with data analysis across several platforms.
A skill that reaches Salesforce CRM through Maton's managed OAuth.
Data month: 2026-09 · Downloads, stars and installs are aggregated monthly from public skill registries (ClawHub, SkillHub). See methodology.