Yandex Direct MCP — Claude Code MCP server: setup & tools
Connects AI assistants to Yandex Direct API v5 for campaign management and reporting. It lets models adjust ads, update phrases, and manage bids directly from the IDE.
claude mcp add --env YANDEX_DIRECT_TOKEN=<YANDEX_DIRECT_TOKEN> --env YANDEX_DIRECT_CLIENT_LOGIN=<YANDEX_DIRECT_CLIENT_LOGIN> --env YANDEX_DIRECT_SANDBOX=<YANDEX_DIRECT_SANDBOX> --transport stdio yandex-direct-mcp -- npx -y @stufently/yandex-direct-mcpWhat Yandex Direct MCP does
The server provides 43 tools to handle campaigns, ad groups, sitelinks, keywords, and vCards. Bids use micro-units (millionths of a currency unit). A minor calculation error can inflate real spending fast.
Fourteen destructive operations require explicit safety opt-in via confirm: true. Deleting items, updating texts, or setting bids without this flag causes an immediate refusal. The server halts the request locally before any call reaches Yandex, preserving your budget and API points.
Authentication relies on YANDEX_DIRECT_TOKEN, alongside YANDEX_DIRECT_CLIENT_LOGIN for agency accounts. Testing should start in sandbox mode with YANDEX_DIRECT_SANDBOX=true. Unified performance campaigns on endpoint v501 are not supported because the URL path is hard-coded to /json/v5.
What it helps with
- retrieve campaign performance and cost reports
- pause or restart specific advertising campaigns
- update search keyword bids across ad groups
- send modified ad creative to moderation
Example prompts for the agent
- Fetch active campaigns and summarize their current budgets
- Set bid for keyword 987654321 to 15000000 micros with confirm true
- Generate an ad group report covering clicks and impressions for last week
How to install Yandex Direct MCP
Platform CLI
claude mcp add --env YANDEX_DIRECT_TOKEN=<YANDEX_DIRECT_TOKEN> --env YANDEX_DIRECT_CLIENT_LOGIN=<YANDEX_DIRECT_CLIENT_LOGIN> --env YANDEX_DIRECT_SANDBOX=<YANDEX_DIRECT_SANDBOX> --transport stdio yandex-direct-mcp -- npx -y @stufently/yandex-direct-mcpReplace <…> with your own values
Platform CLI
codex mcp add yandex-direct-mcp --env YANDEX_DIRECT_TOKEN=<YANDEX_DIRECT_TOKEN> --env YANDEX_DIRECT_CLIENT_LOGIN=<YANDEX_DIRECT_CLIENT_LOGIN> --env YANDEX_DIRECT_SANDBOX=<YANDEX_DIRECT_SANDBOX> -- npx -y @stufently/yandex-direct-mcpReplace <…> with your own values
Config file
{
"mcpServers": {
"yandex-direct-mcp": {
"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>"
}
}
}
}Replace <…> with your own values
Config file
{
"servers": {
"yandex-direct-mcp": {
"type": "stdio",
"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>"
}
}
}
}Replace <…> with your own values
Platform CLI
gemini mcp add -e YANDEX_DIRECT_TOKEN=<YANDEX_DIRECT_TOKEN> -e YANDEX_DIRECT_CLIENT_LOGIN=<YANDEX_DIRECT_CLIENT_LOGIN> -e YANDEX_DIRECT_SANDBOX=<YANDEX_DIRECT_SANDBOX> yandex-direct-mcp npx -y @stufently/yandex-direct-mcpReplace <…> with your own values
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Yandex Direct MCP
How to install Yandex Direct MCP in Claude Code?
Run claude mcp add yandex-direct-mcp -e YANDEX_DIRECT_TOKEN=<YANDEX_DIRECT_TOKEN> -- npx -y @stufently/yandex-direct-mcp in your terminal. You can pass agency logins or sandbox flags as additional environment variables.
What does Yandex Direct MCP do?
It exposes Yandex Direct API v5 endpoints as model tools. Through them, an assistant can inspect accounts, alter ad copy, set keyword bids, and fetch performance summaries.
How does the server prevent accidental balance spending?
Fourteen high-risk operations demand confirm: true inside tool parameters. If the model omits this flag, the server returns an error locally without touching live advertising data.