Skip to main content
Glama

b24-mcp

Servidor MCP local para Bitrix24. Proporciona al agente de IA datos actualizados de tu portal: calendario, tareas y sus discusiones, chats, proyectos colaborativos, análisis de llamadas con IA, fichas de personas.

Solo lectura. Funciona con cualquier portal —en la nube o local— a través de tu webhook entrante personal.

Para qué sirve, si el agente ya sabe usar HTTP

El agente puede acceder al REST por sí mismo. Pero entonces:

  • en cada petición arma la URL, recuerda los nombres de los métodos y las versiones de la API, parsea la respuesta;

  • el token pasa por su entorno en cada llamada;

  • nada le impide invocar un método que modifique el portal.

El servidor elimina esto: el agente llama a una operación de negocio (tasks_list, task_chat), y el transporte, las versiones, la paginación y la normalización viven dentro. Hacia afuera solo se exponen lecturas y únicamente las operaciones enumeradas — el REST crudo no está expuesto en absoluto.

Related MCP server: Bitrix24 MCP Bridge

Qué hace (14 herramientas)

Herramienta

Qué hace

whoami

Quién es el propietario del webhook: comprobación rápida de que la conexión está viva

person_find

Buscar a una persona: cargo, departamento, contactos, si está activa

calendar_events

Eventos en un intervalo: hora, participantes, quién es el organizador, si es reunión o bloqueo personal

tasks_list

Tareas de una persona en el rol responsible / originator / auditor

task_get

Cabecera de la tarea: descripción, estado, fecha límite, si tiene chat

task_chat

Discusión dentro de la tarea: ahí está la esencia, no en los campos

task_result

Resultados de la tarea: no están en el chat, ahí solo hay una línea de sistema sin texto

tasks_updates

Qué se mueve en tus tareas en un intervalo + cuáles son nuevas

chat_read

Leer un diálogo: chat grupal o conversación privada

projects_list

Proyectos colaborativos según la actividad reciente

project_chats

De qué se compone un proyecto: chats hijos

project_read

Discusión en el chat del proyecto

followups_list

Llamadas con análisis de IA listo en un intervalo

followup_get

Análisis de la llamada: tema, acuerdos, action items, transcripción

Las respuestas están normalizadas: las listas llegan como {items, count, limit}, el marcado está limpio y los límites están acotados.

Instalación

Se necesita Python 3.11+.

git clone <этот-репозиторий> b24-mcp && cd b24-mcp
python3 -m venv .venv
.venv/bin/python -m pip install -e .

Configuración

1. Crea un webhook entrante en tu portal. Sección de desarrollador: Aplicaciones → Desarrolladores → Otro → Webhook entrante.

Permisos (scope) que usa el servidor:

Scope

Para qué

user, department

personas y estructura organizativa

calendar

eventos

task, tasks_extended

tareas

im

chats: de tareas, privados, grupales, de proyectos

call

análisis de llamadas con IA (sin él funciona todo lo demás)

Menos permisos, menos riesgo. Empieza sin call; lo añades cuando necesites las llamadas.

2. Guarda el webhook en .env:

cp .env.example .env
chmod 600 .env          # сервер откажется читать файл, доступный другим
B24_WEBHOOK=https://<твой-портал>/rest/<число>/<токен>/
B24_USER_ID=<твой id>   # необязательно: определится сам через user.current

3. Conéctalo a tu cliente MCP. Ejemplo para Claude Code (~/.claude.json):

{
  "mcpServers": {
    "b24": {
      "command": "/абсолютный/путь/b24-mcp/.venv/bin/python",
      "args": ["-m", "b24_mcp.server"],
      "env": { "B24_MCP_ENV": "/абсолютный/путь/b24-mcp/.env" }
    }
  }
}

Reinicia el cliente y pregúntale al agente: «comprueba la conexión con el portal» — invocará whoami.

Seguridad

  • El token vive en .env con permisos 600. El servidor comprueba los permisos al arrancar y se niega a funcionar si el archivo puede ser leído por otros.

  • El token no aparece ni en las respuestas de las herramientas, ni en los logs, ni en los textos de error. Se registra el nombre de la operación y la hora, no la URL.

  • Solo lectura. El cliente se crea con la prohibición de métodos de escritura a nivel de transporte, y hacia afuera solo se exponen las operaciones enumeradas. Incluso un error en el código de una herramienta no creará una tarea ni enviará un mensaje.

  • Frontera honesta: esto elimina la clase de «secreto filtrado por accidente en la salida de un comando», pero no le quita la shell al agente. Si tiene acceso al sistema de archivos, igualmente puede leer .env — como cualquier proceso que corra bajo tu usuario.

  • Solo se ve aquello en lo que el propietario del webhook es participante. El servidor no accede a chats privados ni eventos ajenos.

  • Si el token se filtra, revoca el webhook en el portal y emite uno nuevo; solo tendrás que cambiar .env.

Desarrollo

.venv/bin/python -m pip install -e '.[dev]'
.venv/bin/python -m pytest -q --asyncio-mode=auto

Los tests funcionan sin red. Fijan la lista de herramientas (una nueva no aparece en silencio), la barrera de «solo lectura», el contrato de normalización y las formas de respuesta del portal — incluidas aquellas en las que es fácil fallar.

Dos trampas del contrato que costaron depuración (fijadas con tests):

  • La transcripción de la llamada está en el campo transcription (no transcript); el resumen llega por segmentos ({segments: [{title, summary}]}); los acuerdos y las tareas están bajo las claves agreement / actionItem, no text. Fallar da una respuesta vacía en silencio, no un error.

  • El participante de la llamada se identifica con el campo userId, no id. Leer id devolverá None — y no se podrá vincular al participante con la persona.

Límites

El servidor deliberadamente no hace:

  • operaciones de escritura — no crea tareas, no envía mensajes, no modifica el portal;

  • ejecuciones pesadas — recorridos completos de toda la correspondencia de un mes, exportación de informes de un trimestre, barridos resumibles con checkpoints. La llamada a una herramienta vive dentro de una sola interacción del agente: hay un tope de tiempo y no hay dónde guardar el progreso. Esas tareas se resuelven con un script aparte, no con una herramienta MCP.

Licencia

MIT.

Available Tools

13 tools
calendar_eventsB

События календаря: время, участники, кто host.

is_meeting + attendees дают отличить структурную встречу от личного блока. Одиночное событие с проектным названием — спроси владельца, с кем это, не классифицируй молча.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoСколько дней от start
startNoYYYY-MM-DD, по умолчанию сегодня
user_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

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

Without annotations, the description bears full burden. It discloses that events have fields like `is_meeting` and `attendees`, and advises on classification, but does not explain sorting, pagination, permissions, or output structure beyond the bare mention of time/participants/host.

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 short (two sentences) and front-loaded with the core purpose. However, the second sentence is somewhat cryptic and could be clearer. Overall, it is concise with minimal waste.

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?

An output schema exists, so return values are partially covered. The description mentions important fields but omits filter behavior (date range, user scope) and does not explain the absence of user_id parameter documentation. The interpretation advice adds value but leaves gaps.

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 description coverage is 67% (days and start have descriptions, user_id does not). The description adds no parameter-specific details, leaving user_id undocumented and failing to explain how days and start affect the query.

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 states the tool provides calendar events with time, participants, and host, which clearly indicates retrieval of event details. However, it lacks an explicit verb like 'list' or 'get', and the description veers into interpretation advice rather than a straightforward purpose statement.

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 offers no guidance on when to use this tool versus alternatives, nor does it specify prerequisites or filtering scope. It only gives interpretation advice for event data, not usage context.

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

chat_readA

Прочитать диалог, где ты участник: групповой чат или личку.

Вложения отдаются списком (имя, размер, disk_id) — ссылки на скачивание сюда не попадают, они могут нести auth-параметр.

ParametersJSON Schema
NameRequiredDescriptionDefault
fullNo
limitNo
chat_idNoГрупповой/проектный чат
user_idNoЛичка с человеком
include_systemNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

Describes that attachments are returned as a list with name, size, disk_id, and notes that download links are excluded. With no annotations, this adds useful behavioral detail. Could mention response structure more but output schema exists.

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, front-loaded with purpose, no wasted words. Efficient and clear.

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?

Covers basic purpose and attachment info, but doesn't explain overall return format (messages) or usage context for boolean parameters. Output schema exists but description still leaves gaps.

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?

Only 40% of parameters have schema descriptions. The description adds no extra meaning for 'full', 'limit', or 'include_system', which remain undocumented. It reiterates chat_id/user_id purpose already in 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?

Clearly states it reads a dialog where the user is a participant, distinguishing it from sibling tools which are unrelated. Verb 'read' with specific resource 'dialog', and specifies both group chat and personal chat.

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?

Implicitly restricts to dialogs where the user is a participant, but does not explicitly mention when not to use or provide alternatives. Clear context for when to use.

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

followup_getA

Разбор звонка: тема, повестка, договорённости, action items, участники.

⚠️ action_items — СЫРЬЁ портала, а не готовый список твоих задач. Кому принадлежит задача, решай по говорящему и адресату: «ты сделай» → владелец адресат, «я сделаю» → владелец говорящий. Для этого бери transcript=True.

ParametersJSON Schema
NameRequiredDescriptionDefault
call_idYes
transcriptNoДобавить полную расшифровку (тяжело)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description warns that action_items are raw portal data and need transcript for ownership resolution, and notes transcript is heavy. This adds valuable behavioral context, though no side effects or permissions are mentioned.

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 sentences with a warning, front-loaded with purpose. Every sentence adds value and is efficiently presented.

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 complexity (call breakdown with action items) and presence of output schema, the description covers key behavioral aspects. Could mention participants more explicitly, but sufficient.

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 coverage is 50% (only transcript described). The description adds meaning by explaining how to use transcript to resolve task ownership, which goes beyond schema, compensating for missing call_id description.

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 call breakdown: topic, agenda, agreements, action items, participants. This is specific and distinct from sibling followups_list which likely lists all followups.

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 guidance on when to set transcript=True for interpreting action items, but does not explicitly state when to use this tool vs alternatives or exclude cases. Adequate but not explicit.

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

followups_listC

Завершённые звонки с ГОТОВЫМ AI-разбором за окно.

Звонки без разбора портал не возвращает — пустой список это норма, а не сбой.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
user_idNoТолько под админскими правами
max_itemsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

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

The description clarifies that calls without analysis are not returned and an empty list is not an error. With no annotations provided, this adds some behavioral context. However, it does not mention permissions, idempotency, or performance characteristics.

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 two concise sentences without extraneous information. It is front-loaded with the core purpose. However, it omits important context that could be added 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 three parameters, no annotations, and an output schema exists, the description leaves gaps. It explains the return condition (only calls with analysis) but lacks information about required permissions, parameter interactions, or typical use cases.

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 description indirectly relates to the 'days' parameter by mentioning 'window', but does not explain the parameters in detail. Only one of three parameters (user_id) has a description in the schema, and the tool description adds minimal additional meaning beyond the schema.

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 states it returns 'completed calls with ready AI analysis', which clearly identifies the resource and action. It distinguishes itself from sibling 'followup_get' by implying a list operation. However, it could be more explicit about listing vs. retrieving a single item.

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 'followup_get' or other list tools. It does mention that an empty list is normal behavior, which is helpful but does not address use case differentiation.

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

person_findA

Найти человека на портале: должность, отдел, контакты, активен ли.

Зови ЭТО до обращения по ID — в крупной компании есть однофамильцы.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYesID, email или часть имени/фамилии

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided, so the description carries the burden. It implies a read operation but does not explicitly state no side effects or disclose authentication/rate limits. Adequate but could be improved by noting read-only nature.

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: the first states purpose and returns, the second provides critical usage guidance. No unnecessary 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?

The tool is simple with two parameters and an output schema. Description covers purpose, return fields, and usage context. Lacks explicit behavioral transparency but is otherwise complete for its complexity.

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 description adds no parameter details beyond what the input schema provides. Schema coverage is 50% (query has description, limit does not), but the description does not compensate. The tool's purpose is clear, but parameter meaning is not enhanced.

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 finds a person on the portal and lists specific returned fields (position, department, contacts, active status). It distinguishes from sibling tools by being the only person-search tool.

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?

The description explicitly advises calling this before using a tool that queries by ID, citing potential name ambiguity in large companies. This provides clear when-to-use and alternative guidance.

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

project_chatsA

Из чего состоит проект: дочерние чаты (задачи, синки, под-чаты).

Главный чат проекта сюда не входит — это и есть project_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden. It does not disclose whether the tool is read-only, any authorization requirements, or potential side effects. The description only covers what is returned.

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, no redundant words, and the most important information is 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?

Given the presence of an output schema, the description adequately covers the tool's purpose and scope. It could be slightly more detailed about the nature of child chats, but it is sufficient for a simple tool.

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 0%, so the description adds value by explaining that 'project_id' refers to the main project chat. However, it does not provide additional details about the parameter beyond that.

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 returns child chats (tasks, syncs, sub-chats) of a project and explicitly notes that the main project chat is excluded. This differentiates it from siblings like 'project_read' and 'chat_read'.

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?

Provides clear context by specifying that the main project chat is not included and is accessed via 'project_id'. However, it does not explicitly state when not to use this tool or mention alternatives among siblings.

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

project_readC

Прочитать обсуждение в чате проекта.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoОкно; без него — последнее
limitNo
chat_idYesЧат проекта: главный или дочерний
live_onlyNoОтбросить системные записи

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior1/5

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

No annotations exist, and the description does not disclose any behavioral traits (e.g., auth requirements, read-only nature, side effects) beyond the name's implication of a read operation.

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 concise (a single phrase) but under-specified; it lacks structure and does not front-load key context beyond the basic purpose.

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 four parameters and an output schema, the description is too sparse; it does not clarify scope, limitations, or relationship to sibling tools.

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 75% (three of four parameters have descriptions), so the baseline is 3 despite the tool description adding no parameter-specific information.

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 reads a project chat discussion, but it does not differentiate from sibling tools like 'chat_read' or 'task_chat', which may have overlapping functionality.

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

Usage Guidelines1/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, nor any prerequisites or conditions for invocation.

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

projects_listC

Проекты-коллабы по свежести активности.

Проект группирует чаты (задачи, синки, под-чаты); их содержания обычно нет в заметках — это прямой слой слепых пятен.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.2/5.0
Behavior2/5

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

No annotations; description only mentions grouping by freshness but doesn't explain return format, whether it lists projects or details, or any side effects. Lacks operational clarity.

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?

Two sentences are short and front-loaded with the purpose, but they omit critical operational details. Conciseness is acceptable but at the cost of completeness.

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 a simple schema with one optional parameter and an output schema, the description should clarify what is returned and how 'freshness' is determined. It falls short, leaving gaps about usage.

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?

The sole parameter 'limit' has no description in schema (0% coverage). The description does not mention or explain its purpose, leaving the agent to infer from defaults and constraints.

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 hints at listing collab projects sorted by freshness, but the verb 'list' is implicit. It's not as explicit as sibling tools like 'tasks_list'. The purpose is somewhat clear but could be more direct.

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 like project_chats or project_read. No context for prerequisites or exclusions.

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

task_chatB

Обсуждение внутри задачи — там суть, а не в полях.

Системные записи (назначения, смены сроков) по умолчанию скрыты.

ParametersJSON Schema
NameRequiredDescriptionDefault
fullNoВся история, а не последнее окно
limitNo
task_idYes
include_systemNoПоказать системные записи

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

The description discloses that system records are hidden by default, which is a key behavioral trait. However, without annotations, it lacks explicit safety information (e.g., read-only or destructive nature) and does not discuss pagination or output format.

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, front-loaded with purpose. Every sentence adds value and there is no wasted text.

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?

Given an output schema exists, the description need not detail return values. However, it omits explanation of the limit and full parameters, and does not clarify the scope of the discussion retrieved. The description is too brief for a chat tool with multiple parameters.

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 50% (descriptions for full and include_system). The tool description adds context for include_system by mentioning system records are hidden, but does not compensate for missing schema descriptions on task_id and limit.

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 discussion inside a task, with the phrase 'Обсуждение внутри задачи — там суть, а не в полях'. This distinguishes it from task field operations but does not explicitly differentiate from sibling tools like chat_read or project_chats.

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 explicit guidance on when to use this tool versus alternatives. The description implies it's for task discussions but does not address when not to use it (e.g., for general chat) or provide prerequisites.

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

task_getB

Шапка задачи: тело, статус, дедлайн, есть ли чат обсуждения.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

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

No annotations provided, so the description carries full burden. It states the tool returns fields (body, status, deadline, chat flag), implying a read operation with no side effects. However, it does not disclose authentication needs, rate limits, or whether the task must exist. The description is adequate but not explicit about behavioral traits.

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 a single concise sentence in Russian, with no extraneous text. It front-loads the key return fields. However, it could be slightly more structured (e.g., specifying that it is a read operation). Overall, it earns its place with minimal waste.

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?

Given an output schema exists (but not shown), the description does not need to detail return types. However, with no annotations and a simple tool, the description is minimally sufficient: it lists returned aspects but omits usage context (e.g., requires task_id, is safe to call repeatedly). For a straightforward get tool, this is average completeness.

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 0% (no parameter descriptions in schema). The single required parameter 'task_id' is not described in the tool description. The return field list implies task_id is needed to identify the task, but the description does not explicitly link the parameter to its purpose or validate its format.

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 Russian description indicates the tool retrieves a task's header including body, status, deadline, and discussion chat presence. It clearly specifies the resource (task) and verb (get), and the list of fields distinguishes it from sibling tools like tasks_list (full list) or task_chat (chat only). However, the term 'шапка' is slightly vague and could be interpreted differently.

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 explicit guidance on when to use this tool versus alternatives. The description does not mention prerequisites (e.g., task_id), nor does it exclude use cases. With siblings like tasks_list and task_chat, the description fails to help an agent decide which tool to invoke.

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

tasks_listB

Задачи человека в выбранной роли.

Дефолт responsible = «висит лично на нём». У руководителя почти все видимые задачи чужие (он постановщик/наблюдатель) — без роли список шумит. Поле self_note помечает «заметки сам себе» (постановщик = исполнитель).

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoresponsible | originator | auditor | accomplice | memberresponsible
limitNo
user_idNo
include_doneNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

No annotations provided, so description bears full burden. It explains behavior for 'responsible' role and 'self_note' field, but lacks details on read-only status, rate limits, or error conditions.

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 concise with multiple sentences, each adding value. Front-loaded with main purpose. Slight ambiguity around 'self_note' field, but overall efficient.

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?

Given an output schema exists, return values need not be explained. However, important context like the effect of 'include_done' and 'user_id' is missing. The description covers role behavior but not other parameters.

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 description coverage is only 25%. The description mentions 'self_note' but this is not a parameter. No additional meaning is added for 'limit', 'user_id', or 'include_done' beyond the schema defaults.

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 'Tasks of a person in the selected role', which matches the tool name. It adds nuance about default role and self-notes, but does not explicitly distinguish from sibling tools like 'task_get' or 'tasks_updates'.

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?

Provides context on when to use different roles (e.g., default 'responsible' for personal tasks, managers need role to avoid noise), but does not compare to alternatives or specify when not to use this tool.

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

tasks_updatesA

Что шевелится в СВОИХ задачах за окно + какие появились новые.

Идёт по recent-хвосту, а не по списку своих member-задач (их тысячи → таймаут). Дёшево: последняя реплика уже приходит в recent.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
deepNoДочитать треды, а не последнюю реплику

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

Without annotations, the description carries the burden of behavioral disclosure. It explains the tool uses a recent tail approach and is efficient, but does not explicitly state whether it is read-only or if it has any side effects. It also does not mention authorization requirements or rate limits. The behavioral description is decent but incomplete.

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 very short (two sentences in Russian) and front-loaded with the main purpose. Every sentence provides useful information, though the translation may lose some nuance. It is appropriately sized for a simple tool.

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 has an output schema (so return values are documented), the description is sufficiently complete. It explains why this tool exists (avoid timeout) and contrasts with the member task list. It covers the core functionality for an agent to decide when to invoke it.

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 50%, but the description does not add meaning to either parameter. The 'deep' parameter already has a description in the schema ("Дочитать треды, а не последнюю реплику"), and 'days' is only in the schema with default and range. The description does not explain how these parameters affect behavior beyond the schema, so it adds little 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 that the tool shows updates in own tasks ("Что шевелится в СВОИХ задачах") and mentions new ones, distinguishing it from sibling tools like tasks_list (list all tasks) and task_get (single task). The phrase 'за окно' (over a window) is a bit vague but overall the purpose is clear.

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 guidance on when to use the tool: it goes by the recent tail rather than the full list of own member tasks to avoid timeout. It also states it is cheap ('Дёшево') because the last reply already comes in recent. This helps an agent choose this tool over alternatives like tasks_list.

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

whoamiA

Кто владелец подключённого вебхука. Быстрая проверка, что мост живой.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

No annotations are provided, and the description does not disclose potential side effects, rate limits, or authentication requirements. However, the tool is likely a simple read-only identity check.

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 short, front-loaded sentences with no extraneous information.

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

Completeness5/5

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

The description is complete for a parameterless tool with an output schema; it explains the purpose and use case adequately.

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?

No parameters exist, so the description does not need to add meaning beyond the schema. Baseline score 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 the owner of the connected webhook and serves as a quick health check, distinguishing it from sibling tools that deal with tasks, projects, etc.

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?

It implies usage for verifying connectivity/authentication ('quick check that the bridge is alive'), but does not explicitly mention when not to use or alternatives.

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

TDQS

B3.2/5.0
Disambiguation5/5

Each tool targets a distinct resource or aspect: calls (followups_list vs followup_get), tasks (list, get, chat, updates), people, projects, calendar, and chat. No overlapping purposes; descriptions clarify boundaries.

Naming Consistency4/5

Mostly consistent verb_noun snake_case pattern (e.g., tasks_list, task_get, project_read). Minor inconsistencies: plural vs singular (tasks_list vs task_get, followups_list vs followup_get) and a standalone unlike whoami.

Tool Count5/5

13 tools cover the apparent domain of a CRM portal (people, tasks, projects, calls, calendar, chats) without redundancy. Each tool earns its place for a focused integration.

Completeness2/5

Heavily read-oriented: tools retrieve data but lack create, update, or delete operations. Users can inspect tasks, projects, calls, and chats but cannot modify them, causing dead ends for agents needing to take action.

Maintenance

ActivityMaintained
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

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Локальный MCP-сервер, дающий ИИ-агенту read-only доступ к задачам, проектам и чатам Bitrix24 в объёме прав пользователя — через браузерное расширение, переиспользующее живую сессию. Без прав администратора и без официального REST-вебхука.
    12
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Universal MCP server for the Bitrix24 REST API, enabling full read and write access to CRM, tasks, calendar, disk, and more. Supports any MCP client with stdio or Streamable HTTP transport.
    88
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A secure, self-hosted MCP server for Bitrix24 CRM that enables reading CRM data and performing confirmation-gated writes through schema discovery and OAuth integration.
    13
    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/ffelrm/b24-mcp'

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