Skip to main content
Glama
ilyaberdysh

amocrm-mcp

by ilyaberdysh

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.

Related MCP server: GoHighLevel MCP Server

Установка

Вариант 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

Available Tools

18 tools
count_and_sum_leadsA

Подсчитывает количество и общую сумму сделок по фильтрам БЕЗ лимита в 200 записей. Возвращает {count, total_price, by_pipeline: [{pipeline_id, count, total_price}]}. ИСПОЛЬЗУЙ ЭТОТ ИНСТРУМЕНТ (а не get_leads) для: подсчёта количества сделок, суммы продаж, сравнения периодов, ответов на 'сколько всего сделок'. Параметр exclude_closed=true исключает закрытые сделки (выигранные 142 и проигранные 143) — используй для подсчёта АКТИВНЫХ сделок.

ParametersJSON Schema
NameRequiredDescriptionDefault
pipeline_idNoID воронки
status_idsNoID этапов/статусов
responsible_user_idsNoID ответственных менеджеров
created_byNoID создателей сделки
date_fromNoДата создания от (unix timestamp)
date_toNoДата создания до (unix timestamp)
updated_at_fromNoДата изменения от (unix timestamp)
updated_at_toNoДата изменения до (unix timestamp)
closed_at_fromNoДата закрытия от (unix timestamp)
closed_at_toNoДата закрытия до (unix timestamp)
price_fromNoМинимальная сумма
price_toNoМаксимальная сумма
queryNoПоиск по названию
exclude_closedNotrue = исключить закрытые (выигранные + проигранные), оставить только АКТИВНЫЕ сделки

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Describes return format, explains no limit, and clarifies exclude_closed behavior. Lacks mention of read-only nature or rate limits, but with no annotations, description carries burden effectively.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise, front-loaded with purpose and usage guidance; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Completes the tool definition with return format, key differentiators, and parameter purpose. With 14 parameters and no output schema, additional context would be helpful but not necessary.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all parameters with descriptions, so baseline 3. Description adds context for exclude_closed but no additional parameter-level detail beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool counts and sums deals with filters, no 200-record limit, and distinguishes from get_leads.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to use this tool over get_leads for counting, summing, comparing periods, and provides guidance on exclude_closed parameter for active deals.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_catalog_elementsC

Товары или услуги из каталога.

ParametersJSON Schema
NameRequiredDescriptionDefault
catalog_idYesID каталога (из get_catalogs)
queryNoПоиск по названию
limitNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description does not disclose behavioral traits such as read-only, pagination, or side effects. For a tool with no annotations, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is a single sentence, very concise. It efficiently conveys the core purpose, though it could benefit from more structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and moderate complexity (3 params, sibling tools with lists), the description is too minimal. It does not explain return format, pagination, or ordering, leaving the agent to guess.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67%, so baseline is 3. The description does not add meaning beyond the schema; 'limit' lacks a description and the tool text provides no additional parameter context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Products or services from the catalog' clearly indicates the tool retrieves catalog elements, distinguishing it from 'get_catalogs' which retrieves catalogs themselves. However, it lacks explicit differentiation from all siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'get_catalogs' or other list tools. The description does not specify prerequisites or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_catalogsA

Список каталогов товаров/услуг. Используй чтобы получить catalog_id для get_catalog_elements.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description must convey behavioral traits. It implies a read-only operation (listing) with no side effects, but lacks details on pagination, ordering, or response format. Additional context like 'use to get catalog_id' adds value but doesn't fully compensate for missing annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two short sentences, no redundancy, and all information is pertinent. It front-loads the purpose and usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters, output schema, and the simplicity of the tool, the description adequately covers the essential context: what it does and how to use the result. It could mention it returns a list with IDs, but it's sufficiently complete for a list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, and schema description coverage is 100%. The description adds no parameter details, but none are needed. Baseline of 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a list of product/service catalogs and specifies its primary use: obtaining catalog_id for get_catalog_elements. It distinguishes itself from siblings by detailing the intended downstream usage.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises when to use this tool — to get catalog_id for another tool (get_catalog_elements). It does not mention when not to use it or provide alternatives, but the guidance is sufficient for this simple tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_companiesC

Поиск и получение компаний.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoПоиск по названию компании
responsible_user_idsNoID менеджеров
created_at_fromNoДата создания от (unix timestamp)
created_at_toNoДата создания до (unix timestamp)
updated_at_fromNoДата изменения от (unix timestamp)
updated_at_toNoДата изменения до (unix timestamp)
with_leadsNoВключить сделки компании
with_contactsNoВключить контакты компании
limitNoМаксимум записей

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only says 'search and receive', which is too generic. It doesn't disclose read-only nature, pagination, authentication, or any side effects. Essential behavioral details are missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short (one phrase), which is efficient but too minimal. It doesn't waste words but also fails to provide important context. Conciseness is acceptable but structure is lacking since there is no elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having 9 optional parameters and many sibling tools, the description does not explain the output, filtering capabilities, or its role among similar tools. It is incomplete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All parameters have descriptions in the schema (100% coverage), so baseline is 3. The description adds no additional semantics beyond the schema, but it doesn't need to. No extra value but meets the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool searches and receives companies, but it's vague and doesn't distinguish from siblings like get_contacts or get_leads. It provides the basic verb+resource but lacks specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool over alternatives. No context about typical use cases or exclusions. The description offers no direction for the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_contactsC

Поиск и получение контактов с фильтрами.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoПоиск по имени, email, телефону
responsible_user_idsNoID менеджеров
created_at_fromNoДата создания от (unix timestamp)
created_at_toNoДата создания до (unix timestamp)
updated_at_fromNoДата изменения от (unix timestamp)
updated_at_toNoДата изменения до (unix timestamp)
with_leadsNoВключить сделки контакта
with_customersNoВключить покупателей
limitNoМаксимум записей

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It only states 'search and get contacts with filters' without disclosing behavioral traits such as pagination, rate limits, or what happens with empty results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, but it lacks structure (e.g., bullet points or use cases). It is adequately sized but does not earn its place fully due to minimal information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 parameters and no output schema or annotations, the description is insufficient. It omits essential context about return format, pagination, and behavior, making it incomplete for effective tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters. The description adds no additional meaning beyond confirming filters are available, which provides marginal value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches and retrieves contacts with filters, indicating a specific verb and resource. However, it does not distinguish from sibling tools like get_companies or get_leads, which reduces differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling get_* tools, explicit usage context is missing, leaving the agent to infer without sufficient direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_customersC

Покупатели (повторные клиенты / подписки). Используй если в аккаунте включён модуль Покупатели.

ParametersJSON Schema
NameRequiredDescriptionDefault
responsible_user_idsNoID менеджеров
created_at_fromNo
created_at_toNo
updated_at_fromNo
updated_at_toNo
with_contactsNo
with_companiesNo
limitNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It only states the module requirement and basic purpose. It does not describe whether the tool is read-only, what the output format is (array of objects?), or any side effects of parameters like filters. Given the lack of annotations, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences. The first sentence states the purpose, and the second provides a usage condition. No redundant information is present, though it could be more structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters, no output schema, and no annotations, the description is incomplete. It fails to explain return values, pagination, or how filtering parameters work. The description does not adequately equip an agent to use the tool correctly without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 13% (1 out of 8 parameters have descriptions). The tool description adds no parameter information beyond the schema, failing to compensate for the low coverage. For example, 'limit' has no description, and the meaning of filters like 'created_at_from' is unclear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves customers (repeat clients/subscriptions) and requires the Customers module to be enabled. While it distinguishes from sibling tools by being the only customer-related endpoint, it lacks an explicit verb like 'get' or 'list', though it is implied.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a prerequisite ('Use if the Customers module is enabled') but offers no guidance on when to use this tool versus alternatives, nor does it mention scenarios where it should not be used. The sibling tools cover other entities, but no direct alternative for customers is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_custom_fieldsA

Кастомные поля сущности — их ID и названия. Используй чтобы понять как фильтровать по ним.

ParametersJSON Schema
NameRequiredDescriptionDefault
entityYesТип сущности

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description should disclose behavioral traits. It implies a read-only operation (retrieving custom fields) but does not explicitly state it is non-destructive, nor does it mention authentication requirements or rate limits. The description is adequate but leaves some ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no wasted words. It first states what the tool returns, then gives a usage purpose. It is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description should provide some return structure. It mentions 'IDs and names,' which is helpful, but it could be more explicit about the format (e.g., array of objects). However, for a simple metadata tool, it is mostly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers the single parameter 'entity' with 100% coverage, including an enum and description. The description adds no additional meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves custom fields of an entity, specifically their IDs and names. This distinguishes it from sibling tools like get_leads or get_contacts, which return entity records, and it uses a specific verb+resource structure.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells when to use the tool: 'Use to understand how to filter by them.' This provides clear context for usage, though it does not mention when not to use or name alternatives, it sufficiently guides the agent for a metadata retrieval tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_eventsB

История событий: смена этапов, создание и удаление сделок и контактов. Принимает entity_type как leads/contacts/companies (автоматически конвертируется в формат API).

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_typeNoТип сущности (leads, contacts, companies)
event_typesNoТипы: lead_added, lead_status_changed, lead_deleted, contact_added, company_added и др.
date_fromNoНачало периода (unix timestamp)
date_toNoКонец периода (unix timestamp)
limitNoМаксимум записей (по умолчанию 100)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It mentions automatic conversion of entity_type to API format, but fails to describe other behaviors such as pagination, default limit, or whether the response is ordered. Critical gaps persist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that efficiently conveys the tool's purpose without unnecessary words. Every part serves a clear function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description should explain return values. It mentions event types but not the structure of the response. Given 5 parameters and no output schema, the description is insufficient for an agent to fully understand the tool's behavior and output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds a minor behavioral note about automatic entity_type conversion, but adds no further parameter details beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves event history for entities like deals and contacts, specifying stage changes, creation, and deletion. It distinguishes itself from sibling list tools by focusing on events rather than entity data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like get_leads or get_contacts. It neither explains when to choose events over direct entity retrieval nor mentions any exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_leadsA

Получает сделки из CRM с фильтрами. Все даты — unix timestamp (секунды). Используй closed_at_from/closed_at_to для фильтра по дате ЗАКРЫТИЯ. date_from/date_to — только для даты СОЗДАНИЯ. Максимум 200 записей за запрос. ВНИМАНИЕ: фильтры price_from/price_to могут конфликтовать с status_ids — для фильтрации активных сделок по цене используй count_and_sum_leads с exclude_closed=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
pipeline_idNoID воронки
status_idsNoID этапов/статусов (получи из get_pipelines)
responsible_user_idsNoID ответственных менеджеров
created_byNoID пользователей, создавших сделку
date_fromNoНачало периода по дате СОЗДАНИЯ (unix timestamp)
date_toNoКонец периода по дате СОЗДАНИЯ (unix timestamp)
updated_at_fromNoНачало периода по дате ИЗМЕНЕНИЯ (unix timestamp)
updated_at_toNoКонец периода по дате ИЗМЕНЕНИЯ (unix timestamp)
closed_at_fromNoНачало периода по дате ЗАКРЫТИЯ (unix timestamp). Для 'сделки закрытые в марте'.
closed_at_toNoКонец периода по дате ЗАКРЫТИЯ (unix timestamp)
price_fromNoМинимальная сумма сделки
price_toNoМаксимальная сумма сделки
queryNoПоиск по названию сделки
order_byNoПоле сортировки
order_dirNoНаправление сортировки
with_contactsNoВключить связанные контакты
with_companiesNoВключить связанные компании
with_loss_reasonNoВключить причину отказа
with_tasksNoВключить задачи по сделке
with_catalog_elementsNoВключить товары из каталога
limitNoМаксимум сделок (по умолчанию 200, это максимум API)
pageNoНомер страницы для пагинации. По умолчанию 1. Если pipeline содержит более 200 сделок, используй page=2 для выборки записей 201+.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility. It discloses max 200 records, date format requirements, pagination, and a conflict scenario. Could mention permissions or empty results, but covers key behaviors well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Six sentences covering essential info, each sentence adds value. Slightly verbose but effective. Could be more concise, but no unnecessary fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 22 parameters and no output schema, the description explains key behaviors (date filter differences, conflict, limit, pagination). It covers most important aspects for agent usage, though lacks return structure details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, baseline 3. The description adds value by clarifying the distinction between closed_at and date filters, the conflict warning, and pagination details, going beyond the schema's field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves deals from CRM with filters, specifying date formats and conflict warnings. It distinguishes itself from siblings by detailing unique parameter behaviors.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance on when to use date filters, warns about conflicts between price filters and status_ids, and directs to an alternative tool (count_and_sum_leads) for specific cases. Also explains pagination and limit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_leads_grouped_by_companyA

Группирует ВСЕ сделки по компаниям и суммирует. Возвращает топ-N компаний по общей сумме (LTV). Пагинирует все сделки на сервере — нет лимита в 200. Используй для LTV-анализа, рейтинга клиентов, поиска топ-компаний для интервью. Подтягивает названия компаний автоматически.

ParametersJSON Schema
NameRequiredDescriptionDefault
pipeline_idNoID воронки
status_idsNoID статусов (напр. [142] для выигранных)
responsible_user_idsNoID менеджеров
exclude_closedNotrue = исключить закрытые (142+143), оставить только активные
closed_at_fromNoДата закрытия от (unix timestamp)
closed_at_toNoДата закрытия до (unix timestamp)
date_fromNoДата создания от (unix timestamp)
date_toNoДата создания до (unix timestamp)
limitNoТоп N компаний (по умолчанию 50)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. The description reveals key behaviors: groups all deals, paginates internally with no 200 limit, and auto-fetches company names. It does not cover auth needs or rate limits, but the given information is sufficient for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, no wasted words. The action, scope, and use cases are presented concisely, with the main purpose front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter tool with no required parameters and no output schema, the description covers the grouping logic, pagination behavior, and auto-fetching. It lacks explicit return structure details, but the hint 'top-N companies by total sum' provides fair completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with parameter descriptions. The description adds aggregate context ('groups all deals by company') but does not elaborate on each parameter beyond the schema. Additional insights like 'paginates all deals server-side' add value but are not per-parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it groups all deals by company and sums them, returning top-N companies by total sum (LTV). It distinguishes from sibling tools like 'get_leads' by specifying aggregation and server-side pagination without the 200 limit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises use for LTV analysis, customer rating, and finding top companies for interviews. While it doesn't list alternatives or when not to use, the context implies it's for aggregated data, setting it apart from raw list tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_loss_reasonsB

Причины отказа по проигранным сделкам.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden of behavioral disclosure. The description only says what the tool returns, with no mention of side effects, permissions, or safety. This is insufficient for agent decision-making. Score 2 indicates minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise phrase. For a tool with no parameters, this is appropriate and front-loaded. No wasted words. Score 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters, no output schema, and no annotations, the description should provide more behavioral context (e.g., read-only, scoping). It only states the output topic, which is incomplete for safe and effective use. Score 2.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters and 100% coverage, so the description's role is to add meaning beyond the schema. It clarifies that the tool returns loss reasons for lost deals, which adds semantic context. Score 4 because it adds value, though minimal.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Reasons for rejection on lost deals' clearly indicates the tool returns loss reasons for lost deals. The tool name starts with 'get_', so the purpose is clear. It distinguishes from sibling get_* tools which retrieve other entities. A score of 4 because it lacks an explicit verb like 'retrieves' but is still clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no usage guidelines, such as when to use this tool, prerequisites, or alternatives. It only states what it returns, so guidance is minimal. Score 2 because context is implied by the name but no explicit directions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_notesB

Заметки и комментарии к сделкам, контактам или компаниям. Содержит записи менеджеров, результаты звонков.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_typeNoТип сущности (по умолчанию leads)
entity_idsNoID конкретных сущностей
note_typesNoТипы: common, call_in, call_out, service_message, mail_message
created_at_fromNoДата создания от (unix timestamp)
created_at_toNoДата создания до (unix timestamp)
limitNoМаксимум записей

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It mentions content type (manager records, call results) but does not state whether the operation is read-only, whether it requires authentication, or any potential side effects. This is insufficient for a tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences that front-load the purpose. Every word contributes without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters, no output schema, and no annotations, the description is sparse. It does not explain output format, pagination, or behavioral aspects like read-only nature. More detail is needed for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds minimal parameter-specific context; it only generalizes that notes are returned. No extra meaning is added beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool retrieves notes and comments for deals, contacts, or companies, and specifies it contains manager records and call results. This distinguishes it from sibling tools like get_leads or get_contacts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no exclusions, and no mention of prerequisites or context. Usage is only implied by the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_pipelinesA

Возвращает все воронки продаж с этапами и их ID. Вызывай ПЕРВЫМ когда нужен pipeline_id или status_id для этапа.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It indicates a read-only operation but does not disclose any behavioral traits such as authentication needs, rate limits, or data limits. The response format is also not described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences only, both front-loaded with key information (what it returns and when to use). No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and no output schema, the description covers the purpose and usage adequately. Lacks details on edge cases or error handling, but for a simple retrieval tool this is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has zero parameters, and description correctly makes no attempt to explain parameters. Baseline 4 for no-parameter tool, as description adds no parameter information but doesn't need to.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it returns all sales pipelines with stages and IDs, and explicitly directs to call it first when needing pipeline_id or status_id. Distinguishes from sibling tools which are all other getters.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to call first when needing pipeline/stage IDs, providing clear usage context. However, no mention of when not to use or alternatives beyond the implicit sequence.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_sourcesC

Источники трафика/лидов.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must fully disclose behavior. It only provides a label, omitting any mention of side effects, permissions, or whether the operation is read-only. The simple name implies a read, but this is not explicitly stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at two words, but it sacrifices clarity for brevity. It efficiently communicates a general topic but under-delivers on informative content. A single sentence could improve value without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters, no output schema, and no annotations, the description is the sole source of context. It merely names the resource (sources) without explaining what constitutes a source, how they are organized, or the tool's purpose in the broader system. This is insufficient for complete understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and 100% schema description coverage, so the baseline is 4 per instructions. However, the description only adds a basic label ('Traffic/lead sources') without enriching the schema's empty structure. It provides minimal meaning, warranting a slight reduction to 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Источники трафика/лидов' (Traffic/lead sources) is a noun phrase that vaguely restates the tool name. It lacks a verb and does not specify what the tool does beyond identifying it as sources, making it borderline tautological.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like get_leads or get_contacts. With 17 sibling tools, the absence of usage context makes selection difficult.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_tagsD

Теги для сущности.

ParametersJSON Schema
NameRequiredDescriptionDefault
entityYes

TDQS

D1.8/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior. However, it only states 'Tags for entity' without indicating read-only nature, permissions, or any side effects. This is a complete absence of behavioral information.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short phrase, which is concise but under-specified. It could be improved with a bit more detail without becoming verbose, but it is not wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (single parameter, no output schema, no annotations), the description should explain what the tool returns and how it works. It fails to do so, leaving the agent with insufficient information to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter 'entity' with enum values, and the description adds no additional meaning for this parameter. Schema description coverage is 0%, so the description fails to clarify the parameter's purpose or format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Теги для сущности' (Tags for entity) vaguely indicates the tool retrieves tags for an entity, but it adds little beyond the tool's name 'get_tags'. It fails to specify the action or what exactly is returned, making it barely informative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The sibling tools include many get_* functions, but no differentiation or context is given for preferring get_tags over others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_tasksA

Задачи менеджеров. По умолчанию возвращает АКТИВНЫЕ задачи (is_completed=false). Передай is_completed=true для завершённых.

ParametersJSON Schema
NameRequiredDescriptionDefault
responsible_user_idsNoID менеджеров
is_completedNofalse — активные (по умолчанию), true — завершённые
date_fromNoДата создания от (unix timestamp)
date_toNoДата создания до (unix timestamp)
complete_till_fromNoДедлайн от (unix timestamp)
complete_till_toNoДедлайн до (unix timestamp)
order_byNoПоле сортировки: complete_till (по умолчанию), created_at, updated_at, id
order_dirNoНаправление сортировки (по умолчанию asc — просроченные первыми)
limitNo

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the default filter (active tasks) but does not mention other behavioral traits like read-only nature, pagination, or potential response structure. The behavior is partially transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences, front-loading the purpose and key usage detail. No extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description does not explain return values or pagination. For a tool with 9 parameters, the description is minimal but still provides the most important default behavior. Could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 89%, the schema already documents most parameters. The description adds value by explicitly stating the default for is_completed, but does not elaborate on other parameters beyond what the schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns tasks (Задачи менеджеров) and specifies the default filtering for active tasks. This distinguishes it from sibling tools like get_leads or get_contacts which handle different entities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage guidance on the is_completed parameter default and how to get completed tasks. However, it does not explicitly tell when to use this tool over alternatives or mention exclusions, though the context of retrieving tasks is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_unsortedC

Неразобранные заявки — входящие лиды, ещё не попавшие в воронку.

ParametersJSON Schema
NameRequiredDescriptionDefault
pipeline_idNoID воронки
categoryNo
limitNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states the purpose, not behavior like pagination, sorting, or the effect of parameters. The agent learns nothing about rate limits, authorization needs, or whether this operation is safe (read-only).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no unnecessary words. It is front-loaded and efficient, conveying the core purpose without verbosity. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, a brief description is insufficient. The tool has three parameters, but the description does not explain how they filter or what the response contains. Essential context like return format, unsorted pipeline distinctions, and default behavior is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33% (only pipeline_id has a description). The description does not compensate by explaining the parameters. For example, 'category' and 'limit' have no semantic guidance beyond the schema's enum values and type. The description adds no value over what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves unsorted leads (incoming leads not yet in funnel). This distinguishes it from sibling tools like get_leads, which likely retrieve leads already in the funnel. The one-sentence Russian description is specific enough to convey the resource and action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, no exclusions, and no prerequisites mentioned. The description only implies usage for unsorted leads without contrasting with other lead-related tools. This lack of context leaves the agent without clear decision criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_usersA

Список менеджеров/пользователей CRM с группами.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It implicitly indicates a read operation (list), but does not disclose authentication requirements, rate limits, or the fact that it returns all users without filtering. For a simple list tool, this is adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, concise and to the point. No unnecessary words, and it front-loads the purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no params, no output schema), the description provides the essential meaning. It mentions 'with groups', which adds context. However, it lacks details like whether the list is paginated or how groups are represented.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, and schema coverage is 100%. According to the rules, a baseline score of 4 applies, and the description adds no parameter information since none exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists managers/users of CRM with groups, specifying the verb 'list' and the resource 'users'. However, it doesn't explicitly differentiate from sibling tools like get_contacts, which also list people, but the resource is distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool vs alternatives. With many sibling list tools, the description should indicate that this is for CRM system users, not contacts or leads.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 18 tool updatesv0.3.0
    • First observedcount_and_sum_leads
    • First observedget_catalog_elements
    • First observedget_catalogs
    • First observedget_companies
    • First observedget_contacts
    • First observedget_custom_fields
    • First observedget_customers
    • First observedget_events
    • First observedget_leads
    • First observedget_leads_grouped_by_company
    • First observedget_loss_reasons
    • First observedget_notes
    • First observedget_pipelines
    • First observedget_sources
    • First observedget_tags
    • First observedget_tasks
    • First observedget_unsorted
    • First observedget_users

TDQS

B3.1/5.0
Disambiguation5/5

Each tool targets a distinct entity or operation (e.g., leads, contacts, pipelines, tasks). Overlaps like count_and_sum_leads vs get_leads are clearly differentiated in descriptions, leaving no ambiguity for an agent.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern (primarily get_*), with only minor variations like count_and_sum_leads and get_leads_grouped_by_company that still adhere to the same style.

Tool Count4/5

With 18 tools, the server is slightly above the typical 3-15 range, but the count is justified by the breadth of CRM entities covered (leads, contacts, companies, pipelines, tasks, etc.). It remains well-scoped and not excessive.

Completeness2/5

The tool set provides extensive read and aggregation capabilities but lacks any create, update, or delete operations. Critical mutations are missing, which would cause agent failures when trying to modify records.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • xmagnet — AI-powered B2B CRM for Claude. 35 tools that turn natural-language prompts into real CRM actions: prospect, enrich, score leads, manage deals, scan buying intent, run email campaigns and sequences, build forms and landing pages, refine ICP, and analyze performance — all directly inside Claude. 🚀 ONE-CLICK INSTALL: https://api.xmagnet.ai/claude The install page guides Claude users through 3 steps in under a minute: open Claude Connectors, paste the connector name, paste the server URL, sign in. A reviewer workspace is auto-provisioned on first sign-in with sample contacts, deals, campaigns, and ICP suggestions, so every tool works end-to-end with zero setup. No 2FA. No paid plan required. Free tier exposes all 35 tools. What you can do: • Prospecting — search_contacts, search_companies, search_investors, find_contacts_at_companies, enrich_contact, validate_email, find_competitors, company_intelligence • Pipeline — get_deals_pipeline, scan_deal_intent, get_ghost_pipeline, create_deal • Campaigns & sequences — create_campaign, generate_campaign_content, get_campaign_stats, get_bounce_stats, get_unsub_stats, create_sequence_draft, list_sequences • Top of funnel — suggest_icp, get_icp, create_form, list_forms, create_landing_page, list_landing_pages, show_suggestions • Operations — analyze_contacts, get_contact_details, update_contact, save_contacts_to_crm, export_contacts, get_dashboard_stats, get_credit_balance Example prompts to try: • "Find C-suite contacts at fintech companies that raised Series A in the last 6 months." • "Scan my open deals for buying intent and prioritize follow-ups." • "Generate a re-engagement campaign for contacts who opened my last newsletter but didn't reply." • "Show me my deals pipeline by stage with weighted value and win rate." • "Generate a landing page for my Q2 webinar with a registration form." Built for founders, SDRs, RevOps, and growth teams who want their CRM to take action — not just store records. Install: https://api.xmagnet.ai/claude · Site: https://xmagnet.ai · Privacy: https://xmagnet.ai/privacy-policy · Terms: https://xmagnet.ai/terms-of-service · Support: ashish.sinha@xmagnet.ai

  • Operate Obriym CRM from your AI assistant: leads, deals, orders, catalog, stock, marketplaces.

  • Personal CRM for Claude. Contacts live as plain-text files in your own Google Drive.

  • Agent-native CRM. 25 tools — contacts, deals, sequences, enrichment waterfall, audit log.

Related MCP Servers

  • A
    license
    B
    quality
    F
    maintenance
    Enables natural language interaction with Pipedrive CRM via Claude Code, allowing users to manage deals, contacts, activities, and more through conversational commands.
    26
    11
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables LLMs like Claude to interact with Pipedrive CRM data through a standardized interface, providing 22 tools for managing deals, persons, organizations, activities, and more.
    22
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ilyaberdysh/amocrm-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server