amo-crm-mcp: модульный сервер для AmoCRM
amo-crm-mcp
MCP-сервер на TypeScript с отдельным модулем на каждую сущность AmoCRM: задачи, воронки, лиды, пользователи, примечания, события
Средний риск
Средний уровень ставим, когда инструмент запускает код, ходит в сеть или читает файлы проекта. Перед установкой посмотрите, что именно он делает.
Почему такой уровень
- Модули лидов и примечаний могут изменять данные в AmoCRM
- Интеграционный ключ хранится в .env на вашей стороне
Установка
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/amo-crm-mcpОпределит агенты на машине, проверит риск и зафиксирует версию.
Другие способы установки
Собрано автоматически, проверьте перед установкой.
Выполните в терминале
claude mcp add --transport stdio --env 'AMO_BASE_URL=<значение AMO_BASE_URL>' --env 'AMO_INTEGRATION_ID=<ваш AMO_INTEGRATION_ID>' --env 'AMO_INTEGRATION_SECRET=<ваш AMO_INTEGRATION_SECRET>' --env 'AMO_INTEGRATION_KEY=<ваш AMO_INTEGRATION_KEY>' amo-crm-mcp -- nodeИли добавьте в файл .mcp.json, в проекте
{
"mcpServers": {
"amo-crm-mcp": {
"command": "node",
"args": [],
"env": {
"AMO_BASE_URL": "<значение AMO_BASE_URL>",
"AMO_INTEGRATION_ID": "<ваш AMO_INTEGRATION_ID>",
"AMO_INTEGRATION_SECRET": "<ваш AMO_INTEGRATION_SECRET>",
"AMO_INTEGRATION_KEY": "<ваш AMO_INTEGRATION_KEY>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Ключи и настройки
AMO_BASE_URLобязательная- https://<subdomain>.amocrm.ru/api/v4/
AMO_INTEGRATION_IDсекрет, обязательная- Данные интеграции
AMO_INTEGRATION_SECRETсекрет, обязательная- Данные интеграции
AMO_INTEGRATION_KEYсекрет, обязательная- Данные интеграции
AMO_MAX_CONCURRENCYнеобязательная- лимит параллельных запросов (по умолчанию 5)
LOG_LEVELнеобязательная- уровень логирования (debug|info|warn|error)
LOG_FILE_PATHнеобязательная- путь до файла логов (по умолчанию mcp.log в рабочей директории)
APP_TIMEZONEнеобязательная- IANA-таймзона для отображения дат (по умолчанию Europe/Moscow)
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Кнопка откроет агент и предложит добавить сервер. Если ничего не произошло, скопируйте конфиг ниже.
Добавьте в файл ~/.cursor/mcp.json, для всех проектов
{
"mcpServers": {
"amo-crm-mcp": {
"command": "node",
"args": [],
"env": {
"AMO_BASE_URL": "<значение AMO_BASE_URL>",
"AMO_INTEGRATION_ID": "<ваш AMO_INTEGRATION_ID>",
"AMO_INTEGRATION_SECRET": "<ваш AMO_INTEGRATION_SECRET>",
"AMO_INTEGRATION_KEY": "<ваш AMO_INTEGRATION_KEY>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers. Для одного проекта тот же блок кладут в .cursor/mcp.json.
Ключи и настройки
AMO_BASE_URLобязательная- https://<subdomain>.amocrm.ru/api/v4/
AMO_INTEGRATION_IDсекрет, обязательная- Данные интеграции
AMO_INTEGRATION_SECRETсекрет, обязательная- Данные интеграции
AMO_INTEGRATION_KEYсекрет, обязательная- Данные интеграции
AMO_MAX_CONCURRENCYнеобязательная- лимит параллельных запросов (по умолчанию 5)
LOG_LEVELнеобязательная- уровень логирования (debug|info|warn|error)
LOG_FILE_PATHнеобязательная- путь до файла логов (по умолчанию mcp.log в рабочей директории)
APP_TIMEZONEнеобязательная- IANA-таймзона для отображения дат (по умолчанию Europe/Moscow)
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Кнопка откроет агент и предложит добавить сервер. Если ничего не произошло, скопируйте конфиг ниже.
Выполните в терминале
code --add-mcp '{"name":"amo-crm-mcp","type":"stdio","command":"node","args":[],"env":{"AMO_BASE_URL":"<значение AMO_BASE_URL>","AMO_INTEGRATION_ID":"<ваш AMO_INTEGRATION_ID>","AMO_INTEGRATION_SECRET":"<ваш AMO_INTEGRATION_SECRET>","AMO_INTEGRATION_KEY":"<ваш AMO_INTEGRATION_KEY>"}}'Или добавьте в файл .vscode/mcp.json, в проекте
{
"servers": {
"amo-crm-mcp": {
"type": "stdio",
"command": "node",
"args": [],
"env": {
"AMO_BASE_URL": "<значение AMO_BASE_URL>",
"AMO_INTEGRATION_ID": "<ваш AMO_INTEGRATION_ID>",
"AMO_INTEGRATION_SECRET": "<ваш AMO_INTEGRATION_SECRET>",
"AMO_INTEGRATION_KEY": "<ваш AMO_INTEGRATION_KEY>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа servers.
Ключи и настройки
AMO_BASE_URLобязательная- https://<subdomain>.amocrm.ru/api/v4/
AMO_INTEGRATION_IDсекрет, обязательная- Данные интеграции
AMO_INTEGRATION_SECRETсекрет, обязательная- Данные интеграции
AMO_INTEGRATION_KEYсекрет, обязательная- Данные интеграции
AMO_MAX_CONCURRENCYнеобязательная- лимит параллельных запросов (по умолчанию 5)
LOG_LEVELнеобязательная- уровень логирования (debug|info|warn|error)
LOG_FILE_PATHнеобязательная- путь до файла логов (по умолчанию mcp.log в рабочей директории)
APP_TIMEZONEнеобязательная- IANA-таймзона для отображения дат (по умолчанию Europe/Moscow)
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Выполните в терминале
codex mcp add amo-crm-mcp --env 'AMO_BASE_URL=<значение AMO_BASE_URL>' --env 'AMO_INTEGRATION_ID=<ваш AMO_INTEGRATION_ID>' --env 'AMO_INTEGRATION_SECRET=<ваш AMO_INTEGRATION_SECRET>' --env 'AMO_INTEGRATION_KEY=<ваш AMO_INTEGRATION_KEY>' -- nodeИли добавьте в файл ~/.codex/config.toml, для всех проектов
[mcp_servers.amo-crm-mcp]
command = "node"
args = []
env = { AMO_BASE_URL = "<значение AMO_BASE_URL>", AMO_INTEGRATION_ID = "<ваш AMO_INTEGRATION_ID>", AMO_INTEGRATION_SECRET = "<ваш AMO_INTEGRATION_SECRET>", AMO_INTEGRATION_KEY = "<ваш AMO_INTEGRATION_KEY>" }Если файл уже есть, допишите блок в конец.
Ключи и настройки
AMO_BASE_URLобязательная- https://<subdomain>.amocrm.ru/api/v4/
AMO_INTEGRATION_IDсекрет, обязательная- Данные интеграции
AMO_INTEGRATION_SECRETсекрет, обязательная- Данные интеграции
AMO_INTEGRATION_KEYсекрет, обязательная- Данные интеграции
AMO_MAX_CONCURRENCYнеобязательная- лимит параллельных запросов (по умолчанию 5)
LOG_LEVELнеобязательная- уровень логирования (debug|info|warn|error)
LOG_FILE_PATHнеобязательная- путь до файла логов (по умолчанию mcp.log в рабочей директории)
APP_TIMEZONEнеобязательная- IANA-таймзона для отображения дат (по умолчанию Europe/Moscow)
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Выполните в терминале
gemini mcp add -s user -e 'AMO_BASE_URL=<значение AMO_BASE_URL>' -e 'AMO_INTEGRATION_ID=<ваш AMO_INTEGRATION_ID>' -e 'AMO_INTEGRATION_SECRET=<ваш AMO_INTEGRATION_SECRET>' -e 'AMO_INTEGRATION_KEY=<ваш AMO_INTEGRATION_KEY>' amo-crm-mcp nodeИли добавьте в файл ~/.gemini/settings.json, для всех проектов
{
"mcpServers": {
"amo-crm-mcp": {
"command": "node",
"args": [],
"env": {
"AMO_BASE_URL": "<значение AMO_BASE_URL>",
"AMO_INTEGRATION_ID": "<ваш AMO_INTEGRATION_ID>",
"AMO_INTEGRATION_SECRET": "<ваш AMO_INTEGRATION_SECRET>",
"AMO_INTEGRATION_KEY": "<ваш AMO_INTEGRATION_KEY>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Ключи и настройки
AMO_BASE_URLобязательная- https://<subdomain>.amocrm.ru/api/v4/
AMO_INTEGRATION_IDсекрет, обязательная- Данные интеграции
AMO_INTEGRATION_SECRETсекрет, обязательная- Данные интеграции
AMO_INTEGRATION_KEYсекрет, обязательная- Данные интеграции
AMO_MAX_CONCURRENCYнеобязательная- лимит параллельных запросов (по умолчанию 5)
LOG_LEVELнеобязательная- уровень логирования (debug|info|warn|error)
LOG_FILE_PATHнеобязательная- путь до файла логов (по умолчанию mcp.log в рабочей директории)
APP_TIMEZONEнеобязательная- IANA-таймзона для отображения дат (по умолчанию Europe/Moscow)
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл ~/.config/devin/mcp_config.json, для всех проектов
{
"mcpServers": {
"amo-crm-mcp": {
"command": "node",
"args": [],
"env": {
"AMO_BASE_URL": "<значение AMO_BASE_URL>",
"AMO_INTEGRATION_ID": "<ваш AMO_INTEGRATION_ID>",
"AMO_INTEGRATION_SECRET": "<ваш AMO_INTEGRATION_SECRET>",
"AMO_INTEGRATION_KEY": "<ваш AMO_INTEGRATION_KEY>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers. В легаси Cascade конфиг MCP лежит в ~/.codeium/windsurf/mcp_config.json.
Ключи и настройки
AMO_BASE_URLобязательная- https://<subdomain>.amocrm.ru/api/v4/
AMO_INTEGRATION_IDсекрет, обязательная- Данные интеграции
AMO_INTEGRATION_SECRETсекрет, обязательная- Данные интеграции
AMO_INTEGRATION_KEYсекрет, обязательная- Данные интеграции
AMO_MAX_CONCURRENCYнеобязательная- лимит параллельных запросов (по умолчанию 5)
LOG_LEVELнеобязательная- уровень логирования (debug|info|warn|error)
LOG_FILE_PATHнеобязательная- путь до файла логов (по умолчанию mcp.log в рабочей директории)
APP_TIMEZONEнеобязательная- IANA-таймзона для отображения дат (по умолчанию Europe/Moscow)
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Бывший Windsurf.
Добавьте в файл cline_mcp_settings.json, для всех проектов
{
"mcpServers": {
"amo-crm-mcp": {
"command": "node",
"args": [],
"env": {
"AMO_BASE_URL": "<значение AMO_BASE_URL>",
"AMO_INTEGRATION_ID": "<ваш AMO_INTEGRATION_ID>",
"AMO_INTEGRATION_SECRET": "<ваш AMO_INTEGRATION_SECRET>",
"AMO_INTEGRATION_KEY": "<ваш AMO_INTEGRATION_KEY>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers. Файл настроек открывается в Cline: вкладка MCP Servers, кнопка Configure MCP Servers.
Ключи и настройки
AMO_BASE_URLобязательная- https://<subdomain>.amocrm.ru/api/v4/
AMO_INTEGRATION_IDсекрет, обязательная- Данные интеграции
AMO_INTEGRATION_SECRETсекрет, обязательная- Данные интеграции
AMO_INTEGRATION_KEYсекрет, обязательная- Данные интеграции
AMO_MAX_CONCURRENCYнеобязательная- лимит параллельных запросов (по умолчанию 5)
LOG_LEVELнеобязательная- уровень логирования (debug|info|warn|error)
LOG_FILE_PATHнеобязательная- путь до файла логов (по умолчанию mcp.log в рабочей директории)
APP_TIMEZONEнеобязательная- IANA-таймзона для отображения дат (по умолчанию Europe/Moscow)
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл .roo/mcp.json, в проекте
{
"mcpServers": {
"amo-crm-mcp": {
"command": "node",
"args": [],
"env": {
"AMO_BASE_URL": "<значение AMO_BASE_URL>",
"AMO_INTEGRATION_ID": "<ваш AMO_INTEGRATION_ID>",
"AMO_INTEGRATION_SECRET": "<ваш AMO_INTEGRATION_SECRET>",
"AMO_INTEGRATION_KEY": "<ваш AMO_INTEGRATION_KEY>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Ключи и настройки
AMO_BASE_URLобязательная- https://<subdomain>.amocrm.ru/api/v4/
AMO_INTEGRATION_IDсекрет, обязательная- Данные интеграции
AMO_INTEGRATION_SECRETсекрет, обязательная- Данные интеграции
AMO_INTEGRATION_KEYсекрет, обязательная- Данные интеграции
AMO_MAX_CONCURRENCYнеобязательная- лимит параллельных запросов (по умолчанию 5)
LOG_LEVELнеобязательная- уровень логирования (debug|info|warn|error)
LOG_FILE_PATHнеобязательная- путь до файла логов (по умолчанию mcp.log в рабочей директории)
APP_TIMEZONEнеобязательная- IANA-таймзона для отображения дат (по умолчанию Europe/Moscow)
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Форк Roo Code, папки .roo те же.
Добавьте в файл opencode.json, в проекте
{
"mcp": {
"amo-crm-mcp": {
"type": "local",
"command": [
"node"
],
"environment": {
"AMO_BASE_URL": "<значение AMO_BASE_URL>",
"AMO_INTEGRATION_ID": "<ваш AMO_INTEGRATION_ID>",
"AMO_INTEGRATION_SECRET": "<ваш AMO_INTEGRATION_SECRET>",
"AMO_INTEGRATION_KEY": "<ваш AMO_INTEGRATION_KEY>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcp.
Ключи и настройки
AMO_BASE_URLобязательная- https://<subdomain>.amocrm.ru/api/v4/
AMO_INTEGRATION_IDсекрет, обязательная- Данные интеграции
AMO_INTEGRATION_SECRETсекрет, обязательная- Данные интеграции
AMO_INTEGRATION_KEYсекрет, обязательная- Данные интеграции
AMO_MAX_CONCURRENCYнеобязательная- лимит параллельных запросов (по умолчанию 5)
LOG_LEVELнеобязательная- уровень логирования (debug|info|warn|error)
LOG_FILE_PATHнеобязательная- путь до файла логов (по умолчанию mcp.log в рабочей директории)
APP_TIMEZONEнеобязательная- IANA-таймзона для отображения дат (по умолчанию Europe/Moscow)
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл ~/.config/zed/settings.json, для всех проектов
{
"context_servers": {
"amo-crm-mcp": {
"command": "node",
"args": [],
"env": {
"AMO_BASE_URL": "<значение AMO_BASE_URL>",
"AMO_INTEGRATION_ID": "<ваш AMO_INTEGRATION_ID>",
"AMO_INTEGRATION_SECRET": "<ваш AMO_INTEGRATION_SECRET>",
"AMO_INTEGRATION_KEY": "<ваш AMO_INTEGRATION_KEY>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа context_servers.
Ключи и настройки
AMO_BASE_URLобязательная- https://<subdomain>.amocrm.ru/api/v4/
AMO_INTEGRATION_IDсекрет, обязательная- Данные интеграции
AMO_INTEGRATION_SECRETсекрет, обязательная- Данные интеграции
AMO_INTEGRATION_KEYсекрет, обязательная- Данные интеграции
AMO_MAX_CONCURRENCYнеобязательная- лимит параллельных запросов (по умолчанию 5)
LOG_LEVELнеобязательная- уровень логирования (debug|info|warn|error)
LOG_FILE_PATHнеобязательная- путь до файла логов (по умолчанию mcp.log в рабочей директории)
APP_TIMEZONEнеобязательная- IANA-таймзона для отображения дат (по умолчанию Europe/Moscow)
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл .codeassistant/mcp.json, в проекте
{
"mcpServers": {
"amo-crm-mcp": {
"command": "node",
"args": [],
"env": {
"AMO_BASE_URL": "<значение AMO_BASE_URL>",
"AMO_INTEGRATION_ID": "<ваш AMO_INTEGRATION_ID>",
"AMO_INTEGRATION_SECRET": "<ваш AMO_INTEGRATION_SECRET>",
"AMO_INTEGRATION_KEY": "<ваш AMO_INTEGRATION_KEY>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Ключи и настройки
AMO_BASE_URLобязательная- https://<subdomain>.amocrm.ru/api/v4/
AMO_INTEGRATION_IDсекрет, обязательная- Данные интеграции
AMO_INTEGRATION_SECRETсекрет, обязательная- Данные интеграции
AMO_INTEGRATION_KEYсекрет, обязательная- Данные интеграции
AMO_MAX_CONCURRENCYнеобязательная- лимит параллельных запросов (по умолчанию 5)
LOG_LEVELнеобязательная- уровень логирования (debug|info|warn|error)
LOG_FILE_PATHнеобязательная- путь до файла логов (по умолчанию mcp.log в рабочей директории)
APP_TIMEZONEнеобязательная- IANA-таймзона для отображения дат (по умолчанию Europe/Moscow)
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Склонируй репозиторий, поставь npm install, заполни .env по образцу .env.example значениями AMO_BASE_URL, AMO_INTEGRATION_ID, AMO_INTEGRATION_SECRET и AMO_INTEGRATION_KEY, собери npm run build и подключи dist/index.js как MCP-сервер по stdio.
Другие способы из описания автора
npm install
npm run build
npm startСборка и запуск скомпилированного dist/index.js после заполнения .env.
Проверка безопасности
Как мы проверяемСредний рискСредний уровень ставим, когда инструмент запускает код, ходит в сеть или читает файлы проекта. Перед установкой посмотрите, что именно он делает.
- Модули лидов и примечаний могут изменять данные в AmoCRM
- Интеграционный ключ хранится в .env на вашей стороне
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Сервер построен на модульной архитектуре: базовый слой BaseServerContext, BaseModule и BaseController переиспользуется, а поверх него подключены модули amo-tasks, amo-pipelines, amo-leads, amo-users, amo-notes и amo-events, каждый со своим контроллером, сервисом и схемами. Модуль health отдает инструмент server-health с uptime, памятью и метаданными сервера. Логирование пишется в файл, чтобы не засорять stdout, обязательный для stdio-протокола. Конфигурация читается из .env через zod-валидацию, при некорректных значениях сервер не стартует. README документирует только базовые инструменты server-health и get_active_tasks, но в коде зарегистрированы и модули по воронкам, лидам, пользователям, примечаниям и событиям.
Для кого. Для разработчиков, которым интересна чистая модульная база для своего MCP-сервера AmoCRM и готовность расширять ее собственными модулями.
Подходит, если
- Нужна модульная архитектура MCP-сервера, которую легко расширить своим доменом
- Нужны задачи, воронки, лиды, пользователи, примечания и события AmoCRM в одном сервере
- Важна строгая валидация конфигурации через zod при старте
Не подходит, если
- Нужна точная документация каждого инструмента: README отстает от кода и описывает не все модули
- Нужен готовый npm-пакет: сервер собирается и запускается из исходников
Пример запроса к агенту
Покажи активные задачи в AmoCRM и статус самого MCP-сервераMCP
- Транспорт
- stdio
- Авторизация
- API-ключ
Переменные окружения
AMO_BASE_URLобязательная- Базовый URL API вида https://<subdomain>.amocrm.ru/api/v4/.
AMO_INTEGRATION_IDобязательная, секрет- Идентификатор интеграции AmoCRM.
AMO_INTEGRATION_SECRETобязательная, секрет- Секретный ключ интеграции.
AMO_INTEGRATION_KEYобязательная, секрет- Ключ доступа интеграции.
Ограничения
README описывает из коробки только server-health и get_active_tasks, хотя в src/modules/index.ts зарегистрированы еще пять модулей: воронки, лиды, пользователи, примечания и события. Точный список и параметры инструментов этих модулей нужно смотреть в исходниках, документация по ним не написана. Готового npm-пакета нет, сервер собирается локально командой npm run build.
Как отключить. Удалите сервер из конфигурации MCP-клиента и остановите процесс dist/index.js.
Частые вопросы
Есть ли инструменты по лидам и воронкам?
В коде да, модули amo-leads и amo-pipelines зарегистрированы в src/modules/index.ts, но README их не документирует.
Почему логи пишутся в файл, а не в консоль?
Протокол stdio требует чистый stdout только для JSON-сообщений, поэтому логи по умолчанию идут в файл по пути LOG_FILE_PATH.
Похожие
MCP-серверыОфициальный MCP-сервер Salesforce DX: работа с org, метаданными, данными, пользователями и тестами Apex из агента
Официальный набор скиллов Яндекса: каталог, цены, остатки, заказы, витрина и еженедельная ревизия магазина на Яндекс.Кит через Claude Code или Codex
YouGile MCP от Indalo
YouGile MCP
Полное покрытие API YouGile из 65 операций с настраиваемыми правами, подтверждением записи и общим лимитом на компанию
Официальный MCP конкретного портала Битрикс24: внешний агент по OAuth или токену читает и меняет задачи, сделки, встречи и письма
Коротко о README
README описывает модульную архитектуру, требования Node.js 18+, установку и запуск через npm, переменные окружения с валидацией zod, структуру src по слоям lib и core, и инструменты server-health и get_active_tasks с описанием возвращаемых данных.