MCP для Авито с несколькими кабинетами
avito-mcp
MCP для API Авито с поддержкой до девяти кабинетов, честным списком того, что API не умеет менять, и деплоем на Railway
Высокий риск
Высокий уровень ставим, когда инструмент пишет во внешние системы, работает с деньгами, рабочими базами или секретами либо выполняет произвольные команды. CLI поставит его только после вашего согласия.
Почему такой уровень
- Может отправлять сообщения от вашего имени и менять цену объявлений
- Секрет доступа к серверу встроен в URL коннектора
Установка
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/irikrafikov-ai-avito-mcpОпределит агенты на машине, проверит риск и зафиксирует версию.
Другие способы установки
Собрано автоматически, проверьте перед установкой.
У записи высокий риск, поэтому установки в один клик нет. Посмотрите код и добавьте конфиг вручную.
Выполните в терминале
claude mcp add --transport http avito-mcp 'https://<значение DOMAIN>/mcp/<ваш MCP_SECRET>'Или добавьте в файл .mcp.json, в проекте
{
"mcpServers": {
"avito-mcp": {
"type": "http",
"url": "https://<значение DOMAIN>/mcp/<ваш MCP_SECRET>"
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Ключи и настройки
AVITO_CLIENT_IDсекрет, обязательная- Из кабинета разработчика Авито
AVITO_CLIENT_SECRETсекрет, обязательная- Там же
MCP_SECRETсекрет, обязательная- Длинная случайная строка, становится частью URL коннектора
AVITO_ACCOUNTнеобязательная- Короткий ключ кабинета, например cheki (по умолчанию main)
AVITO_ACCOUNT_LABELнеобязательная- Человеческое название кабинета, например Чекинские берега
AVITO_USER_IDнеобязательная- Если не задан, берётся из /core/v1/accounts/self
AVITO_REFRESH_TOKENсекрет, необязательная- Нужен, если мессенджер не работает на client_credentials
DOMAINобязательная- Публичный домен Railway или другой хостинг
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл ~/.cursor/mcp.json, для всех проектов
{
"mcpServers": {
"avito-mcp": {
"url": "https://<значение DOMAIN>/mcp/<ваш MCP_SECRET>"
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers. Для одного проекта тот же блок кладут в .cursor/mcp.json.
Ключи и настройки
AVITO_CLIENT_IDсекрет, обязательная- Из кабинета разработчика Авито
AVITO_CLIENT_SECRETсекрет, обязательная- Там же
MCP_SECRETсекрет, обязательная- Длинная случайная строка, становится частью URL коннектора
AVITO_ACCOUNTнеобязательная- Короткий ключ кабинета, например cheki (по умолчанию main)
AVITO_ACCOUNT_LABELнеобязательная- Человеческое название кабинета, например Чекинские берега
AVITO_USER_IDнеобязательная- Если не задан, берётся из /core/v1/accounts/self
AVITO_REFRESH_TOKENсекрет, необязательная- Нужен, если мессенджер не работает на client_credentials
DOMAINобязательная- Публичный домен Railway или другой хостинг
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Выполните в терминале
code --add-mcp '{"name":"avito-mcp","type":"http","url":"https://<значение DOMAIN>/mcp/<ваш MCP_SECRET>"}'Или добавьте в файл .vscode/mcp.json, в проекте
{
"servers": {
"avito-mcp": {
"type": "http",
"url": "https://<значение DOMAIN>/mcp/<ваш MCP_SECRET>"
}
}
}Если файл уже есть, добавьте сервер внутрь ключа servers.
Ключи и настройки
AVITO_CLIENT_IDсекрет, обязательная- Из кабинета разработчика Авито
AVITO_CLIENT_SECRETсекрет, обязательная- Там же
MCP_SECRETсекрет, обязательная- Длинная случайная строка, становится частью URL коннектора
AVITO_ACCOUNTнеобязательная- Короткий ключ кабинета, например cheki (по умолчанию main)
AVITO_ACCOUNT_LABELнеобязательная- Человеческое название кабинета, например Чекинские берега
AVITO_USER_IDнеобязательная- Если не задан, берётся из /core/v1/accounts/self
AVITO_REFRESH_TOKENсекрет, необязательная- Нужен, если мессенджер не работает на client_credentials
DOMAINобязательная- Публичный домен Railway или другой хостинг
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Выполните в терминале
codex mcp add avito-mcp --url 'https://<значение DOMAIN>/mcp/<ваш MCP_SECRET>'Или добавьте в файл ~/.codex/config.toml, для всех проектов
[mcp_servers.avito-mcp]
url = "https://<значение DOMAIN>/mcp/<ваш MCP_SECRET>"Если файл уже есть, допишите блок в конец.
Ключи и настройки
AVITO_CLIENT_IDсекрет, обязательная- Из кабинета разработчика Авито
AVITO_CLIENT_SECRETсекрет, обязательная- Там же
MCP_SECRETсекрет, обязательная- Длинная случайная строка, становится частью URL коннектора
AVITO_ACCOUNTнеобязательная- Короткий ключ кабинета, например cheki (по умолчанию main)
AVITO_ACCOUNT_LABELнеобязательная- Человеческое название кабинета, например Чекинские берега
AVITO_USER_IDнеобязательная- Если не задан, берётся из /core/v1/accounts/self
AVITO_REFRESH_TOKENсекрет, необязательная- Нужен, если мессенджер не работает на client_credentials
DOMAINобязательная- Публичный домен Railway или другой хостинг
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Выполните в терминале
gemini mcp add -s user -t http avito-mcp 'https://<значение DOMAIN>/mcp/<ваш MCP_SECRET>'Или добавьте в файл ~/.gemini/settings.json, для всех проектов
{
"mcpServers": {
"avito-mcp": {
"httpUrl": "https://<значение DOMAIN>/mcp/<ваш MCP_SECRET>"
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Ключи и настройки
AVITO_CLIENT_IDсекрет, обязательная- Из кабинета разработчика Авито
AVITO_CLIENT_SECRETсекрет, обязательная- Там же
MCP_SECRETсекрет, обязательная- Длинная случайная строка, становится частью URL коннектора
AVITO_ACCOUNTнеобязательная- Короткий ключ кабинета, например cheki (по умолчанию main)
AVITO_ACCOUNT_LABELнеобязательная- Человеческое название кабинета, например Чекинские берега
AVITO_USER_IDнеобязательная- Если не задан, берётся из /core/v1/accounts/self
AVITO_REFRESH_TOKENсекрет, необязательная- Нужен, если мессенджер не работает на client_credentials
DOMAINобязательная- Публичный домен Railway или другой хостинг
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл ~/.config/devin/mcp_config.json, для всех проектов
{
"mcpServers": {
"avito-mcp": {
"serverUrl": "https://<значение DOMAIN>/mcp/<ваш MCP_SECRET>"
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers. В легаси Cascade конфиг MCP лежит в ~/.codeium/windsurf/mcp_config.json.
Ключи и настройки
AVITO_CLIENT_IDсекрет, обязательная- Из кабинета разработчика Авито
AVITO_CLIENT_SECRETсекрет, обязательная- Там же
MCP_SECRETсекрет, обязательная- Длинная случайная строка, становится частью URL коннектора
AVITO_ACCOUNTнеобязательная- Короткий ключ кабинета, например cheki (по умолчанию main)
AVITO_ACCOUNT_LABELнеобязательная- Человеческое название кабинета, например Чекинские берега
AVITO_USER_IDнеобязательная- Если не задан, берётся из /core/v1/accounts/self
AVITO_REFRESH_TOKENсекрет, необязательная- Нужен, если мессенджер не работает на client_credentials
DOMAINобязательная- Публичный домен Railway или другой хостинг
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Бывший Windsurf.
Добавьте в файл cline_mcp_settings.json, для всех проектов
{
"mcpServers": {
"avito-mcp": {
"type": "streamableHttp",
"url": "https://<значение DOMAIN>/mcp/<ваш MCP_SECRET>"
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers. Файл настроек открывается в Cline: вкладка MCP Servers, кнопка Configure MCP Servers.
Ключи и настройки
AVITO_CLIENT_IDсекрет, обязательная- Из кабинета разработчика Авито
AVITO_CLIENT_SECRETсекрет, обязательная- Там же
MCP_SECRETсекрет, обязательная- Длинная случайная строка, становится частью URL коннектора
AVITO_ACCOUNTнеобязательная- Короткий ключ кабинета, например cheki (по умолчанию main)
AVITO_ACCOUNT_LABELнеобязательная- Человеческое название кабинета, например Чекинские берега
AVITO_USER_IDнеобязательная- Если не задан, берётся из /core/v1/accounts/self
AVITO_REFRESH_TOKENсекрет, необязательная- Нужен, если мессенджер не работает на client_credentials
DOMAINобязательная- Публичный домен Railway или другой хостинг
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл .roo/mcp.json, в проекте
{
"mcpServers": {
"avito-mcp": {
"type": "streamable-http",
"url": "https://<значение DOMAIN>/mcp/<ваш MCP_SECRET>"
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Ключи и настройки
AVITO_CLIENT_IDсекрет, обязательная- Из кабинета разработчика Авито
AVITO_CLIENT_SECRETсекрет, обязательная- Там же
MCP_SECRETсекрет, обязательная- Длинная случайная строка, становится частью URL коннектора
AVITO_ACCOUNTнеобязательная- Короткий ключ кабинета, например cheki (по умолчанию main)
AVITO_ACCOUNT_LABELнеобязательная- Человеческое название кабинета, например Чекинские берега
AVITO_USER_IDнеобязательная- Если не задан, берётся из /core/v1/accounts/self
AVITO_REFRESH_TOKENсекрет, необязательная- Нужен, если мессенджер не работает на client_credentials
DOMAINобязательная- Публичный домен Railway или другой хостинг
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Форк Roo Code, папки .roo те же.
Добавьте в файл opencode.json, в проекте
{
"mcp": {
"avito-mcp": {
"type": "remote",
"url": "https://<значение DOMAIN>/mcp/<ваш MCP_SECRET>"
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcp.
Ключи и настройки
AVITO_CLIENT_IDсекрет, обязательная- Из кабинета разработчика Авито
AVITO_CLIENT_SECRETсекрет, обязательная- Там же
MCP_SECRETсекрет, обязательная- Длинная случайная строка, становится частью URL коннектора
AVITO_ACCOUNTнеобязательная- Короткий ключ кабинета, например cheki (по умолчанию main)
AVITO_ACCOUNT_LABELнеобязательная- Человеческое название кабинета, например Чекинские берега
AVITO_USER_IDнеобязательная- Если не задан, берётся из /core/v1/accounts/self
AVITO_REFRESH_TOKENсекрет, необязательная- Нужен, если мессенджер не работает на client_credentials
DOMAINобязательная- Публичный домен Railway или другой хостинг
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл ~/.config/zed/settings.json, для всех проектов
{
"context_servers": {
"avito-mcp": {
"url": "https://<значение DOMAIN>/mcp/<ваш MCP_SECRET>"
}
}
}Если файл уже есть, добавьте сервер внутрь ключа context_servers.
Ключи и настройки
AVITO_CLIENT_IDсекрет, обязательная- Из кабинета разработчика Авито
AVITO_CLIENT_SECRETсекрет, обязательная- Там же
MCP_SECRETсекрет, обязательная- Длинная случайная строка, становится частью URL коннектора
AVITO_ACCOUNTнеобязательная- Короткий ключ кабинета, например cheki (по умолчанию main)
AVITO_ACCOUNT_LABELнеобязательная- Человеческое название кабинета, например Чекинские берега
AVITO_USER_IDнеобязательная- Если не задан, берётся из /core/v1/accounts/self
AVITO_REFRESH_TOKENсекрет, необязательная- Нужен, если мессенджер не работает на client_credentials
DOMAINобязательная- Публичный домен Railway или другой хостинг
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Поставь npm install, задай AVITO_CLIENT_ID, AVITO_CLIENT_SECRET и сгенерированный node -e "console.log(require('crypto').randomBytes(24).toString('hex'))" MCP_SECRET, запусти npm start или разверни на Railway с публичным доменом, затем добавь кастомный коннектор в Claude с URL вида https://<домен>/mcp/<MCP_SECRET>.
Другие способы из описания автора
npm install
AVITO_CLIENT_ID=... AVITO_CLIENT_SECRET=... MCP_SECRET=... npm startЛокальный запуск, проверка curl http://localhost:3000/ должна вернуть статус ok.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Сервер дает Claude доступ к объявлениям, статистике, переписке и автозагрузке Авито через официальный API. Поддерживает от одного до девяти кабинетов сразу: второй и следующие задаются переменными с суффиксом _2 и далее либо одной переменной AVITO_ACCOUNTS с JSON-массивом. Инструмент avito_accounts отдает список кабинетов, у остальных появляется параметр account. Инструменты чтения: whoami, баланс, список объявлений, карточка и статистика объявления, список чатов, сообщения чата, отчеты автозагрузки. Инструменты записи: отправка сообщения, обновление цены, отметка прочитанного. Запасной avito_request вызывает любой метод API напрямую. README отдельно поясняет, что через REST API нельзя менять заголовки, описания, фото и характеристики объявлений, только цену, остальное идет через XML или CSV фид автозагрузки. Сервер разворачивается на Railway и открывает MCP-эндпоинт по адресу с секретом в самом URL.
Для кого. Для продавцов с несколькими кабинетами Авито, которым нужен единый MCP-сервер с переключением между ними и честным описанием, что можно и что нельзя изменить через API.
Подходит, если
- Ведете несколько кабинетов Авито и хотите работать с ними из одного сервера
- Нужны отчеты автозагрузки и понимание, какие поля правятся только через фид
- Нужен деплой на Railway с публичным доменом, а не только локальный запуск
Не подходит, если
- Нужно менять заголовок, описание, фото или характеристики объявления через API: это не умеет ни Авито, ни сервер
- Не хотите хранить секрет прямо в URL коннектора при облачном деплое
Пример запроса к агенту
Покажи баланс и последние отчеты автозагрузки по кабинету dolinaОграничения
Через REST API Авито можно поменять только цену объявления, остальные поля правятся исключительно через Автозагрузку XML или CSV фидом. При облачном деплое на Railway секрет MCP_SECRET становится частью URL коннектора, значит URL нужно хранить так же аккуратно, как пароль. Нужны переменные AVITO_CLIENT_ID и AVITO_CLIENT_SECRET из кабинета разработчика Авито на каждый подключаемый кабинет.
Как отключить. Удалите кастомный коннектор с URL сервера в настройках Claude и остановите или удалите сервис на Railway.
MCP
- Транспорт
- http
- Авторизация
- API-ключ
| Переменные окружения | |
|---|---|
| AVITO_CLIENT_ID обязательная, секрет | client_id из кабинета разработчика Авито. |
| AVITO_CLIENT_SECRET обязательная, секрет | client_secret оттуда же. |
| MCP_SECRET обязательная, секрет | Случайная строка, становится частью URL коннектора. |
Проверка безопасности
- Может отправлять сообщения от вашего имени и менять цену объявлений
- Секрет доступа к серверу встроен в URL коннектора
Коротко о README
README дает таблицу переменных окружения с пометкой обязательности, объясняет схему нескольких кабинетов через суффиксы или единую переменную AVITO_ACCOUNTS, команду генерации MCP_SECRET, запуск локально и деплой на Railway с добавлением переменных и публичного домена, список инструментов по чтению и записи и отдельный раздел о том, чего API не умеет.
Частые вопросы
Можно ли изменить фото или описание объявления?
Нет, API Авито это не позволяет, единственное изменяемое через REST поле это цена, остальное только через фид автозагрузки.
Как работать с несколькими кабинетами?
Задать переменные с суффиксами _2, _3 и так далее либо одну переменную AVITO_ACCOUNTS с JSON-массивом, инструмент avito_accounts покажет список.
Похожие
Официальный MCP-сервер Salesforce DX: работа с org, метаданными, данными, пользователями и тестами Apex из агента
Официальный набор скиллов Яндекса: каталог, цены, остатки, заказы, витрина и еженедельная ревизия магазина на Яндекс.Кит через Claude Code или Codex
YouGile MCP от Indalo
YouGile MCP
Полное покрытие API YouGile из 65 операций с настраиваемыми правами, подтверждением записи и общим лимитом на компанию
Официальный MCP конкретного портала Битрикс24: внешний агент по OAuth или токену читает и меняет задачи, сделки, встречи и письма