Skip to main content
Glama
webkoth
by webkoth

yandex-mcp

MCP サーバーで、Yandex WebmasterYandex DirectYandex Metrika の API を AI アシスタント(Claude Desktop、Claude Code、Cursor など)向けのツールとして公開します。

これにより、アシスタントが Yandex の SEO・広告・分析データを自然言語で扱えるようになります。検索クエリの確認、インデックスとサイトマップの管理、再クロールのリクエスト、診断の実行、書き込み保護ガード付きの Direct キャンペーン運用、トラフィック / コンバージョン / 広告統計の取得が、Yandex の Web UI にログインせずに行えます。

  • 合計 125 ツール: Webmaster 52、Direct 46、Metrika 25、プロジェクト管理 2。

  • 6 つの MCP プロンプト — 既製のワークフロー(キャンペーン監査、週次レポート、キャンペーン作成、予算拡大、SEO 監査、学習確認)で、autostrategies のプレイブック上に構築されており、yandex://playbook MCP リソースとしても公開されています。

  • 単一サーバー・マルチプロジェクト: 複数の Yandex アカウント/トークンを 1 つの stdio プロセスで処理できます。

  • TypeScript / Node ≥ 22、@modelcontextprotocol/sdkzod 上に構築。

動作の仕組み

src/index.ts は 1 つの McpServer を起動し、src/webmaster/src/direct/ のすべてのツールグループを登録します。すべてのリクエストは src/client.ts(プロジェクトごとの HTTP クライアント)を通して処理されます。このクライアントは次のことを行います。

  • Authorization: OAuth <token> ヘッダーを付与します(Direct は Bearer)。

  • Webmaster の呼び出しは api.webmaster.yandex.net へ、Direct の呼び出しは api.direct.yandex.com/json/v5 へルーティングします(direct.sandbox が有効な場合は Direct Sandbox へ)。

  • Webmaster の user_id を解決してキャッシュし、host_id をパスに挿入します。

  • ネットワークエラー/429 に対して指数バックオフで再試行し、204 No Content も処理します。

  • Direct のレスポンスボディ内の {"error": {...}} を検出し、Quota クォータヘッダーを追跡します。

Related MCP server: Yandex Wordstat MCP

前提条件

  • Node.js ≥ 22。

  • Webmaster または/および Metrika API にアクセスできる Yandex OAuth トークン。

OAuth トークンを取得する

  1. Yandex OAuth console でアプリケーションを登録し、Webmaster(webmaster:hostinfowebmaster:verify)および/または Metrika(metrika:read / metrika:write)スコープを付与します。

  2. OAuth flow を利用してアカウントのトークンを取得します。

注意:

  • Direct は独自のアプリスコープと、アプリ登録後に Direct アカウントから提出された承認済みアクセスリクエスト(заявка)が必要です。既存の Webmaster/Metrika トークンは、再発行しない限り Direct では利用できません。アクセス承認までの間は、Direct Sandbox(プロジェクト設定で direct.sandbox: true)を使用してください。

  • Webmaster の OAuth トークンは 6 か月 で期限切れになり、再発行が必要です。

セットアップ

npm install
cp .env.example .env      # then put your token in .env
npm run build

.env:

YANDEX_OAUTH_TOKEN=your_oauth_token_here

起動

npm start          # runs dist/index.js (requires build)
npm run dev        # tsx watch mode against src/index.ts

このサーバーは stdio 上で MCP を通信するため、通常は手動ではなく MCP クライアントから起動されます。

マルチプロジェクト構成

このサーバーは、ドのプロジェクトにも個別の Yandex ログイン/トークンを持つ、複数のプロジェクトを提供できます。 projects.example.jsonprojects.json(gitignore 対象)にコピーして内容を記入するか、YANDPROJECTS_CONFIG を別のパスに設定してください。設定ファイルが存在せず、YANDEX_OAUTH_TOKEN が設定されている場合は、単一のプロジェクト default が使用されます。

アクティブなプロジェクトは yandex_set_active_project で切り替え、yandex_projects_list で確認できます。また、任意の Direct または Metrika ツールに project を渡すこともできます。Metrika ツールはプロジェクトの default_counter も考慮します。

プロジェクトごとの Direct 設定: sandbox(Direct Sandbox へのルーティング)、client_login(代理店アカウント)、limits(書き込みツールによって強制される、予算/入札の最大許容変更率(%))。

MCP クライアントへの接続

トークンは YANDEX_OAUTH_TOKEN 環境変数から読み取られます。

Claude Desktop / Cursor

MCP サーバーの設定(claude_desktop_config.json など)に追加します:

{
  "mcpServers": {
    "yandex": {
      "command": "node",
      "args": ["/absolute/path/to/yandex/dist/index.js"],
      "env": {
        "YANDEX_OAUTH_TOKEN": "your_oauth_token_here"
      }
    }
  }
}

Claude Code

claude mcp add yandex --env YANDEX_OAUTH_TOKEN=your_token -- node /absolute/path/to/yandex/dist/index.js

ツール

Webmaster(52)

グループ

ツール

ユーザー

user_get

ホスト

hosts_list, hosts_get, hosts_add, hosts_delete

検証

verification_start, verification_status, verification_owners

概要

summary_get, summary_sqi_history

検索クエリ

search_queries_popular, search_queries_all_history, search_queries_history, query_analytics

インテキシグ

indexing_history, indexing_samples, indexing_archive_create, indexing_archive_status

検索内のURL

search_urls_in_search_history, search_urls_in_search_samples, search_urls_events_history, search_urls_events_samples

重要なURL

important_urls_list, important_urls_history

サイトマップ

sitemaps_list, sitemaps_get, sitemaps_user_list, sitemaps_user_get, sitemaps_add, sitemaps_delete

再クロール

recrawl_submit, recrawl_status, recrawl_list, recrawl_quota, recrawl_sitemap_quota, recrawl_sitemap_submit

診断

diagnostics_get

リンク

links_external_samples, links_external_history, links_internal_samples, links_internal_history

Pro エクスポート

pro_regions, pro_limits, pro_dates, pro_export_start, pro_export_status

フィード

feeds_add, feeds_add_status, feeds_batch_add, feeds_list, feeds_batch_delete, feeds_change_regions

すべての名前には yandex_webmaster_ という接頭辞が付きます。

Direct(43)

グループ

ツール

読み取り

campaigns_get, adgroups_get, ads_get, keywords_get, bids_get, bidmodifyers_get, sitelinks_get, adextensions_get, adimages_get, retargetinglists_get, audiencetargets_get, feeds_get, creates_get, smartadtargets_get, dynamictextadtargets_get, negativekeywordsharedlists_get, vcards_get, leads_get, turbopages_get, businesses_get, agencyclients_get, advideos_get, dictionaries_get(24 時間キャッシュ), clients_get, changes_check, units

書き込み(保護付き)

campaigns_manage, adgroups_manage, ads_manage, keywords_manage, bids_set, bidmodifiers_manage, sitelinks_manage, adextensions_manage, adimages_manage, retargetinglists_manage, audiencetargets_manage, feeds_manage, smartadtargets_manage, dynamictextadtargets_manage, negativekeywordsharedsets_manage, vcards_manage, advideos_manage, clients_manage

リサーチ

keywords_research

レポート

report

すべての名前には yandex_direct_ という接頭辞が付きます。書き込みツールは、confirm: true を指定しない限り差分をプレビューし、プロジェクトごとの予算・入札変更制限を適用します(force: true で上書き可能)。プロジェクト設定で direct.sandbox: true を指定すると、Direct Sandbox に送信されます。書き込み結果には項目ごとの要約が含まれます。Direct は HTTP 成功レスポンス内で部分不一致を報告するため、partial_failure を確認してください。

プロジェクト管理(2)

yandex_projects_list, yandex_set_active_project — は マルチプロジェクト構成 を参照してください。

Metrika(22)

グループ

ツール

管理

counters_list, counter_get, goals_list, segments_list, filters_list

ゴール(保護付き書き込み)

goal_add, goal_update, goal_delete

オフライン・コンバージョン

offline_conversations_upload(保護付き)、offline_conversions_uploadings

費用インプート

expenses_upload(保護付き。Yandex 以外の広告費用)、expenses_uploadings

CRM インプート

crm_orders_upload(保護付き。CDP 経由の注文/売上)、calls_upload(保護付き)、calls_uploadings

Logs API(生デー)

logs_evaluate, logs_request_create, logs_requests, logs_download(切り詰められた TS)、logs_clean

レポート(スタット API)

stat_data, stat_bytime, stat_drilldown, stat_comparison, stat_comparison_drilldown

すべての名前には yandex_metrika_ という接頭辞が付きます。統計ツールは、広告レポート(ym:ad: メトリクス — Direct のコストと オン・サアイト行動を結合) 用の direct_client_logins と、その他任意のクエリパラメータ用の extra_params を受け付けます。

レポーテツールは Metrika Reporting API に基づいています。メトリクスとディメンションは ym:s:(ビジット)/ym:pv:(ページビュー)ネームスベースを使用します。例: metrics: "ym:s:visits,ym:s:users,ym:s:bouncerate"dimensions: "ym:s:date,ym:s:lastTrafficSourc"。日付は YYYY-MM-DD または 相対キーワ-ド(today, yesterday, 7daysAgo)を対応しています。カウンター単位のツールでは、counter_id / ids が省か合わせた場合、プロジェクトの default_counter を既定に使用します。

プロジェクト構成

src/
  index.ts            # entry point: boots the MCP server, registers all tools
  client.ts           # per-project HTTP client (auth schemes, base URLs, retries, Direct transport)
  projects.ts         # project registry: per-project tokens, Direct config, limits
  server-tools.ts     # project management tools (list / set active)
  webmaster/          # 14 modules, 51 Webmaster tools
  metrika/            # management + Reporting API — 10 Metrika tools
  direct/             # read, guarded write, reports — 14 Direct tools

スクリプト


| Command         | Description                            |
| --------------- | -------------------------------------- |
| `npm run build` | TypeScript を `dist/` にコンパイルする |
| `npm run dev`   | `tsx` watch でソースから実行する        |
| `npm test`      | ユニットテストスイートを実行する (`tsx --test`) |
| `npm start`     | ビルド済みサーバーを実行する            |
| `npm run clean` | `dist/` を削除する                      |

## ライセンス

MIT © Minas Sarkisyan
A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    MCP server for managing Yandex Direct advertising, Yandex Metrica analytics, Wordstat keyword research, and Yandex Webmaster SEO tools, with self-configuring OAuth; provides 153 tools for complete ad and search workflows from AI assistants.
    100
    19
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables querying Yandex Wordstat search statistics, including frequency, related queries, seasonality, and regional distribution, through natural language in AI clients.
    5
    120
    4
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables interaction with Yandex advertising and analytics APIs (Direct, Metrika, Audience, Webmaster, AdMetrica) through MCP tools, resources, and prompts for campaign management and data retrieval.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to manage Yandex Direct advertising campaigns, ads, keywords, and reports via natural language using the Yandex Direct API v5.
    2
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP for Yandex Direct: manage ad campaigns & analytics from Claude or ChatGPT

  • Read-only Yandex Metrika MCP. Query visits, sources, geo, devices and more in plain language.

  • SEO research, audits, backlinks, GSC, and content workflow tools for AI agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/webkoth/yandex-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server