Skip to main content
Glama
PropellerAds MCP Server

PropellerAds MCP Server

by JanNafta

PropellerAds MCP Server

Демократизация программной рекламы с помощью ИИ

Python 3.10+ MCP License: MIT Status GitHub Stars GitHub Forks

Позвольте ИИ-ассистентам, таким как Claude, автоматически управлять вашими рекламными кампаниями на PropellerAds.

Быстрый старт • Доступные инструменты • Примеры использования • Конфигурация MCP


Что это такое?

PropellerAds MCP — это сервер протокола контекста модели (Model Context Protocol), который напрямую подключает ИИ-ассистентов (Claude и любой другой клиент, совместимый с MCP) к API рекламной платформы PropellerAds. Вместо того чтобы вручную заходить в дашборды, выгружать отчеты и переключаться между настройками, вы просто общаетесь со своим ИИ-ассистентом на обычном языке, и он делает всё за вас.

Создавайте кампании, анализируйте эффективность, добавляйте неэффективные зоны в черный список, находите возможности для масштабирования, сравнивайте периоды — всё это в ходе обычного диалога.

Создано для:

  • Медиабайеров и performance-маркетологов

  • Арбитражников в нишах iGaming и установки приложений

  • Growth-хакеров и цифровых агентств

  • Всех, кто запускает кампании в PropellerAds и хочет работать быстрее


Related MCP server: Google Ad Manager MCP Server

Функции

  • Полный жизненный цикл кампании — Создание, обновление, запуск, остановка и клонирование кампаний, не покидая чат

  • Аналитика эффективности в реальном времени — Автоматический расчет показов, кликов, конверсий, CTR, CVR, CPC, CPA и ROI

  • Сравнение периодов — Сравнение любых двух диапазонов дат с индикаторами изменений

  • Оптимизация на уровне зон — Поиск неэффективных зон, расходующих бюджет, и лучших зон, которые стоит добавить в белый список

  • Автоматический черный список — Одна команда для поиска и блокировки плохих зон (с безопасным режимом предварительного просмотра)

  • Интеллектуальное масштабирование — Автоматический поиск кампаний с высоким ROI и объемом конверсий, готовых к масштабированию

  • Анализ эффективности креативов — Узнайте, какие креативы приносят результат, а какие требуют замены

  • Безопасность по дизайну — API-токен хранится в переменных окружения и никогда не раскрывается в диалоге

  • Безопасный режим (Dry Run) — Деструктивные операции по умолчанию работают в режиме предварительного просмотра перед выполнением


Доступные инструменты

Управление кампаниями

Инструмент

Описание

Обязательные параметры

list_campaigns

Список всех кампаний с опциональными фильтрами

--

get_campaign_details

Получение полной информации о кампании (таргетинг, креативы, настройки)

campaign_id

create_campaign

Создание новой рекламной кампании

name, ad_format, countries, daily_budget, bid, target_url

update_campaign

Изменение настроек кампании (бюджет, ставка, название, статус)

campaign_id

start_campaigns

Активация одной или нескольких приостановленных кампаний

campaign_ids

stop_campaigns

Приостановка одной или нескольких активных кампаний

campaign_ids

clone_campaign

Дублирование существующей кампании

campaign_id

Фильтры для list_campaigns: status (active/paused/pending/rejected), ad_format (push/onclick/interstitial/in-page-push), name (частичное совпадение)

Статистика и аналитика

Инструмент

Описание

Обязательные параметры

get_performance_report

Детальная статистика с вычисляемыми метриками (CTR, CVR, CPC, CPA, ROI)

--

get_campaign_performance

Сводка эффективности для конкретной кампании

campaign_id

compare_periods

Сравнение двух периодов времени с индикаторами изменений

period1_from, period1_to, period2_from, period2_to

get_zone_performance

Аналитика на уровне зон/плейсментов, с возможностью сортировки

--

get_creative_performance

Анализ эффективности на уровне креативов

--

Общие опциональные параметры: date_from, date_to (ГГГГ-ММ-ДД, по умолчанию последние 7 дней), campaign_id, group_by (date/campaign/zone/country/creative/device_type/browser/os)

Оптимизация

Инструмент

Описание

Обязательные параметры

find_underperforming_zones

Поиск зон, расходующих бюджет без конверсий (кандидаты в черный список)

campaign_id

find_top_zones

Поиск наиболее эффективных зон (кандидаты в белый список)

campaign_id

find_scaling_opportunities

Поиск кампаний, готовых к масштабированию (высокий ROI + объем)

--

auto_blacklist_zones

Поиск и блокировка плохих зон в один шаг (по умолчанию в режиме dry run)

campaign_id

Таргетинг

Инструмент

Описание

Обязательные параметры

add_to_whitelist

Добавление зон в белый список кампании

campaign_id, zone_ids

add_to_blacklist

Добавление зон в черный список кампании

campaign_id, zone_ids

Аккаунт

Инструмент

Описание

Обязательные параметры

get_balance

Проверка текущего баланса аккаунта

--

get_available_countries

Список всех стран, доступных для таргетинга

--

get_ad_formats

Список доступных рекламных форматов (push, onclick и т.д.)

--


Технологический стек

Компонент

Технология

Среда выполнения

Python 3.10+

Протокол

Model Context Protocol (MCP) 1.0

HTTP-клиент

httpx

Валидация

Pydantic v2

API

PropellerAds SSP API v5

Система сборки

Hatchling

Транспорт

stdio (стандартный транспорт MCP)


Быстрый старт

Предварительные требования

  1. Аккаунт PropellerAds с доступом к API

  2. Python 3.10+

  3. Claude Desktop или Claude Code (или любой клиент, совместимый с MCP)

Установка

Вариант 1: Установка из PyPI (рекомендуется)

pip install propellerads-mcp

Вариант 2: Установка из исходного кода

git clone https://github.com/JanNafta/propellerads-mcp.git
cd propellerads-mcp
pip install -e .

Установка API-токена

Создайте файл .env в корне проекта или экспортируйте переменную окружения:

export PROPELLERADS_API_TOKEN="your_api_token_here"

Примеры использования

Управление кампаниями

"Show me all my active campaigns sorted by ROI"

"Create a push campaign for gaming offers in Brazil with $100 daily budget"

"Pause all campaigns with negative ROI in the last 7 days"

"Clone my best performing campaign to Mexico, Colombia, and Peru"

Анализ эффективности

"What's my campaign performance for the last week?"

"Compare this week's performance vs last week"

"Show me the top 10 zones by conversions for campaign 12345"

"Which creatives have CTR below 0.5%?"

Рабочие процессы оптимизации

"Find all zones spending over $50 without conversions and blacklist them"

"Show me campaigns ready for scaling -- ROI above 50% with at least 10 conversions"

"Find top performing zones for my dating campaigns and add them to a whitelist"

Ежедневная рутина оптимизации

1. "Show me yesterday's performance for all campaigns"
2. "Find and blacklist underperforming zones across all campaigns"
3. "Which campaigns are ready for scaling?"
4. "Increase budget by 50% for profitable campaigns"

Конфигурация MCP

Claude Desktop

Добавьте в файл конфигурации Claude Desktop:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "propellerads": {
      "command": "python",
      "args": ["-m", "propellerads_mcp"],
      "env": {
        "PROPELLERADS_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

Перезапустите Claude Desktop после сохранения конфигурации.

Claude Code

Добавьте MCP-сервер в Claude Code через CLI:

claude mcp add propellerads -- python -m propellerads_mcp

Убедитесь, что PROPELLERADS_API_TOKEN задан в переменной окружения вашей оболочки перед запуском Claude Code.

Другие MCP-клиенты

Этот сервер использует stdio transport, стандартный метод связи MCP. Любой клиент, совместимый с MCP, может подключиться, запустив процесс:

python -m propellerads_mcp

Сервер считывает PROPELLERADS_API_TOKEN из окружения. Передайте его через конфигурацию env вашего MCP-клиента или установите в своей оболочке.


Структура проекта

propellerads-mcp/
├── src/
│   └── propellerads_mcp/
│       ├── __init__.py       # Package init, version, exports
│       ├── __main__.py       # Module entry point (python -m)
│       ├── client.py         # PropellerAds API client (httpx-based)
│       └── server.py         # MCP server, tool definitions & handlers
├── .env.example              # Environment variable template
├── .gitignore
├── LICENSE                   # MIT License
├── pyproject.toml            # Build config, dependencies, metadata
└── README.md

Безопасность и разрешения

Аспект

Детали

Аутентификация

Bearer-токен через переменную окружения (никогда не зашит в код)

Операции чтения

Выполняются без дополнительного подтверждения

Операции записи

Требуют явного намерения пользователя (создание, обновление, запуск, остановка, черный список)

Авто-черный список

По умолчанию dry_run: true — предварительный просмотр перед выполнением

Лимиты запросов

Соблюдаются лимиты API PropellerAds

Хранение данных

Сервер не имеет состояния; данные локально не сохраняются


Вклад в проект

Мы приветствуем любой вклад! Вот как вы можете помочь:

  1. Сделайте форк репозитория

  2. Создайте ветку для функции (git checkout -b feature/my-feature)

  3. Закоммитьте изменения (git commit -m "Add my feature")

  4. Отправьте изменения в свою ветку (git push origin feature/my-feature)

  5. Откройте Pull Request

По вопросам багов и предложений по функциям, пожалуйста, откройте issue.


Автор

Ян Нафтанаила — Медиабайер и специалист по ИИ-автоматизации

Создаю инструменты, которые сокращают разрыв между ИИ и программной рекламой. Фокусируюсь на том, чтобы сделать AdTech доступным, автоматизированным и интеллектуальным.

LinkedIn Website GitHub


Лицензия

Этот проект лицензирован под лицензией MIT. Подробности см. в файле LICENSE.


PropellerAds MCP — Open source. Создано для сообщества программной рекламы.

Available Tools

21 tools
add_to_blacklistC

Add zones to campaign blacklist.

Inputs: campaign_id (required), zone_ids (required).

add_to_whitelistC

Add zones to campaign whitelist.

Inputs: campaign_id (required), zone_ids (required).

auto_blacklist_zonesC

Automatically find and blacklist underperforming zones for a campaign.

Inputs: campaign_id (required), min_spend, max_conversions, date_from, +2 more.

clone_campaignC

Create a copy of an existing campaign.

Inputs: campaign_id (required), new_name.

compare_periodsC

Compare performance between two time periods.

Inputs: period1_from (required), period1_to (required), period2_from (required), period2_to (required), +1 more.

create_campaignC

Create a new advertising campaign with specified settings.

Inputs: name (required), ad_format (required), countries (required), daily_budget (required), +4 more.

find_scaling_opportunitiesC

Find campaigns ready for scaling based on ROI and conversion volume.

Inputs: min_roi, min_conversions, date_from, date_to.

find_top_zonesC

Find best performing zones. Useful for whitelist candidates.

Inputs: campaign_id (required), min_conversions, min_roi, limit, +2 more.

find_underperforming_zonesB

Find zones that are spending money but not converting. Useful for blacklist candidates.

Inputs: campaign_id (required), min_spend, max_conversions, date_from, +1 more.

get_ad_formatsB

Get list of available ad formats.

Inputs: no named parameters.

get_available_countriesB

Get list of available countries for targeting.

Inputs: no named parameters.

get_balanceB

Get current account balance.

Inputs: no named parameters.

get_campaign_detailsB

Get complete details for a specific campaign including targeting, creatives, and settings.

Inputs: campaign_id (required).

get_campaign_performanceC

Get performance summary for a specific campaign with calculated metrics and insights.

Inputs: campaign_id (required), date_from, date_to.

get_creative_performanceC

Get performance statistics for creatives.

Inputs: campaign_id, date_from, date_to.

get_performance_reportC

Get detailed performance statistics with metrics like impressions, clicks, conversions, spend, CTR, CVR, CPC, CPA, and ROI.

Inputs: date_from, date_to, group_by, campaign_id.

get_zone_performanceB

Get performance statistics grouped by zone/placement. Useful for whitelist/blacklist optimization.

Inputs: campaign_id, date_from, date_to, limit, +1 more.

list_campaignsB

List all campaigns with optional filters. Returns campaign ID, name, status, ad format, and basic metrics.

Inputs: status, ad_format, name.

start_campaignsC

Activate/start one or more campaigns.

Inputs: campaign_ids (required).

stop_campaignsC

Pause/stop one or more campaigns.

Inputs: campaign_ids (required).

update_campaignC

Update campaign settings like budget, bid, targeting, or status.

Inputs: campaign_id (required), name, daily_budget, total_budget, +2 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 21 tools

    Disambiguation4/5

    Most tools have distinct purposes with clear boundaries, such as campaign management (create, clone, update, start, stop), performance analysis (get_campaign_performance, get_performance_report), and zone optimization (find_top_zones, find_underperforming_zones). However, some overlap exists between get_campaign_performance and get_performance_report, which could cause confusion about which to use for campaign-specific metrics.

    Naming Consistency5/5

    Tool names follow a highly consistent verb_noun pattern throughout, such as create_campaign, list_campaigns, get_balance, and find_top_zones. All tools use snake_case without deviation, making them predictable and easy to parse for agents.

    Tool Count4/5

    With 21 tools, the count is slightly high but reasonable for the comprehensive advertising campaign management domain. It covers campaign lifecycle, performance reporting, and optimization tasks, though it borders on being heavy compared to typical well-scoped servers (3-15 tools).

    Completeness5/5

    The toolset provides complete coverage for the advertising campaign domain, including CRUD operations (create, list, get, update, clone), lifecycle management (start, stop), performance analysis (various get and compare tools), and optimization features (blacklist/whitelist, scaling, zone analysis). No obvious gaps are present, enabling agents to handle end-to-end workflows.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI assistants to manage TikTok advertising campaigns through the TikTok Ads API. Supports campaign creation, performance analytics, audience management, creative operations, and custom reporting through natural language interactions.
      54
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Enables AI assistants to manage Google Ad Manager campaigns, line items, creatives, and advertisers through natural language, automating ad operations that normally require countless clicks through the UI.
      35
      67 PyPI
      20
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables comprehensive management of Google Ads campaigns through natural language, including campaign creation, ad group management, keyword operations, Performance Max campaigns, conversion tracking, and performance insights with support for multiple accounts.
      3
      -
    • A
      license
      C
      quality
      C
      maintenance
      Enables managing your entire AdButler advertising account from any AI assistant, exposing over 600 tools covering the full AdButler v2 API for display ads, video, targeting, reporting, programmatic, and more, plus pre-built workflow prompts.
      100
      90 npm
      1
      MIT