Yandex Direct MCP generated from a machine-readable schema

yandex-direct-mcp

An MCP server and CLI covering all 113 Yandex Direct API v5 methods generated from WSDL, exposing 9 read tools by default and writes only on demand

  • 1 ★ on the repository
  • Last commit
  • MIT
MCP serverEditors’ pick

Broad access

Why this level

  • Once DIRECT_ALLOW_WRITES is set, it opens 80 changing and 16 deleting Direct methods
  • Deletion and archiving in Direct are irreversible, and real money sits on the other end
All reasons and checks
Russian stack

artgas1/yandex-direct-mcp

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/artgas1-yandex-direct-mcp

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • Once DIRECT_ALLOW_WRITES is set, it opens 80 changing and 16 deleting Direct methods
  • Deletion and archiving in Direct are irreversible, and real money sits on the other end

This is third-party code. Review the repository files before installing.

What it does

The server and CLI cover all 113 Direct API v5 methods rather than a subset: the full list of 30 services, 113 methods, 609 types and 240 enums is generated automatically from the WSDL of 29 services and the official docs, not written by hand. To avoid bloating model context on every turn, the default core profile exposes only nine read tools, and the full 117-tool set unlocks via DIRECT_ALLOW_WRITES=1. Of the 113 methods, 80 change data and 16 delete, and the changing tools are not declared to the model at all until writes are explicitly enabled: context is not spent on tools that cannot be called anyway. The server also handles a list of common live-API traps: converting amounts out of micro-units, not truncating 19-digit ids, refusing to treat an HTTP 200 with an error body as success, and not confusing Direct's warnings with rejections.

Who it is for. For developers who need full, accurate Direct API v5 coverage with control over how many tools go into the model's context.

Good fit when

  • You need the entire API v5, not just frequent methods like campaigns and ads
  • You care about not bloating model context with dozens of unneeded tools
  • You need confidence that amounts, ids and response status are parsed with no hidden bugs

Not a fit when

  • You need writes to work out of the box with no extra setting: they are off by default
  • You only need a few typical operations: the full surface and profiles here are overkill
  • You need the reports service configured with no manual step: Direct does not serve its WSDL, so it is described by hand

Example request

Show the full list of Direct API methods and explain which ones are currently hidden and why

MCP

Transport
stdio
Authentication
API key

Environment variables

YANDEX_DIRECT_TOKEN required, secret
OAuth token with the direct:api scope
DIRECT_ALLOW_WRITES
Declares data-changing tools; off by default
DIRECT_PROFILE
core, read or all, defaults to core
DIRECT_SANDBOX
Switches to sandbox instead of the live account

Limitations

Data-changing tools are not declared to the model until DIRECT_ALLOW_WRITES=1 is set: if you expect writes right after install, you need to enable it explicitly. Schema-derived enums can lag behind the live API and are used as a hint, not a hard filter. Needs an OAuth token with the direct:api scope; sandbox needs a separate registration and token.

How to disable. Run claude mcp remove yandex-direct in Claude Code or remove the yandex-direct block from your client config.

FAQ

Why does it show only 9 tools out of 113 methods by default?

Every declared tool's description sits in the model's context on every turn, so by default the core profile of frequent read methods is declared, not everything the API can do.

How do I enable data-changing methods?

Set DIRECT_ALLOW_WRITES=1; otherwise the changing tools are never declared to the model.

Discussion

No questions or reviews yet.

Russian stack

A single-file, dependency-free Node.js Direct API v5 MCP server with a universal direct_call tool and a read-only mode

MCP serverBroad access
Russian stack

20 Yandex Direct tools where every edit shows the plan by default and needs confirm=True to actually send anything

MCP serverBroad access
Russian stack

A fork of a popular Yandex Direct MCP server that defaults to read-only, with explicit flags for writes and finance

MCP serverBroad access
Russian stack

A dependency-free, pure Ruby MCP server with 30 tools for Yandex Direct campaigns, ad groups, ads, keywords and reports

MCP serverBroad access6Repository stars
Russian stack

A ZAI.ONE MCP server bringing Direct, Metrika, search, Wordstat and Webmaster into one agent, with a setup wizard and opt-in write operations

MCP serverBroad access1Repository stars

README in short

The README walks through eight silent Direct API traps with examples: micro-unit amounts, id precision loss, an HTTP 200 with an error body, delayed reports, the v501 versus v5 path version, an incomplete campaign list, and a warning that is actually an applied change. It gives a coverage table by profile with byte and approximate token counts, a settings table, the WSDL-and-docs origin of every method, and a separate install option as a skill via npx skills add.

README badge

Report a problem