A side-by-side look at the Meta Ads MCP and Yandex Direct MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Meta Ads MCP for marketing work as a local process; choose Yandex Direct MCP for marketing as a local process. You can also run both side by side in one mcpServers block.
META_ADS_ACCESS_TOKEN, META_AD_ACCOUNT_ID.list_campaigns, get_campaign, create_campaign.YANDEX_DIRECT_TOKEN, YANDEX_DIRECT_SANDBOX, YANDEX_DIRECT_LOGIN.list_campaigns, get_campaign, create_campaign.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Marketing | Marketing |
| Quality signal | 68/100 · Great | 60/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | API key required | Not declared |
| Pricing | BYOK (pay the provider) | Not declared |
| Required env vars | META_ADS_ACCESS_TOKENMETA_AD_ACCOUNT_ID | YANDEX_DIRECT_TOKENYANDEX_DIRECT_SANDBOXYANDEX_DIRECT_LOGIN |
| Verified owner | Community listing | Community listing |
| GitHub stars | 87 | 4 |
| Directory activity | 2 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 134 | 20 |
| Full listing | View Meta Ads MCP | View Yandex Direct MCP |
list_campaignsList campaigns in the ad account. Supports filtering by status and objective. Returns paginated results.get_campaignGet details of a specific campaign by ID.create_campaignCreate a new ad campaign. Defaults to PAUSED status. Requires name and objective. Budget can be set at campaign or ad set level.update_campaignUpdate an existing campaign. Only provided fields will be modified.delete_campaignDelete a campaign. This action is irreversible.copy_campaignCopy an existing campaign. Creates a duplicate with optional name override. Copies structure including ad sets and ads.get_campaign_adsetsGet all ad sets belonging to a specific campaign.get_campaign_adsGet all ads belonging to a specific campaign.get_campaign_leadsGet leads generated by a specific campaign. Requires leads_retrieval permission.list_adsetsList ad sets in the ad account. Optionally filter by campaign or status.get_adsetGet details of a specific ad set by ID.create_adsetCreate a new ad set. Requires name, campaign_id, budget, optimization_goal, billing_event, and targeting. Defaults to PAUSED status.list_campaignsСписок рекламных кампаний Яндекс.Директ с фильтрацией по статусу и типу. Бюджеты — в рублях.get_campaignДетальная информация о кампании по ID: бюджет (руб), статус, даты, статистика.create_campaignСоздать новую рекламную кампанию. Бюджет в рублях. ⚠️ Тратит реальные деньги — используйте sandbox для теста.update_campaignОбновить кампанию: название, бюджет (руб) и/или статус (SUSPEND/RESUME/ARCHIVE/UNARCHIVE).list_ad_groupsГруппы объявлений выбранных кампаний: названия, регионы, статусы.create_ad_groupСоздать группу объявлений в кампании с таргетингом по регионам (см. get_regions).delete_ad_groupsУдалить группы объявлений по их ID. ⚠️ Необратимо.list_adsОбъявления в группах: заголовки, тексты, ссылки, статусы.create_text_adСоздать текстовое объявление: заголовок (≤56), второй заголовок (≤30), текст (≤81), ссылка.update_text_adОбновить текстовое объявление: заголовок, текст, ссылка. Изменённое объявление уходит на модерацию.manage_adsДействие над объявлениями: suspend/resume/archive/unarchive/moderate/delete. ⚠️ delete необратимо.list_keywordsКлючевые фразы в группах объявлений: фразы, ставки (руб), статусы.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"mikusnuz-meta-ads-mcp": {
"command": "npx",
"args": [
"-y",
"@mikusnuz/meta-ads-mcp"
],
"env": {
"META_ADS_ACCESS_TOKEN": "YOUR_META_ADS_ACCESS_TOKEN_HERE",
"META_AD_ACCOUNT_ID": "YOUR_META_AD_ACCOUNT_ID_HERE"
}
}
}
}
{
"mcpServers": {
"yandex-direct-mcp-2": {
"command": "npx",
"args": [
"-y",
"@theyahia/yandex-direct-mcp"
],
"env": {
"YANDEX_DIRECT_TOKEN": "YOUR_YANDEX_DIRECT_TOKEN_HERE",
"YANDEX_DIRECT_SANDBOX": "YOUR_YANDEX_DIRECT_SANDBOX_HERE",
"YANDEX_DIRECT_LOGIN": "YOUR_YANDEX_DIRECT_LOGIN_HERE"
}
}
}
}