mcpField
Y
Yandex Direct MCP

Yandex Direct MCP

ローカル
github.comビジネス・マーケティング192 日前に更新

Yandex Direct MCP について

Yandex Direct MCPは、MCPクライアントからYandex Direct API v5を利用して広告キャンペーンを管理し、レポートを作成します。広告データや入札額を変更でき、取り消せない操作には明示的な確認が必要です。

主な機能

  1. 01キャンペーンと広告グループの管理
  2. 02広告の作成と審査
  3. 03キーワードと入札額の管理
  4. 04サイトリンクとvCardsの設定
  5. 05レポートの作成
  6. 06取り消せない変更の確認要求

活用シーン

  1. 01キャンペーンと広告グループの詳細確認
  2. 02キーワード入札額と入札調整の変更
  3. 03広告や拡張情報の追加・更新
  4. 04キャンペーン実績レポートの作成

MCP 対応

Yandex Direct API v5のキャンペーン、広告グループ、広告、キーワード、入札、拡張情報、レポートの操作をMCPツールとして提供します。取り消せない操作には `confirm: true` が必要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"stufently-yandex-direct": {
"command": "npx",
"args": [
"-y",
"@stufently/yandex-direct-mcp"
],
"env": {
"YANDEX_DIRECT_TOKEN": "<YANDEX_DIRECT_TOKEN>",
"YANDEX_DIRECT_CLIENT_LOGIN": "<YANDEX_DIRECT_CLIENT_LOGIN>",
"YANDEX_DIRECT_SANDBOX": "<YANDEX_DIRECT_SANDBOX>"
}
}
}
}
起動コマンドnpx -y @stufently/yandex-direct-mcp
設定が必要な環境変数
YANDEX_DIRECT_TOKENシークレットOAuth token for Yandex Direct API v5
YANDEX_DIRECT_CLIENT_LOGINClient login, only for agency accounts
YANDEX_DIRECT_SANDBOXSet to true to use the Direct sandbox

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@stufently/yandex-direct-mcp2.2.1

ツール

43

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
Idsarrayいいえキャンペーン ID で絞り込みます
Typesarrayいいえ種類で絞り込みます:TEXT_CAMPAIGN、DYNAMIC_TEXT_CAMPAIGN、MOBILE_APP_CAMPAIGN、CPM_BANNER_CAMPAIGN、SMART_CAMPAIGN、UNIFIED_CAMPAIGN
limitnumberいいえページ上限(デフォルトは 100、最大 10000)
Statesarrayいいえ状態で絞り込みます:CONVERTED、ENDED、OFF、ON、SUSPENDED、ARCHIVED
offsetnumberいいえページオフセット(デフォルト 0)
Statusesarrayいいえステータスで絞り込み:ACCEPTED、DRAFT、MODERATION、REJECTED
field_namesarrayはい返すフィールド(FieldNames)。一般的な値についてはツールの説明を参照してください。

詳細

yandex-direct-mcp

Yandex Direct API v5 用の MCP サーバーです。キャンペーン、広告グループ、 広告、キーワード、入札単価、入札単価調整、サイトリンク、vCard、レポートに対応しています。ツール数は 43 です。

書き込みアクセスがあり、ドライランはありません。 このモノレポ内の他のサーバーとは異なり、このサーバーは 実際の広告データを変更します。キャンペーンや広告の作成、更新、削除、アーカイブ、入札単価の設定が可能です(マイクロ単位のため、 1,000,000 倍の間違いには実際のリスクがあります)。確認ステップもドライランモードもありません。 ワークフローを信頼できるようになるまでは、サンドボックス(YANDEX_DIRECT_SANDBOX=true)を指定してください。

インストール

このパッケージは @stufently/yandex-direct-mcp として公開されています。公開レジストリ上のスコープなしの yandex-*-mcp 名は、無関係な公開者のものです(ルート README の注記を参照)。まだスコープには何も公開されていないため、ソースから実行してください。

git clone https://github.com/stufently/yandex-mcp.git
cd yandex-mcp && bun install
node packages/yandex-direct-mcp/src/index.mjs

設定

変数必須説明
YANDEX_DIRECT_TOKENはいDirect API v5 用の OAuth トークン
YANDEX_DIRECT_CLIENT_LOGIN代理店のみ代理で操作するクライアントのログイン
YANDEX_DIRECT_SANDBOXいいえtrue にすると、呼び出しを Direct サンドボックスにルーティングします
{
  "mcpServers": {
    "yandex-direct": {
      "command": "node",
      "args": ["/path/to/yandex-mcp/packages/yandex-direct-mcp/src/index.mjs"],
      "env": { "YANDEX_DIRECT_TOKEN": "your-token" }
    }
  }
}

ツール

領域ツール
キャンペーンget_campaigns、add_campaigns、update_campaigns、delete_campaigns、archive_campaigns、unarchive_campaigns、suspend_campaigns、resume_campaigns
広告グループget_adgroups、add_adgroups、update_adgroups、delete_adgroups、archive_adgroups、unarchive_adgroups
広告get_ads、add_ads、update_ads、delete_ads、archive_ads、unarchive_ads、moderate_ads
キーワードget_keywords、add_keywords、update_keywords、delete_keywords、suspend_keywords、resume_keywords
入札単価get_keyword_bids、set_keyword_bids、set_auto_keyword_bids、get_bid_modifiers、add_bid_modifiers、set_bid_modifiers、delete_bid_modifiers
拡張機能get_sitelinks、add_sitelinks、delete_sitelinks、get_vcards、add_vcards、delete_vcards
その他create_report、get_dictionaries、get_clients

取り消せないツールには confirm: true が必要です

14 個のツールはこの API を通じて取り消すことができず、誤った呼び出しによって実際に費用が発生するのは、このサーバーだけです。confirm: true を指定しない限り、これらのツールは呼び出しを拒否します。

ファミリーツール取り消せない理由
削除delete_campaigns、delete_adgroups、delete_ads、delete_keywords、delete_bid_modifiers、delete_sitelinks、delete_vcardsエンティティと、それに紐づく統計情報が失われます。add_* は新しい ID を持つ新しいエンティティを作成するため、元の状態には戻りません
更新update_campaigns、update_adgroups、update_ads、update_keywordsフィールドはその場で上書きされ、Direct にはリビジョン履歴が公開されていないため、以前の広告文、予算、戦略を読み戻すことができません
入札set_keyword_bids、set_auto_keyword_bids、set_bid_modifiers同じく上書きされますが、価格に直結します。アカウントがクリックごとに支払う金額を決める値です
{ "ids": [12345], "confirm": true }

これを指定せずに呼び出すと、ツールはエラー結果を返し、Direct API には何も送信しません。エンティティにも入札額にも変更はなく、API ユニットも消費されません。

Refused: `delete_campaigns` requires explicit confirmation.

Target — IDs: 12345. Deleting campaigns is irreversible: they and their accumulated statistics
are 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 no
API 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`.

JSON スキーマで confirm を任意にしているのは意図的です。確認がない場合、モデルが対処できないスキーマ検証エラーではなく、理由の説明を返す必要があるためです。文字列どおりの true だけが有効です。"true"、1、"yes" は拒否されます。プロトコルについての推測は、費用をかけるという決断ではないためです。14 個すべてに MCP アノテーションで destructiveHint: true が設定されているため、ツールのリスクを表示するクライアントは呼び出し前にその情報を提示できます。

add_*、archive_*/unarchive_*、suspend_*/resume_*、moderate_ads は、意図的に保護対象から外しています。 それぞれにこのサーバー内で元に戻す手段があるか(moderate_ads の場合はエンティティ自体に変更を加えないため)、これらは損失ではなく変更だからです。すべての書き込みを保護すると、呼び出し側は反射的に confirm: true を渡すようになり、重要な14個の呼び出しで保護が機能しなくなります。

入札額の単位はマイクロ(×10⁶)です。実験中は YANDEX_DIRECT_SANDBOX=true を設定してください。

既知の制限事項

  • API パスは /json/v5 にハードコードされているため、統合パフォーマンスキャンペーンのエンドポイント(v501)にはアクセスできません。
  • Units レスポンスヘッダー(消費済み/残りのポイント)が表示されないため、クライアントは呼び出しにかかったクォータを確認できません。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。