Skip to main content

MCP server for AmoCRM — gives Claude Desktop direct access to your CRM

Project description

AmoCRM MCP Server

MCP-сервер для AmoCRM. Подключается к Claude Desktop и даёт Claude прямой доступ к вашей CRM через 17 инструментов.

Задавайте вопросы на русском — Claude сам вызовет нужные API и скомбинирует ответ.

Архитектура

┌──────────────────┐     stdin/stdout      ┌──────────────────┐     HTTPS      ┌──────────────┐
│  Claude Desktop  │ ◄──── MCP Protocol ──► │  amocrm-mcp      │ ◄── REST ───► │  AmoCRM API  │
│  (LLM + UI)      │                        │  (локальный)      │                │  (облако)    │
└──────────────────┘                        └──────────────────┘                └──────────────┘

Как это работает:

  1. Claude Desktop запускает amocrm-mcp как subprocess
  2. MCP-сервер сообщает Claude: "у меня 17 инструментов — get_leads, get_contacts..."
  3. Пользователь пишет вопрос на русском
  4. Claude решает какие инструменты вызвать и в каком порядке
  5. MCP-сервер передаёт запросы в AmoCRM API v4, возвращает JSON
  6. Claude анализирует данные и отвечает пользователю

Внутри MCP-сервера нет ИИ — это прокси между Claude и AmoCRM.

Установка

Вариант A: pip (рекомендуется)

pip install amocrm-mcp

Вариант B: из исходников

git clone https://github.com/ilyaberdysh/amocrm-mcp.git
cd amocrm-mcp
pip install -e .

Настройка

1. Создать интеграцию в AmoCRM

  1. AmoCRM → НастройкиИнтеграцииСоздать интеграцию
  2. Тип: Внешняя интеграция
  3. Redirect URI: https://localhost
  4. Скопировать Client ID и Client Secret

2. Авторизоваться

amocrm-mcp-auth

Или если установлено из исходников:

python3 auth_setup.py

Скрипт спросит:

  • Субдомен — часть URL вашего AmoCRM (например mycompany из mycompany.amocrm.ru)
  • Client ID и Client Secret — из шага 1
  • Redirect URI — по умолчанию https://localhost
  • Auth code — откроется URL, авторизуетесь, скопируете code из URL редиректа

Токены сохранятся в ~/.amocrm/config.json.

3. Подключить к Claude Desktop

Откройте файл конфигурации:

Mac: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

Добавьте:

{
  "mcpServers": {
    "amocrm": {
      "command": "amocrm-mcp"
    }
  }
}

Если установлено из исходников, укажите полный путь:

{"command": "python3", "args": ["/путь/до/amocrm-mcp/server.py"]}

4. Перезапустить Claude Desktop

Cmd+Q (Mac) / Alt+F4 (Windows) → открыть заново.

В чате появится иконка инструментов — amocrm с 17 тулами.

5. Проверить

Покажи мои воронки в AmoCRM

Инструменты (17)

Инструмент Что делает
get_pipelines Воронки продаж с этапами и их ID
get_leads Сделки с фильтрами (менеджер, воронка, статус, даты, сумма)
count_and_sum_leads Подсчёт и сумма сделок без лимита 200 — для аналитики
get_contacts Контакты (поиск по имени, email, телефону)
get_companies Компании
get_users Пользователи / менеджеры
get_tasks Задачи (активные/выполненные, сортировка по дедлайну)
get_notes Примечания к сделкам, контактам, компаниям
get_events Журнал событий (смена этапов, создание сделок)
get_customers Покупатели (повторные клиенты)
get_unsorted Неразобранные заявки
get_catalogs Каталоги товаров/услуг
get_catalog_elements Элементы каталогов
get_custom_fields Пользовательские поля сущностей
get_loss_reasons Причины отказа
get_tags Теги
get_sources Источники трафика

Примеры запросов

Сколько сделок закрыто в феврале 2025?
Сравни продажи за этот и прошлый месяц
Кто из менеджеров закрыл больше всего сделок?
Покажи просроченные задачи Никиты
Сделки на этапе "Переговоры" во всех воронках
Найди сделки дороже 500 000 ₽ в работе
Сколько неразобранных заявок?
Какие кастомные поля есть у сделок?
Причины отказа по проигранным сделкам

Структура проекта

amocrm-mcp/
├── server.py           # MCP-сервер — точка входа, 17 tool definitions
├── amocrm_client.py    # AmoCRM API v4 клиент
│                         - OAuth2 с auto-refresh токенов
│                         - Retry на 429 (rate limit) с backoff 2s/5s/10s
│                         - Пагинация до 10 000 записей
│                         - Обработка пустых ответов API
├── config.py           # Чтение/запись ~/.amocrm/config.json
├── auth_setup.py       # CLI для первичной OAuth2 авторизации
├── pyproject.toml      # Метаданные, зависимости, entry points
└── QA_TEST_PROMPT.md   # QA-промпт для тестирования (10 вопросов)

Токены

  • Хранятся в ~/.amocrm/config.json
  • Обновляются автоматически при каждом запросе
  • Протухают если не использовать > 3 месяцев
  • Если протухли — снова запустите amocrm-mcp-auth

Отладка

# Проверить что сервер запускается
amocrm-mcp
# Если висит без ошибок — ждёт подключения (Ctrl+C для выхода)

# Проверить конфиг
cat ~/.amocrm/config.json

# Логи Claude Desktop
# Mac: ~/Library/Logs/Claude/
# Windows: %APPDATA%\Claude\logs\

Требования

  • Python 3.11+
  • Claude Desktop
  • Аккаунт AmoCRM с правами создания интеграций

Технологии

  • MCP SDK — Model Context Protocol
  • AmoCRM API v4 (OAuth2)
  • Без внешних HTTP-библиотек — urllib из stdlib

Лицензия

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

amocrm_mcp-0.3.0.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

amocrm_mcp-0.3.0-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file amocrm_mcp-0.3.0.tar.gz.

File metadata

  • Download URL: amocrm_mcp-0.3.0.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for amocrm_mcp-0.3.0.tar.gz
Algorithm Hash digest
SHA256 09d319d61b5b3247852e0e0c9fdbcdf7b53efe30ce29a85808b7aad7de5b8433
MD5 7ad62793a4175b488087a666c3a8f1bd
BLAKE2b-256 8b3a47bcaac8ab348a8e43067303d7a16eadfbcdade1be27dabc007ab0f5a397

See more details on using hashes here.

File details

Details for the file amocrm_mcp-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: amocrm_mcp-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 17.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for amocrm_mcp-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5141a9591f3b6a8854186101cd94e954f18a13d608b9dbcdca26a9349f4f7caf
MD5 baa075c0fd4fe2f0f5c0ccecabbf7bb3
BLAKE2b-256 cbf65549951905436a07f80110eae706f7d7fcd3bc367038c3e2e6ed1288313f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page