Yandex Direct MCP

io.github.stufently由 GitHub 账号 stufently 发布v2.2.1更新于 Oct 24, 2026

MCP server for Yandex Direct API v5 — campaigns, ads, keywords, reports

已验证STDIO仅桌面数据与分析商业与电商

概览

AI 生成的概览

面向 Yandex Direct API v5 的本地 MCP 服务器,让助手读取并修改广告系列、广告组、广告、关键词、出价、扩展和报告。

可以做什么
  • 查询、新建、更新、删除、归档、暂停和恢复广告系列与广告组
  • 管理广告,包括提交审核
  • 管理关键词,设置关键词出价、自动出价和出价修正
  • 管理快速链接和虚拟名片
  • 创建报告,获取字典和客户列表
适用场景
适合让助手直接操作 Yandex Direct 广告账户:审查或调整广告系列结构、修改关键词与出价、拉取效果报告。在信任流程之前,建议先指向沙箱环境而非正式账户。
运行要求
以本地 Node.js 进程从源码运行(克隆仓库、安装依赖、执行包入口文件);npm 包虽已发布,但 README 建议从源码运行。需要 YANDEX_DIRECT_TOKEN 中的 OAuth 令牌;代理账户需 YANDEX_DIRECT_CLIENT_LOGIN,YANDEX_DIRECT_SANDBOX 可将调用指向沙箱。需要访问 Yandex Direct API 的网络。
安装前请注意
它会改动线上广告数据:广告系列、广告、关键词和出价可被新建、更新、删除或归档,出价以百万分之一为单位,差 1,000,000 倍是真实风险。十四个不可逆工具要求字面量 confirm: true,但新增、归档、暂停和送审不受保护,也没有试运行模式。误操作会花掉真实预算。OAuth 令牌可访问账户,须妥善保密;在信任流程前请使用沙箱。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Yandex Direct MCP,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

yandex-direct-mcp

MCP server for Yandex Direct API v5 — campaigns, ad groups, ads, keywords, bids, bid modifiers, sitelinks, vCards, and reports. 43 tools.

Write access, no dry-run. Unlike the other servers in this monorepo, this one changes live advertising data: it can create, update, delete and archive campaigns and ads, and set bids (in micro-units — a factor-of-1,000,000 mistake is a real risk). There is no confirmation step and no dry-run mode. Point it at the sandbox (YANDEX_DIRECT_SANDBOX=true) until you trust the workflow.

Installation

This package is published as @stufently/yandex-direct-mcp; unscoped yandex-*-mcp names on the public registry belong to an unrelated publisher (see the note in the root README). Nothing is on the scope yet, so run it from source:

bash
git clone https://github.com/stufently/yandex-mcp.gitcd yandex-mcp && bun installnode packages/yandex-direct-mcp/src/index.mjs

Configuration

VariableRequiredDescription
YANDEX_DIRECT_TOKENyesOAuth token for Direct API v5
YANDEX_DIRECT_CLIENT_LOGINagencies onlyClient login to act on behalf of
YANDEX_DIRECT_SANDBOXnotrue routes calls to the Direct sandbox
json
{  "mcpServers": {    "yandex-direct": {      "command": "node",      "args": ["/path/to/yandex-mcp/packages/yandex-direct-mcp/src/index.mjs"],      "env": { "YANDEX_DIRECT_TOKEN": "your-token" }    }  }}

Tools

AreaTools
Campaignsget_campaigns, add_campaigns, update_campaigns, delete_campaigns, archive_campaigns, unarchive_campaigns, suspend_campaigns, resume_campaigns
Ad groupsget_adgroups, add_adgroups, update_adgroups, delete_adgroups, archive_adgroups, unarchive_adgroups
Adsget_ads, add_ads, update_ads, delete_ads, archive_ads, unarchive_ads, moderate_ads
Keywordsget_keywords, add_keywords, update_keywords, delete_keywords, suspend_keywords, resume_keywords
Bidsget_keyword_bids, set_keyword_bids, set_auto_keyword_bids, get_bid_modifiers, add_bid_modifiers, set_bid_modifiers, delete_bid_modifiers
Extensionsget_sitelinks, add_sitelinks, delete_sitelinks, get_vcards, add_vcards, delete_vcards
Othercreate_report, get_dictionaries, get_clients

Irreversible tools need confirm: true

Fourteen tools cannot be undone through this API, and this is the one server where a mistaken call spends real money. They refuse unless the call carries confirm: true:

FamilyToolsWhy it cannot be undone
Deletesdelete_campaigns, delete_adgroups, delete_ads, delete_keywords, delete_bid_modifiers, delete_sitelinks, delete_vcardsThe entity and the statistics attached to it are gone; add_* creates a new entity with a new ID, not the old one back
Updatesupdate_campaigns, update_adgroups, update_ads, update_keywordsFields are overwritten in place and Direct exposes no revision history, so the previous ad text, budget or strategy cannot be read back
Bidsset_keyword_bids, set_auto_keyword_bids, set_bid_modifiersSame overwrite, with a price tag: these are the numbers that decide what the account pays per click
json
{ "ids": [12345], "confirm": true }

Called without it, the tool returns an error result and sends nothing to the Direct API — no entity touched, no bid moved, no API units spent:

Refused: `delete_campaigns` requires explicit confirmation.
Target — IDs: 12345. Deleting campaigns is irreversible: they and their accumulated statisticsare gone for good, and Yandex Direct offers no way to restore them.
Nothing was sent to the Yandex Direct API — no campaign, ad, keyword or bid was touched, and noAPI units were spent.
To go ahead, call `delete_campaigns` again with the same ids and `confirm: true`.To see the current state first, call `get_campaigns`.

confirm is optional in the JSON schema on purpose: a missing confirmation has to come back as that explanation, not as a schema validation error a model cannot act on. Only a literal true counts — "true", 1 and "yes" are refused, because a guess at the protocol is not a decision to spend money. All fourteen carry destructiveHint: true in their MCP annotations, so clients that surface tool risk can show it before the call.

add_*, archive_*/unarchive_*, suspend_*/resume_* and moderate_ads are deliberately left unguarded. Each has an inverse in this same server (or, for moderate_ads, leaves the entity itself untouched), so they are changes rather than losses. Guarding every write would train callers to pass confirm: true by reflex — which is exactly what would defeat it on the fourteen calls that matter.

Bids are expressed in micros (×10⁶). Set YANDEX_DIRECT_SANDBOX=true while experimenting.

Known limitations

  • The API path is hard-coded to /json/v5, so the unified performance campaigns endpoint (v501) is unreachable.
  • The Units response header (points consumed / remaining) is not surfaced, so a client cannot see how much of its quota a call cost.

License

MIT

来源:packages/yandex-direct-mcp/README.md,提交 bdd6c64

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v2.2.1最新Oct 16, 2026
  2. v2.2.0Oct 15, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分