avito-mcp with multiple accounts
avito-mcp
An Avito API MCP with support for up to nine accounts, an honest list of what the API cannot change, and a Railway deployment
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
- Can send messages on your behalf and change listing prices
- The server access secret is embedded in the connector URL
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/irikrafikov-ai-avito-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 http avito-mcp 'https://<DOMAIN value>/mcp/<your MCP_SECRET>'Or add to the file .mcp.json, in the project
{
"mcpServers": {
"avito-mcp": {
"type": "http",
"url": "https://<DOMAIN value>/mcp/<your MCP_SECRET>"
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
AVITO_CLIENT_IDsecret, required- Из кабинета разработчика Авито
AVITO_CLIENT_SECRETsecret, required- Там же
MCP_SECRETsecret, required- Длинная случайная строка, становится частью URL коннектора
AVITO_ACCOUNToptional- Короткий ключ кабинета, например cheki (по умолчанию main)
AVITO_ACCOUNT_LABELoptional- Человеческое название кабинета, например Чекинские берега
AVITO_USER_IDoptional- Если не задан, берётся из /core/v1/accounts/self
AVITO_REFRESH_TOKENsecret, optional- Нужен, если мессенджер не работает на client_credentials
DOMAINrequired- Публичный домен Railway или другой хостинг
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": {
"avito-mcp": {
"url": "https://<DOMAIN value>/mcp/<your MCP_SECRET>"
}
}
}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
AVITO_CLIENT_IDsecret, required- Из кабинета разработчика Авито
AVITO_CLIENT_SECRETsecret, required- Там же
MCP_SECRETsecret, required- Длинная случайная строка, становится частью URL коннектора
AVITO_ACCOUNToptional- Короткий ключ кабинета, например cheki (по умолчанию main)
AVITO_ACCOUNT_LABELoptional- Человеческое название кабинета, например Чекинские берега
AVITO_USER_IDoptional- Если не задан, берётся из /core/v1/accounts/self
AVITO_REFRESH_TOKENsecret, optional- Нужен, если мессенджер не работает на client_credentials
DOMAINrequired- Публичный домен Railway или другой хостинг
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":"avito-mcp","type":"http","url":"https://<DOMAIN value>/mcp/<your MCP_SECRET>"}'Or add to the file .vscode/mcp.json, in the project
{
"servers": {
"avito-mcp": {
"type": "http",
"url": "https://<DOMAIN value>/mcp/<your MCP_SECRET>"
}
}
}If the file already exists, add the server inside the servers key.
Keys and settings
AVITO_CLIENT_IDsecret, required- Из кабинета разработчика Авито
AVITO_CLIENT_SECRETsecret, required- Там же
MCP_SECRETsecret, required- Длинная случайная строка, становится частью URL коннектора
AVITO_ACCOUNToptional- Короткий ключ кабинета, например cheki (по умолчанию main)
AVITO_ACCOUNT_LABELoptional- Человеческое название кабинета, например Чекинские берега
AVITO_USER_IDoptional- Если не задан, берётся из /core/v1/accounts/self
AVITO_REFRESH_TOKENsecret, optional- Нужен, если мессенджер не работает на client_credentials
DOMAINrequired- Публичный домен Railway или другой хостинг
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 avito-mcp --url 'https://<DOMAIN value>/mcp/<your MCP_SECRET>'Or add to the file ~/.codex/config.toml, for all projects
[mcp_servers.avito-mcp]
url = "https://<DOMAIN value>/mcp/<your MCP_SECRET>"If the file already exists, append the block to the end.
Keys and settings
AVITO_CLIENT_IDsecret, required- Из кабинета разработчика Авито
AVITO_CLIENT_SECRETsecret, required- Там же
MCP_SECRETsecret, required- Длинная случайная строка, становится частью URL коннектора
AVITO_ACCOUNToptional- Короткий ключ кабинета, например cheki (по умолчанию main)
AVITO_ACCOUNT_LABELoptional- Человеческое название кабинета, например Чекинские берега
AVITO_USER_IDoptional- Если не задан, берётся из /core/v1/accounts/self
AVITO_REFRESH_TOKENsecret, optional- Нужен, если мессенджер не работает на client_credentials
DOMAINrequired- Публичный домен Railway или другой хостинг
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
gemini mcp add -s user -t http avito-mcp 'https://<DOMAIN value>/mcp/<your MCP_SECRET>'Or add to the file ~/.gemini/settings.json, for all projects
{
"mcpServers": {
"avito-mcp": {
"httpUrl": "https://<DOMAIN value>/mcp/<your MCP_SECRET>"
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
AVITO_CLIENT_IDsecret, required- Из кабинета разработчика Авито
AVITO_CLIENT_SECRETsecret, required- Там же
MCP_SECRETsecret, required- Длинная случайная строка, становится частью URL коннектора
AVITO_ACCOUNToptional- Короткий ключ кабинета, например cheki (по умолчанию main)
AVITO_ACCOUNT_LABELoptional- Человеческое название кабинета, например Чекинские берега
AVITO_USER_IDoptional- Если не задан, берётся из /core/v1/accounts/self
AVITO_REFRESH_TOKENsecret, optional- Нужен, если мессенджер не работает на client_credentials
DOMAINrequired- Публичный домен Railway или другой хостинг
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": {
"avito-mcp": {
"serverUrl": "https://<DOMAIN value>/mcp/<your MCP_SECRET>"
}
}
}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
AVITO_CLIENT_IDsecret, required- Из кабинета разработчика Авито
AVITO_CLIENT_SECRETsecret, required- Там же
MCP_SECRETsecret, required- Длинная случайная строка, становится частью URL коннектора
AVITO_ACCOUNToptional- Короткий ключ кабинета, например cheki (по умолчанию main)
AVITO_ACCOUNT_LABELoptional- Человеческое название кабинета, например Чекинские берега
AVITO_USER_IDoptional- Если не задан, берётся из /core/v1/accounts/self
AVITO_REFRESH_TOKENsecret, optional- Нужен, если мессенджер не работает на client_credentials
DOMAINrequired- Публичный домен Railway или другой хостинг
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": {
"avito-mcp": {
"type": "streamableHttp",
"url": "https://<DOMAIN value>/mcp/<your MCP_SECRET>"
}
}
}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
AVITO_CLIENT_IDsecret, required- Из кабинета разработчика Авито
AVITO_CLIENT_SECRETsecret, required- Там же
MCP_SECRETsecret, required- Длинная случайная строка, становится частью URL коннектора
AVITO_ACCOUNToptional- Короткий ключ кабинета, например cheki (по умолчанию main)
AVITO_ACCOUNT_LABELoptional- Человеческое название кабинета, например Чекинские берега
AVITO_USER_IDoptional- Если не задан, берётся из /core/v1/accounts/self
AVITO_REFRESH_TOKENsecret, optional- Нужен, если мессенджер не работает на client_credentials
DOMAINrequired- Публичный домен Railway или другой хостинг
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": {
"avito-mcp": {
"type": "streamable-http",
"url": "https://<DOMAIN value>/mcp/<your MCP_SECRET>"
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
AVITO_CLIENT_IDsecret, required- Из кабинета разработчика Авито
AVITO_CLIENT_SECRETsecret, required- Там же
MCP_SECRETsecret, required- Длинная случайная строка, становится частью URL коннектора
AVITO_ACCOUNToptional- Короткий ключ кабинета, например cheki (по умолчанию main)
AVITO_ACCOUNT_LABELoptional- Человеческое название кабинета, например Чекинские берега
AVITO_USER_IDoptional- Если не задан, берётся из /core/v1/accounts/self
AVITO_REFRESH_TOKENsecret, optional- Нужен, если мессенджер не работает на client_credentials
DOMAINrequired- Публичный домен Railway или другой хостинг
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": {
"avito-mcp": {
"type": "remote",
"url": "https://<DOMAIN value>/mcp/<your MCP_SECRET>"
}
}
}If the file already exists, add the server inside the mcp key.
Keys and settings
AVITO_CLIENT_IDsecret, required- Из кабинета разработчика Авито
AVITO_CLIENT_SECRETsecret, required- Там же
MCP_SECRETsecret, required- Длинная случайная строка, становится частью URL коннектора
AVITO_ACCOUNToptional- Короткий ключ кабинета, например cheki (по умолчанию main)
AVITO_ACCOUNT_LABELoptional- Человеческое название кабинета, например Чекинские берега
AVITO_USER_IDoptional- Если не задан, берётся из /core/v1/accounts/self
AVITO_REFRESH_TOKENsecret, optional- Нужен, если мессенджер не работает на client_credentials
DOMAINrequired- Публичный домен Railway или другой хостинг
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": {
"avito-mcp": {
"url": "https://<DOMAIN value>/mcp/<your MCP_SECRET>"
}
}
}If the file already exists, add the server inside the context_servers key.
Keys and settings
AVITO_CLIENT_IDsecret, required- Из кабинета разработчика Авито
AVITO_CLIENT_SECRETsecret, required- Там же
MCP_SECRETsecret, required- Длинная случайная строка, становится частью URL коннектора
AVITO_ACCOUNToptional- Короткий ключ кабинета, например cheki (по умолчанию main)
AVITO_ACCOUNT_LABELoptional- Человеческое название кабинета, например Чекинские берега
AVITO_USER_IDoptional- Если не задан, берётся из /core/v1/accounts/self
AVITO_REFRESH_TOKENsecret, optional- Нужен, если мессенджер не работает на client_credentials
DOMAINrequired- Публичный домен Railway или другой хостинг
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Run npm install, set AVITO_CLIENT_ID, AVITO_CLIENT_SECRET and a generated node -e "console.log(require('crypto').randomBytes(24).toString('hex'))" MCP_SECRET, run npm start or deploy to Railway with a public domain, then add a custom connector in Claude with a URL like https://<domain>/mcp/<MCP_SECRET>.
Other ways from the author
npm install
AVITO_CLIENT_ID=... AVITO_CLIENT_SECRET=... MCP_SECRET=... npm startA local run; checking with curl http://localhost:3000/ should return an ok status.
This is third-party code. Review the repository files before installing.
What it does
The server gives Claude access to Avito listings, statistics, messaging and autoload data through the official API. It supports from one to nine accounts at once: the second and later ones are set with _2 and higher suffixed variables, or a single AVITO_ACCOUNTS variable with a JSON array. The avito_accounts tool lists connected accounts, and the rest gain an account parameter. Read tools: whoami, balance, listing list, listing card and statistics, chat list, chat messages, autoload reports. Write tools: sending a message, updating price, marking as read. A fallback avito_request calls any API method directly. The README separately clarifies that the REST API cannot change a listing's title, description, photos or attributes, only its price, with everything else going through an XML or CSV autoload feed. The server deploys to Railway and exposes an MCP endpoint at an address with the secret embedded in the URL itself.
Who it is for. For sellers with several Avito accounts who need a single MCP server with switching between them and an honest description of what the API can and cannot change.
Good fit when
- You run several Avito accounts and want to work with them from one server
- You need autoload reports and clarity on which fields can only be edited via a feed
- You need a Railway deployment with a public domain, not just a local run
Not a fit when
- You need to change a listing's title, description, photos or attributes through the API: neither Avito nor the server can do this
- You do not want a secret embedded directly in the connector URL for a cloud deployment
Example request
Show the balance and latest autoload reports for the dolina accountLimitations
Through Avito's REST API only the listing price can be changed; every other field must go through an XML or CSV autoload feed. With a Railway cloud deployment, the MCP_SECRET becomes part of the connector URL, so that URL must be kept as carefully as a password. It needs AVITO_CLIENT_ID and AVITO_CLIENT_SECRET from the Avito developer account for each connected account.
How to disable. Remove the custom connector with the server URL in Claude's settings and stop or delete the Railway service.
MCP
- Transport
- http
- Authentication
- API key
| Environment variables | |
|---|---|
| AVITO_CLIENT_ID required, secret | The client_id from the Avito developer account. |
| AVITO_CLIENT_SECRET required, secret | The client_secret from the same place. |
| MCP_SECRET required, secret | A random string that becomes part of the connector URL. |
Security check
- Can send messages on your behalf and change listing prices
- The server access secret is embedded in the connector URL
README in short
The README gives a table of environment variables marked as required or optional, explains the multi-account scheme via suffixes or a single AVITO_ACCOUNTS variable, an MCP_SECRET generation command, a local run and a Railway deployment with variables and a public domain, a list of read and write tools, and a separate section on what the API cannot do.
FAQ
Can I change a listing's photo or description?
No, Avito's API does not allow it; the only field editable via REST is price, everything else goes through the autoload feed.
How do I work with multiple accounts?
Set variables with _2, _3 and so on suffixes, or one AVITO_ACCOUNTS variable with a JSON array; the avito_accounts tool shows the list.
Related
Salesforce's official DX MCP server: work with orgs, metadata, data, users and Apex tests from your agent
Yandex Kit skills for store management
kit-skills
Yandex's official skill set: catalog, prices, stock, orders, storefront and a weekly checkup for a Yandex Kit store, through Claude Code or Codex
YouGile MCP by Indalo
YouGile MCP
Full 65-operation YouGile API coverage with configurable permissions, write confirmation and a shared company rate limit
Bitrix24 portal MCP server
MCP-сервер портала Битрикс24
Bitrix24's official per-portal MCP: an external agent uses OAuth or a token to read and change tasks, deals, meetings and mail