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
High risk
We rate an entry high when the tool writes to external systems, handles money, production databases or secrets, or runs arbitrary commands. The CLI installs it only with your consent.
Why this level
- With writes enabled it changes campaigns, ad groups, ads and bids in a live account
- Finance tools top up balances and transfer money between accounts
- Stores the user's OAuth token locally
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/nikolaymokh-dev-yandex-direct-mcpDetects the agents on your machine, checks the risk and pins the version.
Other ways to install
Assembled automatically, review before installing.
This entry is high risk, so there is no one-click install. Review the code and add the config by hand.
Run in a terminal
claude mcp add --transport stdio yandex-direct -- uvx --from git+https://github.com/nikolaymokh-dev/yandex-direct-mcp@v0.1.0 yandex-direct-mcpOr add to the file .mcp.json, in the project
{
"mcpServers": {
"yandex-direct": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/nikolaymokh-dev/yandex-direct-mcp@v0.1.0",
"yandex-direct-mcp"
]
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
YANDEX_DIRECT_ENABLE_WRITESoptional- true → активирует профиль campaign-editor. По умолчанию не установлена (только чтение).
YANDEX_DIRECT_ENABLE_FINANCEoptional- true → включает финансовые инструменты. Работает только вместе с ENABLE_WRITES; на профиле analytics не даёт эффекта.
YANDEX_DIRECT_TOOL_PROFILEoptional- Явный выбор профиля: analytics | core | campaign-editor | full. Переопределяет логику ENABLE_WRITES.
YANDEX_DIRECT_ENABLED_GROUPSoptional- Allow-list групп (через запятую): campaigns, ads, read, mutate, analytics, …
YANDEX_DIRECT_DISABLED_GROUPSoptional- Убрать группы из активной поверхности (не расширяет до full — safe-by-default).
YANDEX_DIRECT_ENABLED_TOOLSoptional- Allow-list конкретных инструментов (через запятую).
YANDEX_DIRECT_DISABLED_TOOLSoptional- Убрать конкретные инструменты из активной поверхности.
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.cursor/mcp.json, for all projects
{
"mcpServers": {
"yandex-direct": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/nikolaymokh-dev/yandex-direct-mcp@v0.1.0",
"yandex-direct-mcp"
]
}
}
}If the file already exists, add the server inside the mcpServers key. For a single project, put the same block into .cursor/mcp.json.
Keys and settings
YANDEX_DIRECT_ENABLE_WRITESoptional- true → активирует профиль campaign-editor. По умолчанию не установлена (только чтение).
YANDEX_DIRECT_ENABLE_FINANCEoptional- true → включает финансовые инструменты. Работает только вместе с ENABLE_WRITES; на профиле analytics не даёт эффекта.
YANDEX_DIRECT_TOOL_PROFILEoptional- Явный выбор профиля: analytics | core | campaign-editor | full. Переопределяет логику ENABLE_WRITES.
YANDEX_DIRECT_ENABLED_GROUPSoptional- Allow-list групп (через запятую): campaigns, ads, read, mutate, analytics, …
YANDEX_DIRECT_DISABLED_GROUPSoptional- Убрать группы из активной поверхности (не расширяет до full — safe-by-default).
YANDEX_DIRECT_ENABLED_TOOLSoptional- Allow-list конкретных инструментов (через запятую).
YANDEX_DIRECT_DISABLED_TOOLSoptional- Убрать конкретные инструменты из активной поверхности.
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Run in a terminal
code --add-mcp '{"name":"yandex-direct","type":"stdio","command":"uvx","args":["--from","git+https://github.com/nikolaymokh-dev/yandex-direct-mcp@v0.1.0","yandex-direct-mcp"]}'Or add to the file .vscode/mcp.json, in the project
{
"servers": {
"yandex-direct": {
"type": "stdio",
"command": "uvx",
"args": [
"--from",
"git+https://github.com/nikolaymokh-dev/yandex-direct-mcp@v0.1.0",
"yandex-direct-mcp"
]
}
}
}If the file already exists, add the server inside the servers key.
Keys and settings
YANDEX_DIRECT_ENABLE_WRITESoptional- true → активирует профиль campaign-editor. По умолчанию не установлена (только чтение).
YANDEX_DIRECT_ENABLE_FINANCEoptional- true → включает финансовые инструменты. Работает только вместе с ENABLE_WRITES; на профиле analytics не даёт эффекта.
YANDEX_DIRECT_TOOL_PROFILEoptional- Явный выбор профиля: analytics | core | campaign-editor | full. Переопределяет логику ENABLE_WRITES.
YANDEX_DIRECT_ENABLED_GROUPSoptional- Allow-list групп (через запятую): campaigns, ads, read, mutate, analytics, …
YANDEX_DIRECT_DISABLED_GROUPSoptional- Убрать группы из активной поверхности (не расширяет до full — safe-by-default).
YANDEX_DIRECT_ENABLED_TOOLSoptional- Allow-list конкретных инструментов (через запятую).
YANDEX_DIRECT_DISABLED_TOOLSoptional- Убрать конкретные инструменты из активной поверхности.
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Run in a terminal
codex mcp add yandex-direct -- uvx --from git+https://github.com/nikolaymokh-dev/yandex-direct-mcp@v0.1.0 yandex-direct-mcpOr add to the file ~/.codex/config.toml, for all projects
[mcp_servers.yandex-direct]
command = "uvx"
args = ["--from", "git+https://github.com/nikolaymokh-dev/yandex-direct-mcp@v0.1.0", "yandex-direct-mcp"]If the file already exists, append the block to the end.
Keys and settings
YANDEX_DIRECT_ENABLE_WRITESoptional- true → активирует профиль campaign-editor. По умолчанию не установлена (только чтение).
YANDEX_DIRECT_ENABLE_FINANCEoptional- true → включает финансовые инструменты. Работает только вместе с ENABLE_WRITES; на профиле analytics не даёт эффекта.
YANDEX_DIRECT_TOOL_PROFILEoptional- Явный выбор профиля: analytics | core | campaign-editor | full. Переопределяет логику ENABLE_WRITES.
YANDEX_DIRECT_ENABLED_GROUPSoptional- Allow-list групп (через запятую): campaigns, ads, read, mutate, analytics, …
YANDEX_DIRECT_DISABLED_GROUPSoptional- Убрать группы из активной поверхности (не расширяет до full — safe-by-default).
YANDEX_DIRECT_ENABLED_TOOLSoptional- Allow-list конкретных инструментов (через запятую).
YANDEX_DIRECT_DISABLED_TOOLSoptional- Убрать конкретные инструменты из активной поверхности.
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.gemini/settings.json, for all projects
{
"mcpServers": {
"yandex-direct": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/nikolaymokh-dev/yandex-direct-mcp@v0.1.0",
"yandex-direct-mcp"
]
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
YANDEX_DIRECT_ENABLE_WRITESoptional- true → активирует профиль campaign-editor. По умолчанию не установлена (только чтение).
YANDEX_DIRECT_ENABLE_FINANCEoptional- true → включает финансовые инструменты. Работает только вместе с ENABLE_WRITES; на профиле analytics не даёт эффекта.
YANDEX_DIRECT_TOOL_PROFILEoptional- Явный выбор профиля: analytics | core | campaign-editor | full. Переопределяет логику ENABLE_WRITES.
YANDEX_DIRECT_ENABLED_GROUPSoptional- Allow-list групп (через запятую): campaigns, ads, read, mutate, analytics, …
YANDEX_DIRECT_DISABLED_GROUPSoptional- Убрать группы из активной поверхности (не расширяет до full — safe-by-default).
YANDEX_DIRECT_ENABLED_TOOLSoptional- Allow-list конкретных инструментов (через запятую).
YANDEX_DIRECT_DISABLED_TOOLSoptional- Убрать конкретные инструменты из активной поверхности.
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.config/devin/mcp_config.json, for all projects
{
"mcpServers": {
"yandex-direct": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/nikolaymokh-dev/yandex-direct-mcp@v0.1.0",
"yandex-direct-mcp"
]
}
}
}If the file already exists, add the server inside the mcpServers key. Legacy Cascade keeps the MCP config in ~/.codeium/windsurf/mcp_config.json.
Keys and settings
YANDEX_DIRECT_ENABLE_WRITESoptional- true → активирует профиль campaign-editor. По умолчанию не установлена (только чтение).
YANDEX_DIRECT_ENABLE_FINANCEoptional- true → включает финансовые инструменты. Работает только вместе с ENABLE_WRITES; на профиле analytics не даёт эффекта.
YANDEX_DIRECT_TOOL_PROFILEoptional- Явный выбор профиля: analytics | core | campaign-editor | full. Переопределяет логику ENABLE_WRITES.
YANDEX_DIRECT_ENABLED_GROUPSoptional- Allow-list групп (через запятую): campaigns, ads, read, mutate, analytics, …
YANDEX_DIRECT_DISABLED_GROUPSoptional- Убрать группы из активной поверхности (не расширяет до full — safe-by-default).
YANDEX_DIRECT_ENABLED_TOOLSoptional- Allow-list конкретных инструментов (через запятую).
YANDEX_DIRECT_DISABLED_TOOLSoptional- Убрать конкретные инструменты из активной поверхности.
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Formerly Windsurf.
Add to the file cline_mcp_settings.json, for all projects
{
"mcpServers": {
"yandex-direct": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/nikolaymokh-dev/yandex-direct-mcp@v0.1.0",
"yandex-direct-mcp"
]
}
}
}If the file already exists, add the server inside the mcpServers key. Open the settings file in Cline: MCP Servers tab, Configure MCP Servers.
Keys and settings
YANDEX_DIRECT_ENABLE_WRITESoptional- true → активирует профиль campaign-editor. По умолчанию не установлена (только чтение).
YANDEX_DIRECT_ENABLE_FINANCEoptional- true → включает финансовые инструменты. Работает только вместе с ENABLE_WRITES; на профиле analytics не даёт эффекта.
YANDEX_DIRECT_TOOL_PROFILEoptional- Явный выбор профиля: analytics | core | campaign-editor | full. Переопределяет логику ENABLE_WRITES.
YANDEX_DIRECT_ENABLED_GROUPSoptional- Allow-list групп (через запятую): campaigns, ads, read, mutate, analytics, …
YANDEX_DIRECT_DISABLED_GROUPSoptional- Убрать группы из активной поверхности (не расширяет до full — safe-by-default).
YANDEX_DIRECT_ENABLED_TOOLSoptional- Allow-list конкретных инструментов (через запятую).
YANDEX_DIRECT_DISABLED_TOOLSoptional- Убрать конкретные инструменты из активной поверхности.
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file .roo/mcp.json, in the project
{
"mcpServers": {
"yandex-direct": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/nikolaymokh-dev/yandex-direct-mcp@v0.1.0",
"yandex-direct-mcp"
]
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
YANDEX_DIRECT_ENABLE_WRITESoptional- true → активирует профиль campaign-editor. По умолчанию не установлена (только чтение).
YANDEX_DIRECT_ENABLE_FINANCEoptional- true → включает финансовые инструменты. Работает только вместе с ENABLE_WRITES; на профиле analytics не даёт эффекта.
YANDEX_DIRECT_TOOL_PROFILEoptional- Явный выбор профиля: analytics | core | campaign-editor | full. Переопределяет логику ENABLE_WRITES.
YANDEX_DIRECT_ENABLED_GROUPSoptional- Allow-list групп (через запятую): campaigns, ads, read, mutate, analytics, …
YANDEX_DIRECT_DISABLED_GROUPSoptional- Убрать группы из активной поверхности (не расширяет до full — safe-by-default).
YANDEX_DIRECT_ENABLED_TOOLSoptional- Allow-list конкретных инструментов (через запятую).
YANDEX_DIRECT_DISABLED_TOOLSoptional- Убрать конкретные инструменты из активной поверхности.
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
A fork of Roo Code, same .roo folders.
Add to the file opencode.json, in the project
{
"mcp": {
"yandex-direct": {
"type": "local",
"command": [
"uvx",
"--from",
"git+https://github.com/nikolaymokh-dev/yandex-direct-mcp@v0.1.0",
"yandex-direct-mcp"
]
}
}
}If the file already exists, add the server inside the mcp key.
Keys and settings
YANDEX_DIRECT_ENABLE_WRITESoptional- true → активирует профиль campaign-editor. По умолчанию не установлена (только чтение).
YANDEX_DIRECT_ENABLE_FINANCEoptional- true → включает финансовые инструменты. Работает только вместе с ENABLE_WRITES; на профиле analytics не даёт эффекта.
YANDEX_DIRECT_TOOL_PROFILEoptional- Явный выбор профиля: analytics | core | campaign-editor | full. Переопределяет логику ENABLE_WRITES.
YANDEX_DIRECT_ENABLED_GROUPSoptional- Allow-list групп (через запятую): campaigns, ads, read, mutate, analytics, …
YANDEX_DIRECT_DISABLED_GROUPSoptional- Убрать группы из активной поверхности (не расширяет до full — safe-by-default).
YANDEX_DIRECT_ENABLED_TOOLSoptional- Allow-list конкретных инструментов (через запятую).
YANDEX_DIRECT_DISABLED_TOOLSoptional- Убрать конкретные инструменты из активной поверхности.
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.config/zed/settings.json, for all projects
{
"context_servers": {
"yandex-direct": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/nikolaymokh-dev/yandex-direct-mcp@v0.1.0",
"yandex-direct-mcp"
]
}
}
}If the file already exists, add the server inside the context_servers key.
Keys and settings
YANDEX_DIRECT_ENABLE_WRITESoptional- true → активирует профиль campaign-editor. По умолчанию не установлена (только чтение).
YANDEX_DIRECT_ENABLE_FINANCEoptional- true → включает финансовые инструменты. Работает только вместе с ENABLE_WRITES; на профиле analytics не даёт эффекта.
YANDEX_DIRECT_TOOL_PROFILEoptional- Явный выбор профиля: analytics | core | campaign-editor | full. Переопределяет логику ENABLE_WRITES.
YANDEX_DIRECT_ENABLED_GROUPSoptional- Allow-list групп (через запятую): campaigns, ads, read, mutate, analytics, …
YANDEX_DIRECT_DISABLED_GROUPSoptional- Убрать группы из активной поверхности (не расширяет до full — safe-by-default).
YANDEX_DIRECT_ENABLED_TOOLSoptional- Allow-list конкретных инструментов (через запятую).
YANDEX_DIRECT_DISABLED_TOOLSoptional- Убрать конкретные инструменты из активной поверхности.
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file .codeassistant/mcp.json, in the project
{
"mcpServers": {
"yandex-direct": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/nikolaymokh-dev/yandex-direct-mcp@v0.1.0",
"yandex-direct-mcp"
]
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
YANDEX_DIRECT_ENABLE_WRITESoptional- true → активирует профиль campaign-editor. По умолчанию не установлена (только чтение).
YANDEX_DIRECT_ENABLE_FINANCEoptional- true → включает финансовые инструменты. Работает только вместе с ENABLE_WRITES; на профиле analytics не даёт эффекта.
YANDEX_DIRECT_TOOL_PROFILEoptional- Явный выбор профиля: analytics | core | campaign-editor | full. Переопределяет логику ENABLE_WRITES.
YANDEX_DIRECT_ENABLED_GROUPSoptional- Allow-list групп (через запятую): campaigns, ads, read, mutate, analytics, …
YANDEX_DIRECT_DISABLED_GROUPSoptional- Убрать группы из активной поверхности (не расширяет до full — safe-by-default).
YANDEX_DIRECT_ENABLED_TOOLSoptional- Allow-list конкретных инструментов (через запятую).
YANDEX_DIRECT_DISABLED_TOOLSoptional- Убрать конкретные инструменты из активной поверхности.
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Install with claude mcp add yandex-direct -- uvx --from git+https://github.com/nikolaymokh-dev/yandex-direct-mcp@v0.1.0 yandex-direct-mcp, call auth_login() and sign in in the browser. For campaign management add YANDEX_DIRECT_ENABLE_WRITES=true, and for finance tools separately add YANDEX_DIRECT_ENABLE_FINANCE=true.
Other ways from the author
claude mcp add yandex-direct -- uvx --from git+https://github.com/nikolaymokh-dev/yandex-direct-mcp@v0.1.0 yandex-direct-mcpInstalls the server in read-only mode. For writes add --env YANDEX_DIRECT_ENABLE_WRITES=true.
This is third-party code. Review the repository files before installing.
What it does
The server gives an agent access to the Yandex Direct API through 146 tools: reports, stats, budget forecasts, Wordstat and dictionaries in the default analytics profile, while campaigns, ad groups, ads and bids only unlock when writes are explicitly enabled. Auth runs through the direct-cli package with PKCE: each user logs in under their own Yandex account, and the token is stored locally with restricted file permissions. Finance tools such as balance top-ups and transfers require a separate flag on top of writes. The tool surface can be narrowed with allow and deny lists by group or by specific tool name.
Who it is for. For PPC specialists who want to start with safe read access and turn on writes deliberately.
Good fit when
- You want Direct access that is read-only by default, without risk of accidental changes
- You want to widen the agent's rights gradually: analytics first, then campaigns, then finance
- You use Claude Code and want a one-command uvx install
Not a fit when
- You need a package with stable, guaranteed interfaces rather than a fast-moving fork
- You do not have time to work through tool profiles and allow-lists
Example request
Show Direct campaign stats for the last 14 days without changing anythingLimitations
You need your own Yandex OAuth app with an approved Direct API application. The fork is unofficial, maintained by one author on top of axisrow/yandex-direct-mcp-plugin with a separate upstream sync process. Finance tools work with real money and require a deliberate flag on top of writes.
How to disable. Remove the server with claude mcp remove yandex-direct or delete the block from your MCP client config; Direct auth is stored separately in ~/.direct-cli/.
MCP
- Transport
- stdio
- Authentication
- OAuth
| Environment variables | |
|---|---|
| YANDEX_DIRECT_ENABLE_WRITES | true enables the campaign-editor profile with write access |
| YANDEX_DIRECT_ENABLE_FINANCE | true enables finance tools, only works together with ENABLE_WRITES |
| YANDEX_DIRECT_TOOL_PROFILE | Explicit profile choice: analytics, core, campaign-editor or full |
Security check
- With writes enabled it changes campaigns, ad groups, ads and bids in a live account
- Finance tools top up balances and transfer money between accounts
- Stores the user's OAuth token locally
README in short
The README describes the fork as a hardened version of axisrow/yandex-direct-mcp-plugin with analytics, campaign-editor and full profiles, an environment variable table for controlling the tool surface, a uvx install for Claude Code, PKCE auth steps, and a separate flag for finance operations. It links to docs on access setup, the threat model and upstream sync.
FAQ
Is it risky to install with no configuration?
No, only the analytics profile is active by default: reports and reads, no permission to change campaigns.
How is this different from the original axisrow/yandex-direct-mcp-plugin?
Same API coverage, but read-only by default, with separate flags for writes and finance and pinned dependency versions, detailed in the repo's FORK.md.
Related
A skill that strips AI writing tells from text using Wikipedia's list, without adding invented facts
Marketing Skills for AI agents
Marketing Skills for AI Agents
About fifty skills for CRO, copywriting, SEO, analytics, ads and launches, built for coding agents
SendPulse MCP server
SendPulse MCP
SendPulse's official remote MCP server: statistics, campaigns and user data through an agent chat
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