用途
mcp-yandex-direct 是一个 MCP 服务器,用于将 AI 应用连接到 Yandex Direct 广告账户。用户可以用自然语言询问广告预算的去向,关联广告活动、广告和关键词,并在不切换广告后台各板块的情况下准备或实施所需更改。连接直接在对话中开始,无需预先创建令牌或编辑配置。
主要能力
服务器提供 44 个工具,覆盖广告活动、广告组、广告、关键词、出价、出价修正、扩展信息、统计、余额、参考数据以及对话内账户连接。
广告通常由三个层级构成:广告活动 → 广告组 → 广告。广告组中包含关键词、展示设置和出价修正。广告可以带有快速链接、说明、名片和图片。服务器帮助将这些对象放在一起查看:把广告活动的支出与广告组、关键词和广告的统计关联起来。它只能创建文本类型的新广告活动和广告。其他类型的广告活动可以读取、重命名、更改预算、暂停、归档和按标识符删除。
统计并非即时生成:get_statistics 会在 Reports 服务中启动报告并等待其就绪。对于大型列表,autoPaginate 会自动翻页。
使用方式
连接方式
有两种连接方式:
- 远程服务器:通过 URL https://mcp.askads.ru/mcp 连接,适用于支持通过 URL 使用 MCP 的应用。在浏览器中登录 Yandex 并确认访问权限,无需将令牌传入配置。此方式仅用于读取——统计、审计和查看对象,不会更改广告设置。在 Claude Code 中可通过命令添加,连接后打开 /mcp 完成授权。其他支持 HTTP MCP 的应用可通过应用界面添加同一 URL。
- 本地服务器:通过 npx 连接,提供对广告账户的完整访问权限。需要 Node.js 20+。npx 会在首次启动时下载服务器,无需单独安装包。无需预先获取令牌,连接直接在对话中开始。
对话内连接
在聊天中请求连接 Yandex Direct。Yandex 会打开登录页面,在拥有目标广告账户访问权限的账户下打开链接,确认访问并发送聊天中显示的代码。之后即可操作广告,无需重启客户端或修改配置。连接会自动续期,不会在一年后失效。可通过“显示连接状态”检查状态,通过“断开 Direct”断开连接。已授予的访问权限可在 Yandex ID 中撤销。
在 AI 应用中添加服务器
- Claude Code:通过命令行添加,检查连接使用 claude mcp list。
- Claude Desktop:打开 Settings → Developer → Edit Config,在 claude_desktop_config.json 中添加。若没有 Developer 分区,可手动打开文件:macOS 为 ~/Library/Application Support/Claude/claude_desktop_config.json,Windows 为 %APPDATA%\Claude\claude_desktop_config.json。重启 Claude Desktop。
- Cursor:打开 ~/.cursor/mcp.json 以在所有项目中连接服务器,或在特定项目中打开 .cursor/mcp.json。
- VS Code:在命令面板中执行 MCP: Open User Configuration,在打开的 mcp.json 中添加服务器。保存后执行 MCP: List Servers 并从列表中启动服务器。
- Codex:通过应用界面打开 Settings → Plugins → MCP servers,点击 Add server,添加启动命令 npx -y mcp-yandex-direct@latest。
用于 CI 和代理安装
对于没有对话的 CI 和自动安装场景,可通过环境变量配置,使用准备好的令牌和 YANDEX_DIRECT_LOGIN。获取 YANDEX_DIRECT_TOKEN 的令牌时,需在拥有目标账户访问权限的账户下登录。请勿在聊天、仓库和截图中公开令牌:它提供对广告账户的访问权限,包括可能影响预算的操作。
适用场景
- 了解预算去向:“上周哪些广告活动花费最多?”“哪些广告获得展示和点击但没有转化?”“比较一个月内各广告活动的支出、CTR 和平均点击价格。”“显示账户余额和 API 每日配额剩余。”
- 寻找改进点:“哪些关键词消耗预算但没有带来点击?”“哪些广告组和广告当前已暂停或未通过审核?”“检查移动设备适用哪些出价修正。”“这个广告活动有哪些快速链接和说明?”
- 准备更改:“为高 CTR 的关键词建议新出价,并在应用前显示更改。”“检查广告活动中是否有该主题的否定关键词,并准备列表。”“为莫斯科的新文本广告活动收集参数:预算、广告组、关键词和广告。”
- 执行明确操作:“将这些关键词添加到广告组 123 并设置出价 45 ₽。”“暂停广告 456。”“将带图片的页面发送到广告库。”
限制
- 远程服务器通过 URL 仅读取数据。本地服务器通过 npx 可以更改真实广告账户。
- 工具会向 AI 应用传递读取、写入和潜在不可逆操作的标记。应用可能显示确认,但其行为取决于客户端。直接 API 请求在未设置 confirmWrite=true 时不会执行写入;更改广告需要明确请求。
- 每日 API 配额:每次调用消耗 Units。get_quota 工具显示今日已消耗、剩余和可用数量。
- 报告限制:Yandex 报告对数据量和每日数量有自己的限制,且需等待 Reports 服务中报告就绪。
- 大型列表:如果自动分页达到内部上限,服务器会明确将结果标记为不完整,而不是隐藏这一点。
- 临时错误:服务器在遇到频率限制时最多重试三次。网络和服务器错误仅对读取操作自动重试,以避免重复更改。
- 真实广告账户:本地更改会应用到真实广告账户,可能影响支出。测试请使用沙盒(YANDEX_DIRECT_SANDBOX=true)。
- 无持续监控:服务器在 AI 应用调用期间运行。如果应用支持定期任务,可配置周期性请求来检查所需指标。
数据与遥测
默认情况下,服务器发送匿名技术事件:随机安装标识符、调用的工具名称、服务器版本、AI 应用版本、Node.js 版本和操作系统版本。这用于了解服务器哪些部分被使用以及启动时是否出现问题。Yandex 令牌、广告账户数据、工具参数、请求文本、环境变量值和名称不会发送。要禁用 Ask Ads MCP 服务器的遥测,可设置环境变量。