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
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
Install
- Works in
- Services
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/artgas1-yandex-direct-mcpDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad 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 whyMCP
- Transport
- stdio
- Authentication
- API key
Environment variables
YANDEX_DIRECT_TOKENrequired, 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.
Related
All Yandex Direct toolsYandex Direct MCP, CLI and models with action search
mcp-server-yandex-direct
A Yandex Direct API v5 MCP server, CLI tool and Pydantic models: 79 actions through two tools instead of 79 separate ones
Dependency-free Node MCP for Yandex Direct
yandex-direct-mcp
A single-file, dependency-free Node.js Direct API v5 MCP server with a universal direct_call tool and a read-only mode
Yandex Direct MCP with dry-run by default
Yandex Direct MCP Server
20 Yandex Direct tools where every edit shows the plan by default and needs confirm=True to actually send anything
Yandex Direct MCP: hardened fork
yandex-direct-mcp
A fork of a popular Yandex Direct MCP server that defaults to read-only, with explicit flags for writes and finance
Yandex Direct MCP server in Ruby
yandex-direct-mcp
A dependency-free, pure Ruby MCP server with 30 tools for Yandex Direct campaigns, ad groups, ads, keywords and reports
A ZAI.ONE MCP server bringing Direct, Metrika, search, Wordstat and Webmaster into one agent, with a setup wizard and opt-in write operations
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.