Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Microsoft Ads Server

БесплатноНе проверен

A Model Context Protocol (MCP) server for Microsoft Advertising (Bing Ads / DuckDuckGo Ads). This server enables AI assistants to create, manage, and report on

GitHubEmbed

Описание

A Model Context Protocol (MCP) server for Microsoft Advertising (Bing Ads / DuckDuckGo Ads). This server enables AI assistants to create, manage, and report on Microsoft Advertising campaigns programmatically.

README

A Model Context Protocol (MCP) server for Microsoft Advertising (Bing Ads / DuckDuckGo Ads). This server enables AI assistants to create, manage, and report on Microsoft Advertising campaigns programmatically.

Features

Authentication

  • OAuth 2.0 authentication flow with token persistence
  • Automatic token refresh

Campaign Management

  • Campaigns: Create, list, pause/activate search campaigns
  • Ad Groups: Create and list ad groups within campaigns
  • Keywords: Add keywords with Broad, Phrase, or Exact match types
  • Ads: Create Responsive Search Ads (RSAs) with multiple headlines and descriptions

Reporting

  • Campaign performance reports
  • Keyword performance reports
  • Search query reports (actual search terms)
  • Geographic performance reports
  • Async report generation with polling

Account Management

  • List all accessible accounts
  • View campaign budgets
  • Label management

Prerequisites

  1. Microsoft Advertising Account: Sign up at ads.microsoft.com
  2. Developer Token: Apply at Microsoft Advertising Developer Portal
  3. Azure AD App Registration: Create an app in Azure Portal with:
    • Redirect URI: https://login.microsoftonline.com/common/oauth2/nativeclient
    • API permissions: Microsoft Advertising API

Installation

# Clone the repository
git clone https://github.com/Duartemartins/microsoft-ads-mcp-server.git
cd microsoft-ads-mcp-server

# Install dependencies
pip install -r requirements.txt

Configuration

Environment Variables

Create a .env file or set these environment variables:

MICROSOFT_ADS_DEVELOPER_TOKEN=your_developer_token
MICROSOFT_ADS_CLIENT_ID=your_azure_app_client_id
MICROSOFT_ADS_CUSTOMER_ID=your_customer_id      # Optional, discovered during auth
MICROSOFT_ADS_ACCOUNT_ID=your_account_id        # Optional, discovered during auth

Token Storage

Tokens are stored in ~/.config/microsoft-ads/tokens.json after authentication.

Usage

With Claude Code / mcporter

Add to your ~/.mcporter/mcporter.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_client_id"
      }
    }
  }
}

Standalone

python server.py

Authentication Flow

  1. Call get_auth_url() to get the OAuth URL
  2. Open the URL in a browser and sign in with your Microsoft account
  3. After authorization, copy the redirect URL (starts with https://login.microsoftonline.com/common/oauth2/nativeclient?code=...)
  4. Call complete_auth(redirect_url) with the full redirect URL
  5. Your tokens are now saved and will auto-refresh

Available Tools

Authentication

Tool Description
get_auth_url() Get OAuth URL for sign-in
complete_auth(redirect_url) Complete OAuth with redirect URL

Accounts

Tool Description
search_accounts() List all accessible advertising accounts

Campaigns

Tool Description
get_campaigns(include_deleted?) List all campaigns
create_campaign(name, daily_budget, description?) Create a search campaign (paused by default)
update_campaign_status(campaign_id, status) Set campaign to Active or Paused

Ad Groups

Tool Description
get_ad_groups(campaign_id) List ad groups in a campaign
create_ad_group(campaign_id, name, cpc_bid?) Create an ad group

Keywords

Tool Description
get_keywords(ad_group_id) List keywords in an ad group
add_keywords(ad_group_id, keywords, match_type?, default_bid?) Add keywords (comma-separated)

Ads

Tool Description
get_ads(ad_group_id) List ads in an ad group
create_responsive_search_ad(ad_group_id, final_url, headlines, descriptions, path1?, path2?) Create an RSA

Reporting

Tool Description
submit_campaign_performance_report(date_range?, columns?) Submit campaign report request
submit_keyword_performance_report(date_range?, columns?) Submit keyword report request
submit_search_query_report(date_range?, columns?) Submit search terms report request
submit_geographic_report(date_range?, columns?) Submit geo report request
poll_report_status(report_id?) Check report status and get download URL

Other

Tool Description
get_budgets() View campaign budgets
get_labels(label_ids?) Get label information

Example Workflow

# 1. Authenticate (first time only)
get_auth_url()
# Open URL in browser, sign in, copy redirect URL
complete_auth("https://login.microsoftonline.com/common/oauth2/nativeclient?code=...")

# 2. Check your account
search_accounts()

# 3. Create a campaign
create_campaign(name="My Search Campaign", daily_budget=20)

# 4. Create an ad group
create_ad_group(campaign_id=123456, name="Product Keywords", cpc_bid=1.50)

# 5. Add keywords
add_keywords(
    ad_group_id=789012,
    keywords="buy widgets, widget store, best widgets",
    match_type="Phrase",
    default_bid=1.25
)

# 6. Create an ad
create_responsive_search_ad(
    ad_group_id=789012,
    final_url="https://example.com/widgets",
    headlines="Buy Widgets Online|Best Widget Store|Free Shipping on Widgets",
    descriptions="Shop our huge selection of widgets. Free shipping on orders over $50.|Quality widgets at great prices. Order today!"
)

# 7. Activate the campaign
update_campaign_status(campaign_id=123456, status="Active")

# 8. Check performance later
submit_campaign_performance_report(date_range="LastWeek")
poll_report_status()

Why Microsoft Advertising?

  • DuckDuckGo Integration: Microsoft Advertising powers DuckDuckGo search ads, reaching privacy-conscious users
  • Lower CPCs: Often 30-50% cheaper than Google Ads for similar keywords
  • Bing + Yahoo + AOL: Access to the Microsoft Search Network
  • Import from Google: Easy migration of existing Google Ads campaigns

License

MIT License - see LICENSE for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Acknowledgments

from github.com/bit-of-a-shambles/microsoft-ads-mcp-server

Установка Microsoft Ads Server

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/bit-of-a-shambles/microsoft-ads-mcp-server

FAQ

Microsoft Ads Server MCP бесплатный?

Да, Microsoft Ads Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Microsoft Ads Server?

Нет, Microsoft Ads Server работает без API-ключей и переменных окружения.

Microsoft Ads Server — hosted или self-hosted?

Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.

Как установить Microsoft Ads Server в Claude Desktop, Claude Code или Cursor?

Открой Microsoft Ads Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Microsoft Ads Server with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории ai