MCP Яндекс Директа как HTTP-коннектор Claude
ya-direct-mcp
MCP-сервер Яндекс Директа на Streamable HTTP, разворачивается на Railway и подключается к Claude как пользовательский коннектор по секретному URL
Высокий риск
Высокий уровень ставим, когда инструмент пишет во внешние системы, работает с деньгами, рабочими базами или секретами либо выполняет произвольные команды. CLI поставит его только после вашего согласия.
Почему такой уровень
- Утечка MCP_SECRET дает полный доступ к аккаунту, включая необратимое удаление кампаний
- Создает, приостанавливает и архивирует кампании, группы, объявления и ключевые фразы
Установка
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/ya-direct-mcpОпределит агенты на машине, проверит риск и зафиксирует версию.
Другие способы установки
Собрано автоматически, проверьте перед установкой.
У записи высокий риск, поэтому установки в один клик нет. Посмотрите код и добавьте конфиг вручную.
Выполните в терминале
claude mcp add --transport http ya-direct-mcp 'https://ВАШ-ДОМЕН.up.railway.app/mcp/<ваш MCP_SECRET>' --header 'Authorization: Bearer <ваш MCP_SECRET>'Или добавьте в файл .mcp.json, в проекте
{
"mcpServers": {
"ya-direct-mcp": {
"type": "http",
"url": "https://ВАШ-ДОМЕН.up.railway.app/mcp/<ваш MCP_SECRET>",
"headers": {
"Authorization": "Bearer <ваш MCP_SECRET>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Ключи и настройки
YD_TOKENсекрет, обязательная- OAuth-токен Яндекс.Директа
YD_LOGINобязательная- Логин рекламодателя по умолчанию
MCP_SECRETсекрет, обязательная- Собственный секрет сервера для защиты эндпоинта. Не токен Яндекса
PORTнеобязательная- Порт сервера, Railway подставляет автоматически
LOG_LEVELнеобязательная- `INFO` по умолчанию
YD_REPORT_TIMEOUTнеобязательная- Максимум ожидания отчёта, сек. По умолчанию 120
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл ~/.cursor/mcp.json, для всех проектов
{
"mcpServers": {
"ya-direct-mcp": {
"url": "https://ВАШ-ДОМЕН.up.railway.app/mcp/<ваш MCP_SECRET>",
"headers": {
"Authorization": "Bearer <ваш MCP_SECRET>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers. Для одного проекта тот же блок кладут в .cursor/mcp.json.
Ключи и настройки
YD_TOKENсекрет, обязательная- OAuth-токен Яндекс.Директа
YD_LOGINобязательная- Логин рекламодателя по умолчанию
MCP_SECRETсекрет, обязательная- Собственный секрет сервера для защиты эндпоинта. Не токен Яндекса
PORTнеобязательная- Порт сервера, Railway подставляет автоматически
LOG_LEVELнеобязательная- `INFO` по умолчанию
YD_REPORT_TIMEOUTнеобязательная- Максимум ожидания отчёта, сек. По умолчанию 120
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Выполните в терминале
code --add-mcp '{"name":"ya-direct-mcp","type":"http","url":"https://ВАШ-ДОМЕН.up.railway.app/mcp/<ваш MCP_SECRET>","headers":{"Authorization":"Bearer <ваш MCP_SECRET>"}}'Или добавьте в файл .vscode/mcp.json, в проекте
{
"servers": {
"ya-direct-mcp": {
"type": "http",
"url": "https://ВАШ-ДОМЕН.up.railway.app/mcp/<ваш MCP_SECRET>",
"headers": {
"Authorization": "Bearer <ваш MCP_SECRET>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа servers.
Ключи и настройки
YD_TOKENсекрет, обязательная- OAuth-токен Яндекс.Директа
YD_LOGINобязательная- Логин рекламодателя по умолчанию
MCP_SECRETсекрет, обязательная- Собственный секрет сервера для защиты эндпоинта. Не токен Яндекса
PORTнеобязательная- Порт сервера, Railway подставляет автоматически
LOG_LEVELнеобязательная- `INFO` по умолчанию
YD_REPORT_TIMEOUTнеобязательная- Максимум ожидания отчёта, сек. По умолчанию 120
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл ~/.codex/config.toml, для всех проектов
[mcp_servers.ya-direct-mcp]
url = "https://ВАШ-ДОМЕН.up.railway.app/mcp/<ваш MCP_SECRET>"
http_headers = { Authorization = "Bearer <ваш MCP_SECRET>" }Если файл уже есть, допишите блок в конец.
Ключи и настройки
YD_TOKENсекрет, обязательная- OAuth-токен Яндекс.Директа
YD_LOGINобязательная- Логин рекламодателя по умолчанию
MCP_SECRETсекрет, обязательная- Собственный секрет сервера для защиты эндпоинта. Не токен Яндекса
PORTнеобязательная- Порт сервера, Railway подставляет автоматически
LOG_LEVELнеобязательная- `INFO` по умолчанию
YD_REPORT_TIMEOUTнеобязательная- Максимум ожидания отчёта, сек. По умолчанию 120
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл ~/.gemini/settings.json, для всех проектов
{
"mcpServers": {
"ya-direct-mcp": {
"httpUrl": "https://ВАШ-ДОМЕН.up.railway.app/mcp/<ваш MCP_SECRET>",
"headers": {
"Authorization": "Bearer <ваш MCP_SECRET>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Ключи и настройки
YD_TOKENсекрет, обязательная- OAuth-токен Яндекс.Директа
YD_LOGINобязательная- Логин рекламодателя по умолчанию
MCP_SECRETсекрет, обязательная- Собственный секрет сервера для защиты эндпоинта. Не токен Яндекса
PORTнеобязательная- Порт сервера, Railway подставляет автоматически
LOG_LEVELнеобязательная- `INFO` по умолчанию
YD_REPORT_TIMEOUTнеобязательная- Максимум ожидания отчёта, сек. По умолчанию 120
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл ~/.config/devin/mcp_config.json, для всех проектов
{
"mcpServers": {
"ya-direct-mcp": {
"serverUrl": "https://ВАШ-ДОМЕН.up.railway.app/mcp/<ваш MCP_SECRET>",
"headers": {
"Authorization": "Bearer <ваш MCP_SECRET>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers. В легаси Cascade конфиг MCP лежит в ~/.codeium/windsurf/mcp_config.json.
Ключи и настройки
YD_TOKENсекрет, обязательная- OAuth-токен Яндекс.Директа
YD_LOGINобязательная- Логин рекламодателя по умолчанию
MCP_SECRETсекрет, обязательная- Собственный секрет сервера для защиты эндпоинта. Не токен Яндекса
PORTнеобязательная- Порт сервера, Railway подставляет автоматически
LOG_LEVELнеобязательная- `INFO` по умолчанию
YD_REPORT_TIMEOUTнеобязательная- Максимум ожидания отчёта, сек. По умолчанию 120
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Бывший Windsurf.
Добавьте в файл cline_mcp_settings.json, для всех проектов
{
"mcpServers": {
"ya-direct-mcp": {
"type": "streamableHttp",
"url": "https://ВАШ-ДОМЕН.up.railway.app/mcp/<ваш MCP_SECRET>",
"headers": {
"Authorization": "Bearer <ваш MCP_SECRET>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers. Файл настроек открывается в Cline: вкладка MCP Servers, кнопка Configure MCP Servers.
Ключи и настройки
YD_TOKENсекрет, обязательная- OAuth-токен Яндекс.Директа
YD_LOGINобязательная- Логин рекламодателя по умолчанию
MCP_SECRETсекрет, обязательная- Собственный секрет сервера для защиты эндпоинта. Не токен Яндекса
PORTнеобязательная- Порт сервера, Railway подставляет автоматически
LOG_LEVELнеобязательная- `INFO` по умолчанию
YD_REPORT_TIMEOUTнеобязательная- Максимум ожидания отчёта, сек. По умолчанию 120
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл .roo/mcp.json, в проекте
{
"mcpServers": {
"ya-direct-mcp": {
"type": "streamable-http",
"url": "https://ВАШ-ДОМЕН.up.railway.app/mcp/<ваш MCP_SECRET>",
"headers": {
"Authorization": "Bearer <ваш MCP_SECRET>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Ключи и настройки
YD_TOKENсекрет, обязательная- OAuth-токен Яндекс.Директа
YD_LOGINобязательная- Логин рекламодателя по умолчанию
MCP_SECRETсекрет, обязательная- Собственный секрет сервера для защиты эндпоинта. Не токен Яндекса
PORTнеобязательная- Порт сервера, Railway подставляет автоматически
LOG_LEVELнеобязательная- `INFO` по умолчанию
YD_REPORT_TIMEOUTнеобязательная- Максимум ожидания отчёта, сек. По умолчанию 120
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Форк Roo Code, папки .roo те же.
Добавьте в файл opencode.json, в проекте
{
"mcp": {
"ya-direct-mcp": {
"type": "remote",
"url": "https://ВАШ-ДОМЕН.up.railway.app/mcp/<ваш MCP_SECRET>",
"headers": {
"Authorization": "Bearer <ваш MCP_SECRET>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcp.
Ключи и настройки
YD_TOKENсекрет, обязательная- OAuth-токен Яндекс.Директа
YD_LOGINобязательная- Логин рекламодателя по умолчанию
MCP_SECRETсекрет, обязательная- Собственный секрет сервера для защиты эндпоинта. Не токен Яндекса
PORTнеобязательная- Порт сервера, Railway подставляет автоматически
LOG_LEVELнеобязательная- `INFO` по умолчанию
YD_REPORT_TIMEOUTнеобязательная- Максимум ожидания отчёта, сек. По умолчанию 120
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл ~/.config/zed/settings.json, для всех проектов
{
"context_servers": {
"ya-direct-mcp": {
"url": "https://ВАШ-ДОМЕН.up.railway.app/mcp/<ваш MCP_SECRET>",
"headers": {
"Authorization": "Bearer <ваш MCP_SECRET>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа context_servers.
Ключи и настройки
YD_TOKENсекрет, обязательная- OAuth-токен Яндекс.Директа
YD_LOGINобязательная- Логин рекламодателя по умолчанию
MCP_SECRETсекрет, обязательная- Собственный секрет сервера для защиты эндпоинта. Не токен Яндекса
PORTнеобязательная- Порт сервера, Railway подставляет автоматически
LOG_LEVELнеобязательная- `INFO` по умолчанию
YD_REPORT_TIMEOUTнеобязательная- Максимум ожидания отчёта, сек. По умолчанию 120
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Задеплой сервис на Railway из этого репозитория, добавь переменные YD_TOKEN, YD_LOGIN и сгенерированный MCP_SECRET, включи публичный домен, затем в Claude добавь кастомный коннектор по адресу https://ВАШ-ДОМЕН.up.railway.app/mcp/ВАШ_MCP_SECRET.
Проверка безопасности
Как мы проверяемВысокий рискВысокий уровень ставим, когда инструмент пишет во внешние системы, работает с деньгами, рабочими базами или секретами либо выполняет произвольные команды. CLI поставит его только после вашего согласия.
- Утечка MCP_SECRET дает полный доступ к аккаунту, включая необратимое удаление кампаний
- Создает, приостанавливает и архивирует кампании, группы, объявления и ключевые фразы
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
В отличие от большинства серверов Директа, работающих локально по stdio, этот развернут как облачный HTTP-эндпоинт и подключается в Claude через Settings, Connectors, Add custom connector, без локальной установки и без .mcp.json. Дает управление текстово-графическими кампаниями: список, карточка, создание, обновление, приостановка, возобновление, архивация и удаление кампаний, групп объявлений, объявлений и ключевых фраз, плюс отчет и баланс аккаунта. Все инструменты принимают необязательный client_login, что позволяет одним развернутым сервером обслуживать нескольких рекламодателей сразу. Авторизация клиента идет через собственный секрет MCP_SECRET, зашитый в путь URL или переданный заголовком, а OAuth-токен Директа живет только в окружении сервера на Railway и Claude его не видит.
Для кого. Для тех, кто хочет подключить Яндекс Директ к Claude как облачный коннектор без локальной установки и готов развернуть свой сервер на Railway.
Подходит, если
- Нужен MCP-сервер Директа, доступный из Claude без локального процесса на компьютере
- Нужно обслуживать несколько рекламодателей одним развернутым сервером через client_login
- Уже есть или не страшно завести аккаунт Railway для быстрого деплоя
Не подходит, если
- Не хочется открывать эндпоинт в интернет: единственная защита: секрет MCP_SECRET в пути или заголовке
- Нужна локальная установка по stdio без облачного хостинга
- Нужна защита от случайного удаления на все методы: предохранитель есть только у delete_campaign
Пример запроса к агенту
Покажи баланс аккаунта и приостанови кампании, у которых расход за неделю превысил 5000 рублей без конверсийMCP
- Транспорт
- http
- Авторизация
- API-ключ
Переменные окружения
YD_TOKENобязательная, секрет- OAuth-токен Яндекс Директа
YD_LOGINобязательная- Логин рекламодателя по умолчанию
MCP_SECRETобязательная, секрет- Собственный секрет сервера для защиты HTTP-эндпоинта, не токен Яндекса
Ограничения
Эндпоинт открыт в интернет, единственная защита: секрет MCP_SECRET, его утечка означает полный доступ к рекламному аккаунту, включая удаление кампаний. Предохранитель с подтверждением точного имени есть только у delete_campaign, у остальных delete_* его нет, и удаление необратимо. Поддерживаются только текстово-графические кампании TEXT_CAMPAIGN, деплой рассчитан на Railway.
Как отключить. Удалите коннектор yandex-direct в настройках Claude и остановите или удалите сервис на Railway.
Частые вопросы
Что делать, если секрет утек?
Сменить MCP_SECRET в переменных Railway, сервис перезапустится сам, затем пересоздать коннектор в Claude с новым URL.
Все ли удаляющие методы защищены от опечатки?
Нет, только delete_campaign требует точного совпадения имени кампании с confirm_name, остальные delete_* выполняются без такой проверки.
Похожие
MCP-серверыСкилл, который убирает из текста приметы ИИ-письма по списку Википедии и не добавляет выдуманных фактов
Marketing Skills: маркетинговые скиллы для агентов
Marketing Skills for AI Agents
Около пятидесяти скиллов по CRO, копирайтингу, SEO, аналитике, рекламе и запуску продукта для кодовых агентов
MCP-сервер SendPulse
SendPulse MCP
Официальный удаленный MCP-сервер SendPulse: статистика, рассылки и данные пользователей через чат с агентом
MCP Яндекс Директа из машиночитаемой схемы
yandex-direct-mcp
MCP-сервер и CLI на всех 113 методах API v5 Яндекс Директа, собранных из WSDL: по умолчанию только 9 читающих, запись включается явно
Коротко о README
README дает пошаговый деплой на Railway: New Project, переменные окружения, генерация публичного домена и проверка готовности через /health. Отдельно описано подключение как кастомного коннектора Claude по URL с секретом в пути или заголовке и раздел безопасности, честно называющий единственной защитой секрет MCP_SECRET и отмечающий, какой из delete-методов имеет предохранитель, а какие нет.