Bitrix24 MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Bitrix24 MCP ServerShow me all deals in the Sales pipeline that are overdue."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Bitrix24 MCP Server
A Model Context Protocol (MCP) server that connects Claude to your Bitrix24 portal via an incoming webhook.
Once configured, Claude can read and write CRM records, manage tasks, browse your disk, send notifications, query the product catalog, run business processes, and much more — all from natural conversation.
Built and maintained by Bit2Beat — Bitrix24 specialists.
Features
Area | What Claude can do |
CRM | List, get, create, update, and delete deals, contacts, companies, leads, and Smart Process items. Add timeline comments. |
Tasks | List, get, create, update, and complete tasks. |
Users & Departments | List active users and the organizational structure. |
Disk | Browse storages and folders, get file info and download links, upload files. |
Calendar | List and create calendar events. |
Chat & Notifications | Send private messages and personal notifications. |
Live Feed | Post messages to the activity feed. |
Groups | List workgroups and projects. |
Business Processes | List active workflows and start new ones. |
Telephony | Query the call history log. |
Product Catalog | List, get, create, and update products and sections. |
Configuration | Export the full portal config (pipelines, stages, custom fields, automations) to JSON, compare two configs, and apply one config to another portal. |
Raw API | Call any Bitrix24 REST method directly, including batch requests. |
Related MCP server: Bitrix24 MCP Server
Requirements
Node.js 18 or higher
A Bitrix24 incoming webhook URL
On Windows you can start the local HTTP gateway with a double-click on Bitrix24-MCP.exe in the repo root (put B24_DEFAULT_WEBHOOK in .env). Rebuild with powershell -ExecutionPolicy Bypass -File scripts/build-launcher.ps1.
Installation
1. Clone the repository
git clone https://github.com/bit2beat/bitrix24-mcp.git
cd bitrix24-mcp2. Install dependencies
npm install3. Create your Bitrix24 webhook
Administrator required. Only a Bitrix24 portal administrator can create incoming webhooks. This is a platform security restriction — webhooks act as system-level credentials and can carry broader permissions than a regular user session.
Step-by-step
Log in to your Bitrix24 portal as an administrator
Go to Applications (left sidebar) → Webhooks
Click Incoming webhooks → Add webhook
Give it a descriptive name (e.g.
Claude MCP)Under Permissions, enable the scopes you need (see Access Profiles below)
Click Save
Copy the generated URL — it looks like:
https://your-portal.bitrix24.com/rest/1/abc123xyz/This URL is your
B24_DEFAULT_WEBHOOK. Keep it private — it grants API access to your portal.
Where to find it later
If you need to edit the webhook or add more scopes after the initial setup:
Applications → Webhooks → Incoming webhooks → (click your webhook name)
4. Configure Claude Desktop
Open your Claude Desktop configuration file:
OS | Path |
Windows |
|
macOS |
|
Add the following entry inside "mcpServers":
{
"mcpServers": {
"bitrix24": {
"command": "node",
"args": ["C:/full/path/to/bitrix24-mcp/index.js"],
"env": {
"B24_DEFAULT_WEBHOOK": "https://your-portal.bitrix24.com/rest/1/your-token/"
}
}
}
}Windows note: use forward slashes (
/) or escaped backslashes (\\) in the path.
5. Restart Claude Desktop
After saving the config file, restart Claude Desktop. You should see the Bitrix24 tools available in the tools panel.
Access Profiles
Bitrix24 webhooks use scopes to control which modules are accessible. Each scope unlocks a set of API methods — but within a scope, all operations (read and write) are permitted. There is no built-in "read-only" flag at the scope level.
The practical way to limit what Claude can do is to combine the right set of scopes. Below are three ready-made profiles that cover the most common use cases.
Profile 1 — Structure Inspector (no business data)
Use this when you want Claude to understand the portal's configuration — pipelines, stages, custom fields, automations — without access to any actual records (no deals, no contacts, no tasks).
Ideal for: consultants auditing a portal setup, or developers mapping the CRM before building an integration.
Scopes to enable:
Scope | What it unlocks |
| Read user list (needed to resolve assignee names) |
| Read department structure |
| Read automation rules and business processes |
| Read product catalog structure |
What Claude can do: b24_read_full_config, b24_read_pipelines, b24_read_custom_fields, b24_read_entity_types, b24_read_automations, b24_read_product_catalog, b24_compare_configs, b24_users_list, b24_departments_list
What Claude cannot do: read or write deals, contacts, tasks, disk files, chat, or calendar.
Note: Pipeline and custom field data is accessed through the
crmmodule internally. If you also want to inspect CRM structure (stages, field names), addcrmto this profile — but be aware that this also enables read access to CRM records.
Profile 2 — Read-Only Operations
Use this when you want Claude to read business data but not create or modify anything.
Ideal for: reporting, analysis, answering questions about pipeline status or task progress.
Important caveat: Bitrix24 scopes do not distinguish between read and write at the API level. The crm scope enables both crm.deal.list (read) and crm.deal.add (write). Scopes alone cannot enforce read-only access.
To achieve a true read-only profile you have two options:
Trust-based: Enable only the scopes below and instruct Claude not to modify data. Claude will follow the instruction, but there is no technical enforcement.
Enforcement-based: Run a separate instance of this MCP server that only registers read tools. This requires a small code change and is planned as a future feature (
B24_PROFILE=readonly).
Recommended scopes for a read-leaning profile:
Scope | What it unlocks |
| Read (and write) CRM records |
| Read (and write) tasks |
| Read users |
| Read departments |
| Read product catalog |
| Read automations |
| Read call history |
Profile 3 — Full Access
Use this when you want Claude to operate as a full Bitrix24 assistant — reading, writing, sending messages, managing files, and everything in between.
All scopes:
Scope | Enables |
| CRM records (deals, contacts, companies, leads, SPAs) |
| Tasks |
| Users |
| Departments |
| Disk / file storage |
| Calendar events |
| Chat messages and notifications |
| Business processes and automations |
| Product catalog |
| Call history |
Claude will gracefully report when a requested action requires a scope that is not enabled on the webhook, so you can always start with fewer scopes and add more later.
Available Tools
Connection
b24_test_connection— Verify the webhook and confirm portal info and user permissions.
CRM
b24_crm_list— List CRM records with filters and automatic pagination.b24_crm_get— Get a single CRM record by ID.b24_crm_create— Create a new CRM record.b24_crm_update— Update an existing CRM record.b24_crm_delete— Delete a CRM record.b24_crm_fields— List all available fields for an entity (standard + custom).b24_crm_timeline_add— Add a comment or activity to a CRM record's timeline.
Tasks
b24_tasks_list— List tasks with filters.b24_tasks_get— Get full task detail.b24_tasks_create— Create a new task.b24_tasks_update— Update an existing task.b24_tasks_complete— Mark a task as complete.
Users & Departments
b24_users_list— List active users.b24_departments_list— List departments with hierarchy.
Disk
b24_disk_storages— List available storages.b24_disk_folder_list— Browse a folder's contents.b24_disk_file_get— Get file info and download URL.b24_disk_file_upload— Upload a file to a folder.
Calendar
b24_calendar_list— List calendar events.b24_calendar_create— Create a calendar event.
Communication
b24_chat_send— Send a private or group chat message.b24_notify_send— Send a personal notification.b24_feed_post— Post to the Live Feed.b24_groups_list— List workgroups and projects.
Business Processes
b24_bizproc_list— List active workflow instances.b24_bizproc_start— Start a business process on a record.
Telephony
b24_telephony_calls— Query the call history log.
Product Catalog
b24_products_list— List catalog products.b24_products_get— Get product detail.b24_products_create— Create a product.b24_products_update— Update a product.b24_products_sections— List catalog sections.
Configuration Management
b24_read_full_config— Export the complete portal configuration to JSON.b24_read_entity_types— Read CRM and SPA entity types.b24_read_pipelines— Read pipelines and their stages.b24_read_custom_fields— Read custom fields across all CRM entities.b24_read_automations— Read automation rules by stage.b24_read_product_catalog— Read the product catalog structure.b24_compare_configs— Compare two portal config JSON files.b24_apply_config— Apply an exported config to a target portal.b24_save_user_mapping— Generate a user ID mapping between two portals.
Raw API
b24_call— Call any Bitrix24 REST API method directly.b24_batch— Execute multiple API calls in a single HTTP request.
Usage Examples
Once configured, you can ask Claude things like:
"Show me all open deals assigned to María"
"Create a task for Tadeo to review the contract, due Friday"
"What calls came in from company X this week?"
"Export the full CRM configuration of this portal to JSON"
"Compare this portal's pipeline config with the one in config_backup.json"
Architecture
Claude (Claude Desktop / Claude Code)
│ MCP protocol (stdio)
▼
index.js (MCP server — 40 tools)
│
src/tools/ ← one file per functional area
src/bitrix24/ ← HTTP client with rate limiting & retry
src/utils/ ← pagination, rate limiter, user mapping
│
▼
Bitrix24 REST API (via incoming webhook)
│
▼
Your Bitrix24 PortalThe HTTP client enforces a 500 ms minimum delay between requests to respect Bitrix24's rate limits, and retries automatically on 429 Too Many Requests and timeout errors (up to 3 retries with exponential backoff).
Configuration Migration
This server includes tools designed for Bitrix24 consultants and partners who need to replicate portal configurations across multiple instances:
Export the source portal config with
b24_read_full_configCompare it against the target with
b24_compare_configsApply it to the target with
b24_apply_config
This workflow covers pipelines, stages, custom fields, currencies, SPA types, automations, and the product catalog.
Contributing
Contributions are welcome. Please open an issue first to discuss what you would like to change.
Fork the repository
Create a feature branch (
git checkout -b feature/your-feature)Commit your changes
Open a pull request
License
About Bit2Beat
Bit2Beat is a Bitrix24 specialist firm. We build integrations, automations, and AI-powered tools on top of the Bitrix24 platform.
If you need help implementing this MCP server or building custom Bitrix24 integrations, feel free to reach out at info@bit2beat.com.
Available Tools
41 toolsb24_batchA
Ejecuta múltiples llamadas a la API de Bitrix24 en una sola request HTTP. Los resultados de una llamada pueden usarse como parámetros de la siguiente con $result[alias][campo].
| Name | Required | Description | Default |
|---|---|---|---|
| calls | Yes | Objeto donde cada clave es un alias y el valor es { method, params }. Los params pueden referenciar resultados previos con $result[alias][campo]. Ejemplo: { "deals": { "method": "crm.deal.list", "params": { "filter": { "STAGE_ID": "NEW" } } } } | |
| webhook_url | No | ||
| personal_webhook | No | Личный webhook для записи (иначе read-only). https://<portal>/rest/<id>/<token>/. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral transparency burden. It does disclose the key behavior of executing multiple calls in one request and chaining outputs, which adds real value. However, it omits important behavioral details such as error handling, partial failures, batch limits, and the read-only vs write-webhook distinction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the core purpose and the key chaining behavior. There is no fluff, and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a generic batch tool with no annotations and no output schema, the description is too sparse. It does not explain how to select or use the optional webhook parameters, whether writes require a specific webhook, what failure semantics look like, or how responses map to aliases beyond the $result hint. An agent would need to inspect the schema carefully and still lack operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the 'calls' parameter thoroughly with an example and the $result chaining syntax, so the description mostly restates what the schema provides. It adds no meaning for 'webhook_url' or how to choose between webhook_url and personal_webhook. With 67% schema coverage, this is adequate but not compensatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Ejecuta') with a clear resource ('múltiples llamadas a la API de Bitrix24') and a distinctive mechanism ('en una sola request HTTP'). This clearly separates it from the many single-call sibling tools like b24_crm_list or b24_tasks_get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the intended usage context clear: use this tool when multiple API calls should be batched into one HTTP request, including dependent calls via $result references. It does not explicitly name alternatives or exclusions, but the batching context is strong enough to guide an agent away from single-call siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_bizproc_listB
Lista instancias de procesos de negocio activas, filtradas por entidad o registro.
| Name | Required | Description | Default |
|---|---|---|---|
| entity | No | Entidad CRM: CRM_DEAL, CRM_CONTACT, CRM_COMPANY, CRM_LEAD | |
| entity_id | No | ID del registro CRM | |
| webhook_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It usefully discloses that only active instances are returned and the verb 'Lista' implies a read operation, but it omits any statement about read-only guarantees, pagination, error behavior, authentication, or output shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. It states the action, the resource, and the filtering dimensions efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the description should compensate by explaining return values and operational context. It leaves webhook_url unexplained and does not describe the structure of the returned instances, pagination, or any call prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%: entity and entity_id have descriptions, while webhook_url does not. The description reinforces that entity and entity_id act as filters, but it does not clarify webhook_url's role or the optionality/combination rules for the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Lista') and resource ('instancias de procesos de negocio activas'), and it states the filtering dimensions. It is clear enough to distinguish from b24_bizproc_start, though it does not explicitly differentiate itself from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: to list active business process instances, optionally filtered by entity or record. However, it provides no explicit guidance on when not to use it or what alternatives exist, such as b24_bizproc_start for starting processes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_bizproc_startB
Inicia un proceso de negocio (workflow) sobre un documento o registro CRM.
| Name | Required | Description | Default |
|---|---|---|---|
| parameters | No | Parámetros del proceso | |
| document_id | Yes | Array con 3 elementos identificando el documento: ["crm", "CCrmDocumentDeal", "DEAL_123"] para un deal con ID 123 | |
| template_id | Yes | ID de la plantilla de proceso de negocio | |
| webhook_url | No | ||
| personal_webhook | No | Личный webhook для записи (иначе read-only). https://<portal>/rest/<id>/<token>/. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says the process is started, without explaining side effects, permission requirements, whether the operation is asynchronous, or what happens to the target record. This is a meaningful gap for a mutating workflow action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no redundant wording. It is appropriately concise and front-loaded, though it could have used the spare space to add behavioral or usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating tool with no annotations, no output schema, and five parameters, this description is too minimal. It leaves out what the response will be, when to use the tool, and what side effects to expect. The schema covers parameter formats, but the overall operational context is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so the schema already documents most parameters. The tool description itself adds no parameter-level meaning, but this is acceptable because document_id and template_id are reasonably explained in the schema. The main description does not compensate for the undocumented webhook_url parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('inicia') with a concrete resource ('proceso de negocio/workflow sobre un documento o registro CRM'). It clearly communicates the tool's core action and naturally distinguishes it from siblings such as b24_bizproc_list or b24_crm_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives. It does not mention b24_bizproc_list or any other sibling, nor does it describe prerequisites, context, or exclusions. The intended usage must be inferred solely from the tool name and generic action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_calendar_createB
Crea un evento en el calendario con participantes, ubicación y recordatorios.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Nombre/título del evento | |
| type | No | user | |
| remind | No | Recordatorios. Ejemplo: [{ type: "min", count: 15 }] | |
| date_to | Yes | Fecha/hora fin ISO8601. Ejemplo: "2026-06-15 11:00:00" | |
| location | No | ||
| owner_id | No | ||
| attendees | No | IDs de usuarios invitados | |
| date_from | Yes | Fecha/hora inicio ISO8601. Ejemplo: "2026-06-15 10:00:00" | |
| description | No | ||
| webhook_url | No | ||
| personal_webhook | No | Личный webhook для записи (иначе read-only). https://<portal>/rest/<id>/<token>/. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure, yet it only says it creates an event. It does not mention whether a webhook is required for writes, what side effects occur, whether the operation is idempotent, or what response the caller should expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every phrase adds relevant information about what the tool does and what the event can include.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 parameters, no output schema, and no annotations, a one-sentence description is not enough to completely orient an agent. It omits the user/group/company calendar type dimension, authorization/webhook nuances, required-field guidance, and any indication of the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description maps to some parameters (attendees, location, remind), but mostly repeats property names already visible in the schema. Schema description coverage is only 55%, and the description does not clarify undocumented parameters such as type, owner_id, description, or webhook_url.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Crea un evento en el calendario') with a clear resource and identifies notable included features: participants, location, and reminders. It clearly distinguishes this tool from calendar listing or other create tools in the sibling set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies 'use this to create a calendar event' but provides no explicit guidance about when to prefer it over alternatives or any exclusions. There is no mention of the read-only default without a write webhook, which would be useful usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_calendar_listB
Lista eventos de calendario personal, de grupo o de empresa con filtro de fechas.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Fecha fin ISO8601. Ejemplo: "2026-12-31" | |
| from | No | Fecha inicio ISO8601. Ejemplo: "2026-01-01" | |
| type | No | Tipo de calendario: user (personal), group (grupo de trabajo), company_calendar (empresa) | user |
| limit | No | Макс. записей в ответе (1–50). Дальше — start. | |
| start | No | Смещение Bitrix (start). | |
| owner_id | No | ID del usuario o grupo propietario. Default: usuario del webhook | |
| webhook_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, but it only states the read action and the date filter. It does not disclose pagination via limit/start, the default type=user, the owner_id default, or anything about response shape. This is minimal disclosure for a list tool, with no safety, rate-limit, or side-effect context offered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded Spanish sentence states the verb, resource, scope, and filter with zero filler words. It is appropriately compact, though it could have added a second sentence on pagination or defaults without becoming bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 7 parameters, no annotations, and no output schema, so the description is the only source of behavioral and return context — yet it covers neither response shape nor pagination. An agent can invoke it using schema defaults, but will not know what the results look like or how to page through them, which is a significant gap at this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86%, so the schema already documents most parameters (from, to, type, limit, start, owner_id) with examples, defaults, and bounds, putting the baseline at 3. The description only echoes the enum values (personal/group/company) and the date filter already present in the schema, adding no new semantic meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Lista') with a clearly defined resource ('eventos de calendario personal, de grupo o de empresa') and names the date-filter capability, making the operation unambiguous. It clearly separates this tool from the many b24_* siblings by naming the calendar domain, but it never explicitly contrasts it with b24_calendar_create or other list tools, so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The stated scope — personal/group/company calendar events with date filtering — implies when an agent should reach for this tool over sibling list tools such as b24_crm_list, b24_tasks_list, or b24_products_list. However, there is no explicit when/when-not guidance, no mention of prerequisites (e.g., webhook_url), and no contrast with b24_calendar_create, leaving usage to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_callA
Llama CUALQUIER método REST de la API de Bitrix24. Úsalo cuando no exista un tool específico. Referencia completa: https://dev.1c-bitrix.ru/rest_help/
| Name | Required | Description | Default |
|---|---|---|---|
| method | Yes | Método REST de Bitrix24. Ejemplos: crm.deal.list, tasks.task.add, disk.folder.getchildren, im.notify.personal.add | |
| params | No | Parámetros del método como objeto JSON. Ejemplo: { "filter": { "STAGE_ID": "WON" }, "select": ["ID","TITLE"] } | |
| webhook_url | No | Webhook opcional, usa el default si no se indica | |
| personal_webhook | No | Личный webhook для записи (иначе read-only). https://<portal>/rest/<id>/<token>/. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says the tool can call any REST method and links to external documentation; it does not mention authentication requirements, read-only default behavior, destructive side effects, or rate limits. The write/read distinction is only hinted at in the personal_webhook parameter schema, not in the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler: it states what the tool does, when to use it, and where to find full documentation. 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, usage, and provides a reference, but with no annotations and no output schema, it omits behavioral and safety context such as write operations requiring a personal webhook and the variable nature of responses. It is sufficient for simple reads but not fully complete for a generic arbitrary-method tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and parameter descriptions already include examples for method and params. The description itself adds little parameter-level meaning beyond pointing to the full REST reference, which is the expected baseline when the schema is already rich.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool calls ANY REST method of the Bitrix24 API, using a specific verb and resource. It also positions itself as the generic fallback, which distinguishes it from the many b24_* sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit usage rule: 'Úsalo cuando no exista un tool específico' (use it when no specific tool exists). This is directly actionable routing guidance and clearly differentiates it from the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_chat_sendC
Envía un mensaje a un chat privado o grupal en el IM de Bitrix24.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | Texto del mensaje | |
| dialog_id | Yes | ID del chat. Para mensaje privado: "userId_NUMERO" o ID numérico del usuario. Para chat grupal: ID del chat | |
| webhook_url | No | ||
| personal_webhook | No | Личный webhook для записи (иначе read-only). https://<portal>/rest/<id>/<token>/. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that a message is sent to private or group chat; it does not mention permissions, webhook requirements, side effects, idempotency, rate limits, or return behavior. The personal_webhook schema description hints at read-only behavior, but the tool description itself adds no behavioral depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It is concise and readable, though it could earn a 5 by adding usage routing in the same compact form.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and partial schema coverage, the description is too thin to be fully self-sufficient. It gives no guidance on when to prefer this tool over sibling messaging/notification tools, no expected result information, and no behavioral caveats.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter meaning beyond the schema, but the schema already documents 3 of 4 parameters, including important guidance for dialog_id and personal_webhook. The main gap is webhook_url, which lacks a description, so the overall parameter semantics is acceptable but not strongly enriched by the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Envía'), resource (mensaje), and target context (chat privado o grupal en el IM de Bitrix24). It is clear, though it does not explicitly differentiate from sibling tools such as b24_notify_send or b24_feed_post.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives like b24_notify_send, b24_feed_post, or b24_call. The description implies IM chat usage but provides no exclusions, prerequisites, or routing hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_crm_createA
Crea un nuevo registro CRM: deal, contact, company, lead, cotización, o item de SPA.
| Name | Required | Description | Default |
|---|---|---|---|
| entity | No | ||
| fields | Yes | Campos del registro a crear. Ejemplo: { "TITLE": "Nuevo deal", "STAGE_ID": "NEW", "ASSIGNED_BY_ID": 1 } | |
| params | No | Parámetros adicionales del método (ej: REGISTER_SONET_EVENT) | |
| webhook_url | No | ||
| entity_type_id | No | ||
| personal_webhook | No | Личный webhook для записи (иначе read-only). https://<portal>/rest/<id>/<token>/. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only restates the create operation. It does not disclose that a write webhook may be required, that the operation is not read-only, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. Every word contributes meaning by naming the action and the accepted entity types.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with six parameters, nested objects, no annotations, and no output schema, the description is too thin. It omits return behavior, prerequisites such as personal_webhook, and how several parameters work.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description partially compensates for the 50% schema coverage by enumerating allowed values for the entity parameter. However, it adds no meaning for webhook_url, entity_type_id, or params, which are undocumented in the schema; the schema descriptions for fields and personal_webhook carry the rest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Crea') and a concrete resource ('registro CRM'), then enumerates supported entity types: deal, contact, company, lead, cotización, o item de SPA. This clearly distinguishes creation from sibling tools like b24_crm_update, b24_crm_delete, and b24_crm_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context for when to use the tool: whenever a new CRM record of the listed types needs to be created. It does not explicitly mention alternative tools or exclusions, but the intended use case is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_crm_deleteC
Elimina un registro CRM por ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| entity | No | ||
| webhook_url | No | ||
| entity_type_id | No | ||
| personal_webhook | No | Личный webhook для записи (иначе read-only). https://<portal>/rest/<id>/<token>/. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state whether deletion is permanent, whether confirmation or special permissions are needed, or that a write-capable webhook may be required. The only behavioral hint, 'read-only' without a personal webhook, lives in the schema rather than the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short, front-loaded sentence with no wasted words. However, brevity comes at the expense of essential operational detail, so it is efficient rather than fully effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with five parameters, no annotations, and no output schema, the description is under-specified. It omits webhook requirements, entity/scoping details, and any indication of expected behavior or errors, making it insufficient for reliable invocation in non-trivial contexts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20%, and the description adds little beyond identifying that an ID is used. With five parameters, including entity, webhook_url, and entity_type_id, the agent gets no explanation of how they relate to the delete operation or whether entity_type_id or entity is needed alongside id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Elimina' / deletes), a clear resource ('registro CRM'), and the key criterion ('por ID'). This cleanly distinguishes it from sibling tools like b24_crm_get, b24_crm_update, and b24_crm_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives, no prerequisites such as write-enabled webhook configuration, and no exclusions or caveats. Usage context is only implied by the verb 'delete'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_crm_fieldsB
Lista todos los campos disponibles de una entidad CRM (estándar + personalizados) con sus tipos, etiquetas y configuración.
| Name | Required | Description | Default |
|---|---|---|---|
| entity | No | Tipo de entidad: deal, contact, company, lead | |
| webhook_url | No | ||
| entity_type_id | No | ID de SPA |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It does communicate that this is a read-only listing operation and describes the content returned (standard + custom fields, types, labels, configuration). However, it does not disclose webhook/auth requirements, the effect of passing no parameters, or how entity_type_id and webhook_url affect the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. The core action and resource are front-loaded, and the additional details (standard + custom, types, labels, configuration) are presented efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple metadata-listing tool, the description covers the key output content and read-only nature, which is important because there is no output schema. However, it leaves the webhook_url parameter unexplained and does not clarify invocation behavior when optional parameters are omitted, making it adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 67%, and the description adds little parameter-level meaning. The 'entity' parameter is already described in the schema, but 'webhook_url' has no description at all and 'entity_type_id' is described cryptically as 'ID de SPA'. The description does not clarify the relationship between entity, entity_type_id, and webhook_url.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Lista') and resource ('campos disponibles de una entidad CRM'), and specifies that it includes both standard and custom fields with their types, labels, and configuration. It clearly distinguishes itself from the sibling b24_read_custom_fields by explicitly covering standard fields as well.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives like b24_crm_list, b24_crm_get, or b24_read_custom_fields. It does not mention exclusions, prerequisites, or the conditions under which this tool is preferred. Usage must be inferred entirely from the purpose statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_crm_getA
Obtiene un registro CRM completo por ID: deal, contact, company, lead, o item de SPA.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID del registro | |
| entity | No | ||
| webhook_url | No | ||
| entity_type_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the behavioral burden. It does disclose that the operation is a read ('Obtiene') and that it returns a 'complete' record across several entity types. However, it does not mention error behavior, authorization requirements, or whether optional parameters alter behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, dense sentence that immediately leads with the verb and object. Every word adds value, and the supported entity list is compactly attached. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with four parameters, no output schema, and no annotations, this description is too thin. It leaves the meaning and necessity of 'entity', 'webhook_url', and 'entity_type_id' open, does not clarify how to choose between CRM entity types, and offers no guidance on expected response shape or failure modes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25%, so the description must compensate. It adds useful context by naming the entity types, which likely correspond to the 'entity' parameter, but it never explicitly maps them to parameters. 'webhook_url' and 'entity_type_id' remain entirely unexplained, leaving most parameters semantically empty.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Obtiene un registro CRM completo por ID') and explicitly names the supported record types (deal, contact, company, lead, SPA item), which distinguishes it from list/create/update/delete siblings. An agent can tell this is the single-record-by-ID retriever without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'por ID' implies this is the tool for fetching one specific record rather than listing or creating, but no explicit alternatives or when-not-to-use guidance is given. With siblings like b24_crm_list and b24_tasks_get nearby, the agent must infer the separation rather than being told.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_crm_listA
Lista registros CRM: deals, contactos, empresas, leads, cotizaciones, o items de SPA. Soporta filtros, selección de campos y paginación automática.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Макс. записей в ответе (1–50). Дальше — start. | |
| order | No | Ordenamiento. Ejemplo: { "DATE_CREATE": "DESC" } | |
| start | No | Смещение Bitrix (start). | |
| entity | No | Tipo de entidad: deal, contact, company, lead, quote, invoice | |
| filter | No | Filtros. Ejemplo: { "STAGE_ID": "WON", ">DATE_CREATE": "2026-01-01" } | |
| select | No | Campos a retornar. Default зависит от entity. ["*"] — все поля включая UF_* | |
| all_pages | No | Si true, trae до 200 записей. Иначе — одна страница с limit | |
| webhook_url | No | ||
| entity_type_id | No | ID de SPA (Smart Process). Alternativa a entity para procesos personalizados |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. 'Lista' clearly signals a read-only operation, and it discloses key behaviors: filtering, field selection, and automatic pagination. It does not discuss rate limits or response format in detail, but that is less critical for a non-mutating list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loading the core purpose and resource, then listing supporting capabilities. Every clause adds useful information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter tool without annotations or an output schema, the description provides the essential invocation context: which entities can be listed and what operations are supported. The rich parameter schema fills in the remaining details, though the output shape is not mentioned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high (89%), with per-parameter explanations and examples, so the baseline is 3. The description only broadly names filters, field selection, and pagination; it adds no syntax-level meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Lista') and resource ('registros CRM'), and enumerates the supported entity types: deals, contacts, companies, leads, quotes, and SPA items. This clearly distinguishes it from non-CRM list siblings and from b24_crm_get, which implies a single-record retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool by mentioning filters, field selection, and automatic pagination for CRM records. However, it gives no explicit guidance about when not to use it or when to prefer related siblings such as b24_crm_get for single records.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_crm_timeline_addC
Agrega un comentario o actividad a la línea de tiempo de un registro CRM.
| Name | Required | Description | Default |
|---|---|---|---|
| entity | Yes | Tipo de entidad CRM: deal, contact, company, lead | |
| comment | Yes | Texto del comentario a agregar en la línea de tiempo | |
| entity_id | Yes | ID del registro CRM | |
| webhook_url | No | ||
| personal_webhook | No | Личный webhook для записи (иначе read-only). https://<portal>/rest/<id>/<token>/. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the add action but does not mention required permissions, whether the operation is reversible, what happens with a read-only webhook, or what the response looks like. This is a meaningful gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler words, making it easy to scan. It loses a point because the 'o actividad' phrase is slightly misleading and the sentence does not front-load any distinguishing constraints or alternatives.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is too thin. It omits when to use it, the webhook/authentication requirement, what input combination is necessary to avoid read-only failure, and what a successful call returns. The schema covers parameter basics, but the tool-level description does not provide enough operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so the input schema already documents most parameters. The tool description adds no additional meaning about parameters; in fact, 'actividad' hints at a capability not represented in the schema. With high schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Agrega') and a specific resource ('la línea de tiempo de un registro CRM'), so an agent can tell this is about adding something to a CRM record's timeline. However, it says 'comentario o actividad' while the input schema only supports a comment field, creating mild ambiguity, and it does not distinguish itself from siblings like b24_crm_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives, no mention of prerequisites such as having write access via webhook, and no exclusions. The usage context is only vaguely 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.
b24_crm_updateC
Actualiza campos de un registro CRM existente.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| entity | No | ||
| fields | Yes | Campos a actualizar | |
| params | No | ||
| webhook_url | No | ||
| entity_type_id | No | ||
| personal_webhook | No | Личный webhook для записи (иначе read-only). https://<portal>/rest/<id>/<token>/. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No hay anotaciones, así que la descripción debe revelar el comportamiento. Solo dice que actualiza campos, lo cual ya está en el nombre; no informa si el update es parcial, si requiere permisos especiales, qué pasa con campos no especificados ni el formato de respuesta.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Una sola oración, sin relleno y con el verbo al frente. Es eficiente, aunque esa brevedad se logra a costa de omitir contexto operativo.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
La herramienta tiene 7 parámetros, sin anotaciones ni output schema, y la descripción es solo una frase. No explica cómo identificar el registro, cómo elegir entity vs entity_type_id, ni qué hacen params/webhooks; es insuficiente para invocarla correctamente.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Con solo un 29% de cobertura de descripción en el schema, la descripción debía compensar, pero no añade significado a parámetros como entity, params, webhook_url, entity_type_id o personal_webhook. 'Campos' repite lo que ya dice el schema sin aportar detalle.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
La descripción usa un verbo concreto ('Actualiza') y un recurso claro ('campos de un registro CRM existente'). El término 'existente' lo distingue de b24_crm_create, aunque no menciona explícitamente otras alternativas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No hay indicaciones sobre cuándo usar esta herramienta frente a b24_crm_create, b24_crm_get o b24_crm_delete. Solo se infiere por la palabra 'existente'; falta orientación sobre requisitos previos o casos en que no debe usarse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_departments_listA
Lista departamentos de la estructura organizativa con jerarquía y responsables.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Макс. записей в ответе (1–50). Дальше — start. | |
| start | No | Смещение Bitrix (start). | |
| filter | No | Filtros. Ejemplo: { "PARENT": 5 } para subdepartamentos. { "NAME": "Ventas" } para buscar por nombre | |
| webhook_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does add behavioral context by saying the result includes hierarchy and responsible persons, which is useful. However, it does not mention pagination behavior (limit/start), explicit read-only intent, or response format, leaving notable gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded Spanish sentence that communicates the action and key result characteristics with zero filler. It is appropriately concise for a straightforward list operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description plus schema provide enough to invoke the tool, but the absence of an output schema and annotations leaves details about return envelope and pagination uncertain. 'Jerarquía' hints at nested data, but not enough to fully predict the response. Adequate, yet with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents limit, start, and filter with helpful examples (75% coverage), so the description's silence on parameters is partly compensated. The description itself adds no parameter-level meaning and does not clarify the undocumented webhook_url field. Overall it neither enriches nor harms parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Lista'), a precise resource ('departamentos de la estructura organizativa'), and useful output details ('jerarquía y responsables'). It is clear that this tool lists organizational departments and includes hierarchy/manager data. None of the sibling tools target departments, so it is effectively differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool vs alternatives, no exclusions, and no mention of related tools like b24_users_list or b24_groups_list. It relies entirely on the resource named in the sentence, so usage context is not explicitly addressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_disk_file_contentA
Скачивает файл с MCP-сервера (base64 или save_to). Когда DOWNLOAD_URL недоступен снаружи (WAF 403). Крупные файлы — save_to.
| Name | Required | Description | Default |
|---|---|---|---|
| file_id | Yes | ID del archivo (params.FILE_ID del mensaje de chat) | |
| save_to | No | Ruta ABSOLUTA en el servidor donde guardar el archivo. Si se indica, no se devuelve base64 (útil para archivos grandes). | |
| max_size_mb | No | Límite de tamaño para devolver base64 (MB). Por encima, usar save_to. Default 25. | |
| webhook_url | No | ||
| personal_webhook | No | Личный webhook для записи (иначе read-only). https://<portal>/rest/<id>/<token>/. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description itself must carry the behavioral burden. It discloses the main behavior (base64 vs save_to, WAF-403 fallback, large-file guidance), but it does not mention authentication/read-only implications, error handling, or side effects of writing to a server path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences front-load the core purpose and then add the key conditions. Every phrase contributes, with no filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a download tool with no output schema and no annotations, the description gives the essential mode selection but omits response shape, error behavior, and how to choose between this and b24_disk_file_get. It is adequate for a simple invocation but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is high (80%), so the schema already documents most parameters. The description reinforces the save_to-vs-base64 choice for large files and the WAF-403 trigger, but adds little beyond what the parameter descriptions already state.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific operation ('Скачивает файл с MCP-сервера') and the two output modes (base64 or save_to), so an agent can tell it downloads file content rather than listing or uploading. It does not explicitly distinguish it from sibling b24_disk_file_get, but the core 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete conditions: use this when DOWNLOAD_URL is inaccessible externally (WAF 403) and use save_to for large files. It does not name alternative tools or state explicit when-not cases, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_disk_file_getA
Метаданные файла и DOWNLOAD_URL. Вложения чата задачи: im.dialog.messages.get → FILE_ID. ACCESS_DENIED = нет членства в задаче; инструкцию из ошибки передать оператору.
| Name | Required | Description | Default |
|---|---|---|---|
| file_id | Yes | ID del archivo (params.FILE_ID del mensaje de chat) | |
| webhook_url | No | ||
| personal_webhook | No | Личный webhook для записи (иначе read-only). https://<portal>/rest/<id>/<token>/. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and it does disclose the key error semantics (ACCESS_DENIED = no task membership) plus an escalation instruction. However, it does not discuss optional webhook behavior, download URL properties, or whether the operation is strictly read-only; the schema hints at read-only but the description does not reinforce it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place: the first states the output, the second gives the required parameter source, and the third gives actionable error handling. It is dense, front-loaded, and free of filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple metadata getter, the description covers the core operational need: what is returned, where the required file_id comes from, and how to handle the most likely error. Missing nuances are the optional webhook parameters and a direct pointer to b24_disk_file_content for retrieving actual file bytes, but these are secondary to the common task-chat-attachment flow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, and the description adds meaning above the schema by specifying the exact source of file_id via im.dialog.messages.get → FILE_ID. The personal_webhook is already described in the schema. The webhook_url parameter remains undocumented, but the required parameter's provenance is significantly clarified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific output: file metadata and DOWNLOAD_URL, which clearly distinguishes it from sibling b24_disk_file_content (file bytes) and b24_disk_file_upload. Even without repeating the 'get' verb, the resource and result are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a concrete usage context: task chat attachments, with an explicit data flow im.dialog.messages.get → FILE_ID. It also explains the ACCESS_DENIED condition and instructs forwarding the error to an operator. It does not explicitly say when not to use it or route to sibling tools, but the provided context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_disk_file_uploadB
Sube un archivo a una carpeta del Disk de Bitrix24.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Nombre del archivo incluyendo extensión | |
| folder_id | Yes | ID de la carpeta destino | |
| webhook_url | No | ||
| content_base64 | Yes | Contenido del archivo en Base64 | |
| personal_webhook | No | Личный webhook для записи (иначе read-only). https://<portal>/rest/<id>/<token>/. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No hay anotaciones, por lo que la descripción asume toda la responsabilidad. Solo indica que sube un archivo, sin revelar efectos secundarios, requisitos de permisos o comportamiento ante sobrescritura. La pista en el parámetro personal_webhook sobre 'read-only' es útil pero aparece en un idioma distinto (ruso) y no compensa la falta de transparencia general.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Una sola oración sin palabras superfluas, con la acción y el recurso al frente. Estructura concisa y directa, sin relleno ni repeticiones.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Faltan detalles críticos: qué devuelve la herramienta, cómo elegir entre webhook_url y personal_webhook, el mecanismo de autenticación y las implicaciones de la operación de escritura. Dado que no hay esquema de salida ni anotaciones, la descripción es insuficiente para que un agente la invoque correctamente en todos los casos.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
La cobertura del esquema es del 80%, por lo que la línea base es 3. Las descripciones de parámetros (name, folder_id, content_base64, personal_webhook) aportan significado, aunque la descripción principal no añade nada adicional. webhook_url carece de descripción, pero su formato está definido.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
La descripción 'Sube un archivo a una carpeta del Disk de Bitrix24' especifica una acción clara (subir), un recurso concreto (archivo) y el destino (carpeta del Disk). Se distingue bien de sus hermanos b24_disk_file_get, b24_disk_file_content y b24_disk_folder_list, que tienen propósitos diferentes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No se indica cuándo usar esta herramienta frente a alternativas ni se mencionan exclusiones o condiciones previas. El contexto de uso debe inferirse únicamente del nombre y la descripción, sin orientación sobre cómo diferenciarla de otras operaciones de Disk.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_disk_folder_listC
Lista el contenido de una carpeta en el Disk de Bitrix24.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Макс. записей в ответе (1–50). Дальше — start. | |
| start | No | Смещение Bitrix (start). | |
| filter | No | Filtros opcionales. Ejemplo: { "NAME": "Contratos" } | |
| folder_id | No | ID de la carpeta. Si no se indica, lista el storage raíz del usuario | |
| webhook_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure, but it only reveals that the tool lists folder contents. It does not mention pagination behavior, whether the response includes files and subfolders, authentication/webhook expectations, or errors, so an agent cannot predict side effects or response handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler or redundant wording. It conveys the core operation in minimal space, which is exactly what conciseness requires.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 5 parameters and no output schema, the description does not specify the shape of the returned listing, how filtering composes with pagination, or which sibling tools handle storage/file-level operations. The absence of annotations and output schema leaves important context uncovered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so the schema already explains limit, start, filter, and folder_id; the description adds essentially no new parameter meaning beyond the folder context. webhook_url is left undocumented, but the high baseline coverage means the description is not required to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description has a specific verb ('Lista'), a clear resource ('el contenido de una carpeta en el Disk de Bitrix24'), and it makes the tool's intent obvious. It distinguishes itself from disk file get/upload siblings by focusing on listing a folder's contents, though it does not explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to choose this tool over b24_disk_storages, b24_disk_file_get, or other disk siblings. The description only states what it does, not when to use it or what conditions make it the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_disk_storagesB
Lista todos los storages disponibles (personal, grupos, empresa).
| Name | Required | Description | Default |
|---|---|---|---|
| webhook_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description signals a read-only listing operation through the verb 'Lista', but annotations are absent, so the description carries the full behavioral burden. It does not disclose whether authentication via webhook_url is needed, what the response looks like, or any pagination/access limitations. The operation's basic side-effect-free nature is clear, but deeper behavioral context is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It states the action, the resource, and the storage scopes efficiently, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool, the description is adequate, but it leaves gaps: the role of webhook_url is unexplained, there is no differentiation from b24_disk_folder_list, and with no output schema, the agent gets no hints about the structure or content of the returned storage list. It is minimally viable but not fully complete for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, webhook_url, has no schema description (0% coverage), and the tool description does not mention it at all. While the parameter name and uri format hint at its purpose, the description fails to compensate for the missing schema documentation by explaining how or when it should be provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Lista') and a clear resource ('todos los storages disponibles'), with a parenthetical enumerating the storage scopes. This distinguishes it from sibling disk tools like b24_disk_folder_list and b24_disk_file_get, which operate at the folder/file level rather than the storage level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what the tool does but gives no guidance on when to prefer it over other disk-related tools or what conditions make it the right choice. There are no exclusions, prerequisites, or alternative comparisons, so the agent must infer usage purely from the tool name and sibling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_feed_postC
Publica un mensaje en el feed de actividad (Live Feed) de Bitrix24, con soporte BB-code.
| Name | Required | Description | Default |
|---|---|---|---|
| files | No | Adjuntos en formato Base64 | |
| title | No | Título del post (opcional) | |
| message | Yes | Texto del mensaje. Soporta BB-code: [B]negrita[/B], [I]italica[/I], [URL=http://...]texto[/URL] | |
| important | No | Si true, marca el post como importante | |
| destination | No | IDs de usuarios o grupos destino. Si está vacío, se publica para todos. Formato: ["U5", "U10"] para usuarios, ["SG12"] para grupos | |
| webhook_url | No | ||
| personal_webhook | No | Личный webhook для записи (иначе read-only). https://<portal>/rest/<id>/<token>/. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states that the tool publishes a message with BB-code support, but does not disclose side effects, visibility rules, authentication requirements, or whether the post is editable/deletable. The schema's mention of read-only webhooks hints at auth, but the description does not.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core action and resource. Every word contributes; there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a mutating tool, the description is too thin. It omits what happens after the post is published, whether a webhook is required for writes, and the fact that an empty destination publishes to everyone. An agent can infer some of this from the schema but the description does not provide the needed context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86%, so most parameters already carry explanatory text. The description adds almost nothing beyond the schema: BB-code support is also mentioned in the message parameter's schema description. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Publica') and a specific resource ('feed de actividad (Live Feed) de Bitrix24'), and adds BB-code support as a distinctive capability. It does not explicitly differentiate from sibling tools like b24_chat_send or b24_notify_send, but the resource is concrete enough to be unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. With siblings like b24_chat_send, b24_notify_send, and b24_crm_timeline_add, an agent gets no help choosing the correct feed-related tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_groups_listB
Lista grupos de trabajo (workgroups y proyectos) con filtros por estado y visibilidad.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Макс. записей в ответе (1–50). Дальше — start. | |
| start | No | Смещение Bitrix (start). | |
| filter | No | Filtros. Ejemplo: { "ACTIVE": "Y", "VISIBLE": "Y" }. Campos: NAME, ACTIVE, VISIBLE, OPENED, PROJECT | |
| select | No | Campos. Default: ID, NAME, ACTIVE, PROJECT | |
| webhook_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. 'Lista' does convey a read-only intent, and the filtered listing behavior is stated. However, it does not mention pagination behavior, response format, or any other operational details that would be useful without annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence that front-loads the verb and resource, then names the key filtering capability. No words are wasted, and it is appropriately sized for a straightforward list tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, a nested filter object, and no output schema, the description is somewhat minimal. Parameter details are mostly covered by the schema, but the description does not mention pagination, default select fields, or the response shape, which would help an agent know what to expect from the listing operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high at 80%, so the baseline is 3. The description's mention of 'estado y visibilidad' loosely aligns with the filter fields ACTIVE and VISIBLE, but the schema already documents these clearly with an example. The description adds little new meaning for limit, start, select, or webhook_url.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Lista' = lists) and the resource ('grupos de trabajo (workgroups y proyectos)'), adding that it supports status and visibility filters. It accurately conveys the scope of the tool, though it does not explicitly differentiate it from a specific sibling tool since no direct group-list alternative is present.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to prefer this tool over alternatives, nor are there any exclusions or context about prerequisites. The description implies listing use cases through the filter mention, but an agent is not told when this is the right choice versus other list tools such as b24_tasks_list or b24_users_list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_notify_sendC
Envía una notificación personal a un usuario dentro de Bitrix24.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ID del usuario destinatario | |
| tag | No | Tag para agrupar o reemplazar notificaciones previas del mismo tag | |
| type | No | Tipo: SYSTEM (notificación simple), CONFIRM (con botones confirmar/rechazar), LINES (Open Lines) | SYSTEM |
| message | Yes | Texto de la notificación | |
| webhook_url | No | ||
| personal_webhook | No | Личный webhook для записи (иначе read-only). https://<portal>/rest/<id>/<token>/. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden for behavioral disclosure. It only says that a notification is sent; it does not mention the need for a write-capable webhook, read-only implications, tag replacement behavior, or the confirm-type interaction, all of which are important for correct invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It is concise and readable, though it achieves brevity at the expense of behavioral context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating tool with no annotations, no output schema, and six parameters, the description is too thin. It omits webhook requirements, read-only caveats, return behavior, and other details an agent would need to invoke the tool correctly in varied scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83%, so the parameter descriptions already document most fields. The main description adds little parameter-level meaning, but the high schema coverage justifies the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear action verb ('Envía') and identifies the resource ('una notificación personal a un usuario dentro de Bitrix24'). However, it does not explicitly distinguish this tool from sibling tools like b24_chat_send or b24_feed_post, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives. Sibling names such as b24_chat_send suggest possible overlap, but the description never states conditions, exclusions, or preferred scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_products_createC
Crea un nuevo producto en el catálogo.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | Yes | Campos del producto. Requeridos: NAME. Opcionales: ACTIVE, PRICE, CURRENCY_ID, DESCRIPTION, SECTION_ID, PREVIEW_PICTURE | |
| webhook_url | No | ||
| personal_webhook | No | Личный webhook для записи (иначе read-only). https://<portal>/rest/<id>/<token>/. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that a new product is created, and does not mention write authorization, the read-only default mentioned in the personal_webhook schema description, side effects, or what occurs on failure or success.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler words. The action is stated immediately and the resource is clear. It is concise, though the brevity contributes to missing behavioral and usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with no annotations and no output schema, the description is too sparse. It omits the write-webhook requirement, the mandatory NAME field, and any indication of what the tool returns. The schema partially compensates, but the description alone is not complete enough for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter-level meaning beyond the input schema. It does not mention that NAME is required, which optional fields exist, or how webhook_url and personal_webhook differ. The schema covers 67% of parameters, so the gap is moderate rather than severe.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Crea') and resource ('producto en el catálogo'), and explicitly says 'nuevo' to separate creation from updates. It clearly distinguishes this tool from sibling tools like b24_products_get, b24_products_list, and b24_products_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives. It does not mention b24_products_update for modifying existing products, b24_products_get for reading, or any exclusions. The usage context must be inferred entirely from the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_products_getA
Obtiene el detalle completo de un producto por ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID del producto | |
| webhook_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. 'Obtiene el detalle completo' makes the read-only intent and the response scope reasonably clear, but it does not disclose error behavior, auth requirements, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence with no filler. It front-loads the action and resource, then states the distinguishing condition ('por ID').
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with a single required parameter, the core invocation is covered. However, there is no output schema and no annotation, so 'detalle completo' is vague about the return shape, and the optional webhook_url remains unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%: 'id' is documented, but 'webhook_url' has no schema description. The tool description merely restates the ID relationship and does nothing to explain the webhook_url parameter, leaving a meaningful gap for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Obtiene'), a specific resource ('un producto'), and the key access pattern ('por ID'). This clearly distinguishes it from sibling tools like b24_products_list, b24_products_create, and b24_products_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'por ID' implies the tool should be used when you have a product ID and need full detail, so usage is inferable. However, there is no explicit guidance about when to choose this over b24_products_list or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_products_listC
Lista productos del catálogo con filtros por sección, precio, estado activo, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Макс. записей в ответе (1–50). Дальше — start. | |
| start | No | Смещение Bitrix (start). | |
| filter | No | Filtros. Ejemplo: { "SECTION_ID": 5, "ACTIVE": "Y" } o { ">=PRICE": 100, "<=PRICE": 500 } para rango de precios | |
| select | No | Campos a retornar. Default: ID, NAME, ACTIVE, PRICE, CURRENCY_ID, SECTION_ID | |
| all_pages | No | ||
| webhook_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It mentions that products are listed and filterable, but it does not disclose pagination behavior (limit/start/all_pages), default select fields, webhook_url usage, or return shape. This is a minimal disclosure for a tool with no annotation safety hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with the core action and filter scope stated immediately. There is no redundant wording or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a 6-parameter tool with a nested filter object, no output schema, and no annotations, one sentence is insufficient. Missing context includes pagination behavior, all_pages semantics, how select works, and whether webhook_url is required for connectivity. The schema covers some parameters, but the tool description does not complete the picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description points to filter capabilities that map to the 'filter' parameter, but the input schema already documents those examples in detail. It adds no meaningful guidance for the undocumented all_pages and webhook_url parameters, and it does not explain select or pagination semantics beyond what the schema covers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Lista productos del catálogo') and the resource (product catalog), plus the main filtering dimensions (section, price, active status). It is clear, though it does not explicitly distinguish itself from b24_products_get or b24_read_product_catalog.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus b24_products_get, b24_products_sections, or b24_read_product_catalog. The listing intent is implied by the verb, but there are no exclusions, prerequisites, or alternative selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_products_sectionsB
Lista las secciones/categorías del catálogo de productos.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Макс. записей в ответе (1–50). Дальше — start. | |
| start | No | Смещение Bitrix (start). | |
| catalog_id | No | ID del catálogo (opcional) | |
| webhook_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not mention pagination behavior beyond the schema's limit/start parameters, whether the result is a flat list or hierarchical structure, whether catalog_id is required for meaningful output, or whether this is a read-only operation. The description adds minimal behavioral context beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence that is appropriately concise and front-loaded. It says exactly what the tool does without filler. Minor deduction for not including usage context, but the length is appropriate for a simple listing tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description leaves important gaps: it does not explain whether sections are returned as a flat array or nested tree, what happens when catalog_id is omitted, how pagination interacts with the catalog structure, or what error conditions might occur. Given the sibling list includes several catalog-related tools, more context is needed to select and invoke this tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, so most parameter semantics are already documented in the schema. The description says the tool lists sections/categories but does not elaborate on how catalog_id, limit, or start affect results beyond what the schema already says. The webhook_url parameter is undocumented in the description but is self-explanatory in context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Lista') and resource ('secciones/categorías del catálogo de productos'), clearly identifying what the tool retrieves. It is distinct enough from sibling tools like b24_products_list and b24_read_product_catalog, though it does not explicitly differentiate itself from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when needing product catalog sections/categories, and the optional catalog_id parameter hints at filtering. However, it provides no explicit guidance on when to prefer this tool over b24_products_list, b24_products_get, or b24_read_product_catalog, nor 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.
b24_products_updateC
Actualiza un producto del catálogo.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| fields | Yes | Campos a actualizar | |
| webhook_url | No | ||
| personal_webhook | No | Личный webhook для записи (иначе read-only). https://<portal>/rest/<id>/<token>/. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the behavioral disclosure burden, but it only says 'actualiza un producto'. It does not mention write permissions, the personal_webhook requirement for non-read-only updates, partial vs full field replacement, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence with no filler, and the verb-action structure is front-loaded. However, it is so minimal that it borders on under-specification, so it is not a perfect example of effective structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an update tool with four parameters, no annotations, and no output schema, a one-line description is not sufficiently complete. Missing context includes required field semantics, webhook behavior, side effects, and expected return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no meaning to the parameters. With only 50% schema coverage, the required id and fields remain only schematically defined, and webhook_url is entirely undescribed; the description does not compensate for that gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('actualiza') and a clear resource ('producto del catálogo'), so an agent can tell this is an update operation. It does not explicitly contrast with b24_products_create/get/list, but the verb and resource make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool instead of b24_products_create, b24_products_get, or b24_crm_update. The context must be inferred entirely from the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_read_automationsC
Lee reglas de automatización (robots y triggers) por etapa con condiciones y acciones.
| Name | Required | Description | Default |
|---|---|---|---|
| webhook_url | No | URL del webhook (opcional si está configurado por defecto) | |
| entity_type_id | No | ID del tipo de entidad (opcional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states that the operation is a read and that results include conditions and actions, but it does not explain how 'por etapa' maps to the schema, whether results are paginated, or what permissions are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler and the verb is front-loaded. However, 'por etapa con condiciones y acciones' is slightly compressed and could mislead an agent into expecting a stage parameter that the schema does not define.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with zero required parameters and no output schema, the description conveys the core resource and content. However, it does not describe the return structure or clarify how entity_type_id relates to stages, leaving minor but relevant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are fully documented in the schema (webhook_url and entity_type_id), so the baseline is 3. The description adds no parameter-level meaning and even introduces the term 'etapa', which does not correspond to any schema property.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Lee' (reads), names the resource 'reglas de automatización (robots y triggers)', and adds scope with 'por etapa con condiciones y acciones'. This clearly communicates the tool's function, though it does not explicitly differentiate it from similar siblings like b24_bizproc_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 such as b24_bizproc_list or b24_read_entity_types. The verb 'Lee' implies a read operation, but no prerequisites, exclusions, or selection context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_read_custom_fieldsA
Lee campos personalizados de todas las entidades CRM con su configuración completa.
| Name | Required | Description | Default |
|---|---|---|---|
| webhook_url | No | URL del webhook (opcional si está configurado por defecto) | |
| entity_type_id | No | Tipo de entidad (deal, contact, company, lead) — opcional |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose the read-only nature and the broad scope across all CRM entities, which is useful. However, it does not describe the response structure, pagination behavior, authentication expectations, or what 'configuración completa' concretely includes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence with no filler. The action and object are front-loaded, and every word contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple, has zero required parameters, and the schema covers both optional parameters, so a brief description is partially acceptable. However, with no output schema and no annotations, the description leaves the concrete shape of the returned custom-field configuration unspecified, requiring the agent to infer what 'configuración completa' means in practice.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 itself adds no parameter-specific meaning beyond the schema; for example, it does not mention that entity_type_id can filter results, but the schema already documents this clearly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Lee' / reads), the resource ('campos personalizados de todas las entidades CRM'), and the expected content ('configuración completa'). It is specific enough to understand what the tool returns, but it does not explicitly differentiate it from siblings like b24_crm_fields or b24_read_entity_types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool should be used when custom field definitions for CRM entities are needed, and the read-only nature is implicit. However, it provides no explicit guidance about when to prefer this tool over alternatives, nor does it mention exclusions, prerequisites, or cases where another sibling tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_read_entity_typesB
Lee todos los tipos de entidad CRM y SPA (Smart Process Automation) con sus atributos.
| Name | Required | Description | Default |
|---|---|---|---|
| webhook_url | No | URL del webhook (opcional si está configurado por defecto) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No hay anotaciones, por lo que la descripción carga con la transparencia conductual. Dice que es una lectura y que incluye atributos, pero no informa sobre permisos, formato de respuesta, paginación, limitaciones ni efectos secundarios (aunque sea de solo lectura).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Una sola oración, sin relleno, con el verbo y el alcance al frente. Es eficiente y fácil de procesar para un agente.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Para una herramienta de solo lectura con un parámetro opcional, la descripción cubre lo esencial. Sin embargo, al no existir output schema ni anotaciones, sería útil indicar qué tipo de estructura devuelve y cómo se diferencia de b24_crm_fields o b24_read_custom_fields; la frase actual es suficiente pero no completa.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
La cobertura del esquema es del 100% y el único parámetro, webhook_url, ya tiene descripción en el schema. La descripción de la herramienta no añade información adicional sobre ese parámetro, así que se mantiene la línea base de 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
La descripción usa el verbo específico 'Lee' y define el recurso: 'todos los tipos de entidad CRM y SPA (Smart Process Automation) con sus atributos'. Esto la distingue de la mayoría de los hermanos, aunque no desambigua explícitamente contra b24_crm_fields o b24_read_custom_fields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No se indica cuándo usar esta herramienta frente a alternativas como b24_read_custom_fields, b24_read_pipelines o b24_crm_fields. Tampoco se mencionan prerequisitos ni exclusiones; el contexto de uso solo queda implícito por el nombre y la acción 'Lee'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_read_pipelinesA
Lee pipelines (funnels) y sus etapas con colores, semántica y orden.
| Name | Required | Description | Default |
|---|---|---|---|
| webhook_url | No | URL del webhook (opcional si está configurado por defecto) | |
| entity_type_id | No | ID del tipo de entidad (opcional, default: todos) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It communicates the read-only nature through the verb 'Lee' and enumerates the included data (stages, colors, semantics, order). However, it does not mention return format, pagination, or authentication requirements, which would add useful transparency for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that starts with the action and resource, then lists the relevant attributes. Every word earns its place and there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description names the returned resources and their distinguishing attributes, making the tool's output reasonably clear. The optional parameters and defaults are fully covered by the input schema. Minor gaps like pagination or explicit response structure are acceptable given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters are documented with clear optional/default semantics. The tool description adds no additional meaning for webhook_url or entity_type_id, so it does not exceed the schema's baseline contribution.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Lee' (reads) and a specific resource 'pipelines (funnels)'. It further clarifies what is returned: stages with colors, semantics, and order. This clearly distinguishes it from sibling read tools like b24_read_entity_types or b24_read_custom_fields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used when pipeline/funnel definitions and stages are needed, but it does not provide explicit guidance about when not to use it or how it compares to alternative tools. The resource is clear enough for basic inference, but no exclusions or sibling routing are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_read_product_catalogA
Lee la estructura de configuración del catálogo de productos: secciones, propiedades, precios y unidades.
| Name | Required | Description | Default |
|---|---|---|---|
| webhook_url | No | URL del webhook (opcional si está configurado por defecto) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description clearly indicates a read operation ('Lee') but provides no additional behavioral context beyond that. Since no annotations are provided, the description carries the full burden; it doesn't mention response format, whether this is live data or cached configuration, or any access prerequisites. It is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that wastes no words and clearly enumerates the contents of the catalog structure with a colon-separated list. It is compact and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with zero required parameters, the description explains what the tool reads and the main components covered. However, there is no output schema and no mention of return format, pagination, or how this tool differs from b24_products_sections, so an agent may lack full context for evaluating the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter is the optional webhook_url, and the schema describes it fully with 100% coverage. The description does not mention parameters, but because the schema already covers the parameter well, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Lee') and identifies a clear resource: the configuration structure of the product catalog, listing sections, properties, prices, and units. This distinguishes it from product-data siblings like b24_products_list or b24_products_get, which focus on records rather than catalog configuration structure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when the agent needs catalog configuration structure rather than product data. However, it does not explicitly mention alternatives or state when not to use it, leaving the agent to infer the distinction from sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_tasks_completeC
Marca una tarea como completada.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID de la tarea a completar | |
| webhook_url | No | ||
| personal_webhook | No | Личный webhook для записи (иначе read-only). https://<portal>/rest/<id>/<token>/. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It reveals only the action itself and says nothing about side effects (e.g., whether completion is reversible, whether it triggers notifications or automation), permission requirements, or failure behavior. The schema's personal_webhook note about write access hints at a read-only constraint, but the description itself stays silent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded Spanish sentence with no filler; every word earns its place. It is efficient and easy to parse, though the brevity borders on under-specification — a deficiency better captured in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a state-mutating tool with no annotations and no output schema, this description is insufficient. It omits return behavior, reversibility, authentication/webhook requirements, and how it differs from b24_tasks_update. An agent would lack the context needed to call it correctly or anticipate consequences.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, leaving webhook_url completely undocumented. The tool description adds no parameter-level meaning beyond the schema: the id parameter's schema description already says 'ID de la tarea a completar', so the description's 'completada' is redundant. It also fails to explain the webhook_url parameter or the write-webhook requirement implied by personal_webhook.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Marca una tarea como completada' states a specific verb (mark as completed) and resource (task), making the operation unambiguous. The 'complete' action is a distinct state-change among task siblings like b24_tasks_create, b24_tasks_update, and b24_tasks_get, so the purpose is clear even though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus b24_tasks_update (which could also set task status) or other task-related siblings. There are no stated conditions, prerequisites, or exclusions to help an agent decide between alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_tasks_createB
Crea una nueva tarea con título, descripción, responsable, fecha límite, prioridad y más.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | Yes | Campos de la tarea. Requeridos: TITLE. Opcionales: DESCRIPTION, RESPONSIBLE_ID, DEADLINE (ISO8601), GROUP_ID, PRIORITY (0=baja, 1=normal, 2=alta), PARENT_ID, TAGS, CHECKLIST | |
| webhook_url | No | ||
| personal_webhook | No | Личный webhook для записи (иначе read-only). https://<portal>/rest/<id>/<token>/. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that the tool creates a task, but does not disclose authentication requirements, the read-only fallback without a personal webhook, side effects, or what response to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core action and lists relevant fields without unnecessary detail. Every word contributes to the basic understanding of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create operation with no annotations, no output schema, and a nested 'fields' parameter, the description is too thin. It does not mention that TITLE is required, that a personal webhook is needed for write access, or how the webhook parameters interact with the creation request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, with 'fields' and 'personal_webhook' already explained in the schema. The description restates some of those field meanings in plain language but adds little beyond that, and it does not clarify webhook_url or the nested object structure meaningfully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Crea') and resource ('una nueva tarea') and lists key fields, making the tool's purpose immediately clear. It naturally distinguishes the create action from sibling tools like b24_tasks_update, b24_tasks_complete, and b24_tasks_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when creating a task, but it does not explicitly state when to choose this tool over alternatives like b24_tasks_update or b24_tasks_complete. It also omits practical prerequisites such as the need for a write-capable personal webhook.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_tasks_getA
Obtiene el detalle completo de una tarea por ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID de la tarea | |
| select | No | Campos a retornar | |
| webhook_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose the core read behavior and expected result (full task detail). However, it does not mention return shape, error behavior, how the optional 'select' parameter affects the 'detalle completo' promise, or any webhook-related behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct, front-loaded sentence with no filler. For a simple getter, this is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no annotations, no output schema, and only 67% parameter coverage, so the description is thinner than ideal. The core action and key parameter are clear enough to make a basic call, but usage alternatives, webhook_url semantics, and return behavior are left unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%; 'id' and 'select' are already documented in the schema. The description adds only that the task is fetched by ID, which reinforces 'id' but adds nothing about the undocumented 'webhook_url' parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Obtiene el detalle completo de una tarea por ID' states a specific verb, resource, and access key. It clearly distinguishes this from siblings like b24_tasks_list (collection), b24_tasks_create, b24_tasks_update, and b24_tasks_complete (mutations).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'por ID' phrase implies this is the single-record fetch tool to use when a task ID is already known, which gives some usage context. However, it does not explicitly contrast with b24_tasks_list or state when not to use this tool, leaving selection partly to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_tasks_listC
Lista tareas con filtros por responsable, grupo, estado, vencimiento, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Макс. записей в ответе (1–50). Дальше — start. | |
| order | No | ||
| start | No | Смещение Bitrix (start). | |
| filter | No | Filtros. Ejemplo: { "RESPONSIBLE_ID": 5, "GROUP_ID": 10, "STATUS": "2" } Status: 1=nueva, 2=pendiente, 3=en proceso, 4=casi vencida, 5=completada, 6=vencida | |
| select | No | Campos a retornar. Default: ID, TITLE, STATUS, RESPONSIBLE_ID, DEADLINE. Otros: DESCRIPTION, CREATED_BY, GROUP_ID, PRIORITY, TAGS, CHECKLIST | |
| all_pages | No | ||
| webhook_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No hay anotaciones, por lo que la descripción debe cargar con la transparencia de comportamiento. Solo dice 'lista tareas con filtros' y no revela comportamiento importante como paginación, orden por defecto, necesidad de webhook_url, efecto de all_pages o formato de respuesta. No contradice nada, pero es insuficiente.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Es una oración corta y directa, sin relleno, y coloca la acción principal al inicio. Sin embargo, 'etc.' es impreciso y la descripción podría aprovechar mejor el espacio para incluir información útil sin perder concisión.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Con 7 parámetros opcionales, sin output schema y sin anotaciones, la descripción resulta demasiado escueta para guiar una invocación correcta. El agente debe depender casi por completo del schema para entender paginación, orden, selección de campos y autenticación.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
La cobertura de descripciones del schema es del 57%, y la descripción de la herramienta no añade semántica real a los parámetros. Aporta 'vencimiento' como filtro conceptual, pero no explica limit, start, all_pages ni webhook_url más allá de lo ya presente en el schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
La descripción indica un verbo y recurso específicos: 'Lista tareas' con filtros por responsable, grupo, estado y vencimiento. Es clara, pero no diferencia explícitamente de b24_tasks_get ni menciona otras alternativas, y 'etc.' deja el alcance ligeramente abierto.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No se indica cuándo usar esta herramienta frente a b24_tasks_get, b24_tasks_create u otras herramientas de tareas. Tampoco se mencionan exclusiones, prerequisitos o casos en los que convendría usar otra herramienta.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_tasks_updateC
Actualiza campos de una tarea existente.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| fields | Yes | Campos a actualizar | |
| webhook_url | No | ||
| personal_webhook | No | Личный webhook для записи (иначе read-only). https://<portal>/rest/<id>/<token>/. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only says 'updates fields' and does not mention write permissions, personal webhook requirements, partial-update semantics, reversibility, or response behavior. The schema's personal_webhook description hints at read-only risk, but the main description adds no transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with no wasted words and the core action front-loaded. However, it is so sparse that it sacrifices useful guidance for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating tool with no annotations, no output schema, and nested object parameters, the description is too thin. It omits essentials like when to use, prerequisites, webhook behavior, and what kind of field updates are accepted. An agent would likely need to inspect schema details and sibling behavior to call this safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%, and the description adds little parameter meaning beyond 'existing task' suggesting the id. It does not clarify the shape of 'fields', supported field names, or how webhook parameters affect the call. The schema documents 'Campos a actualizar' but the description should compensate for the low coverage, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation ('Actualiza campos') and the resource ('una tarea existente'), making it distinct from siblings like b24_tasks_create, b24_tasks_get, b24_tasks_list, and b24_tasks_complete. An agent can tell this tool is for modifying fields on an already-created task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives, nor any conditions or prerequisites. It only states what it does, leaving the agent to infer usage from the name and sibling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_telephony_callsB
Lista el historial de llamadas con filtros por entidad CRM, usuario, duración y fecha.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Макс. записей в ответе (1–50). Дальше — start. | |
| start | No | Смещение Bitrix (start). | |
| filter | No | Filtros. Ejemplo: { "CRM_ENTITY_TYPE": "DEAL", "CRM_ENTITY_ID": 123 } o { "CALL_DURATION": ">60" } para llamadas de más de 60 segundos | |
| select | No | ||
| webhook_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it only states the operation and filter options. It does not disclose that this is a read-only query in explicit terms, nor does it mention pagination behavior, response format, rate limits, or authentication needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that communicates the resource, action, and key filter dimensions without redundant words. Every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, no annotations, five parameters, and a nested filter object, this description is too sparse. It omits pagination semantics, select-field usage, webhook_url role, and expected return shape; the agent would need the parameter descriptions to call it reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60%, so partial compensation is needed. The description adds meaning by naming user and date filters beyond the schema examples, but it does not explain the exact filter keys for those fields, nor does it cover select or webhook_url semantics. The filter/enum examples in the schema carry much of the weight.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource — 'Lista el historial de llamadas' (lists the call history) — and enumerates the filter dimensions (CRM entity, user, duration, date). This clearly separates it from b24_call, which places calls, and from CRM/task listing tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to choose this tool over alternatives such as b24_call, nor are any exclusions or prerequisites provided. The usage context is only implied by 'list call history' rather than explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_test_connectionA
Verifica la conexión al webhook de Bitrix24 y confirma datos del portal y permisos del usuario.
| Name | Required | Description | Default |
|---|---|---|---|
| webhook_url | No | URL del webhook de Bitrix24 (opcional si está configurado por defecto) |
TDQS
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 does add behavioral detail beyond a simple 'test connection' by stating that it confirms portal data and user permissions. However, it does not disclose whether the operation is read-only, what happens on failure, or any side effects, leaving the behavioral profile only partially specified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that immediately names the verb and resource. Every word contributes value, with no redundancy or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and the schema is minimal, but there is no output schema and no annotations. The description mentions what is confirmed (portal data and permissions) but does not explain the return format, success/failure signals, or error behavior, leaving an agent without full information for interpreting the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the parameter is already described as an optional webhook URL. The tool description adds no additional meaning about the parameter, so the baseline of 3 applies without extra credit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Verifica'), a concrete resource ('conexión al webhook de Bitrix24'), and extends into what is confirmed (portal data and user permissions). It naturally distinguishes this tool from the sibling CRUD/action tools, as no other sibling is a connection test.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool or when not to, and no reference to alternatives. The usage is implied because it is the only test/connection tool among siblings, but the description doesn't state that it should be used to validate configuration before other operations or as a health check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b24_users_listA
Lista usuarios activos con nombre, email, cargo, departamento y estado online.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Макс. записей в ответе (1–50). Дальше — start. | |
| start | No | Смещение Bitrix (start). | |
| filter | No | Filtros. Default: { ACTIVE: true }. Otros: { "UF_DEPARTMENT": 5, "NAME": "Brian" } | |
| select | No | Campos a retornar. Default: ID, NAME, LAST_NAME, EMAIL, WORK_POSITION, UF_DEPARTMENT, IS_ONLINE | |
| all_pages | No | ||
| webhook_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. 'Lista usuarios activos' signals a read-only listing operation and the field list indicates output content. However, it does not mention pagination behavior, the default ACTIVE filter being overridable, webhook requirements, or response structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. Every phrase contributes either to the operation (list), the scope (active users), or the output fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with six parameters, no annotations, and no output schema, the one-line description is not complete enough. An agent cannot determine pagination semantics, the effect of all_pages, or the response format, and the description also does not warn that the 'active users' scope is just a default filter that can be overridden.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents limit, start, filter, and select (67% coverage), and the description adds some meaning by mapping output labels like 'cargo', 'departamento', and 'estado online' to the likely select fields. However, all_pages and webhook_url are not described in either the schema or the tool description, so the description only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Lista') and resource ('usuarios activos') and names the relevant output fields. It clearly identifies the tool as a user-listing operation, distinct from the CRM, tasks, disk, and calendar siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use this tool to list active users with profile information. It does not explicitly name alternatives or say when not to use it, but there is no sibling tool with the same user-listing purpose, so the guidance is reasonably unambiguous.
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.
41 tool updates
v2.0.0- First observed
b24_batch - First observed
b24_bizproc_list - First observed
b24_bizproc_start - First observed
b24_calendar_create - First observed
b24_calendar_list - First observed
b24_call - First observed
b24_chat_send - First observed
b24_crm_create - First observed
b24_crm_delete - First observed
b24_crm_fields - First observed
b24_crm_get - First observed
b24_crm_list - First observed
b24_crm_timeline_add - First observed
b24_crm_update - First observed
b24_departments_list - First observed
b24_disk_file_content - First observed
b24_disk_file_get - First observed
b24_disk_file_upload - First observed
b24_disk_folder_list - First observed
b24_disk_storages - First observed
b24_feed_post - First observed
b24_groups_list - First observed
b24_notify_send - First observed
b24_products_create - First observed
b24_products_get - First observed
b24_products_list - First observed
b24_products_sections - First observed
b24_products_update - First observed
b24_read_automations - First observed
b24_read_custom_fields - First observed
b24_read_entity_types - First observed
b24_read_pipelines - First observed
b24_read_product_catalog - First observed
b24_tasks_complete - First observed
b24_tasks_create - First observed
b24_tasks_get - First observed
b24_tasks_list - First observed
b24_tasks_update - First observed
b24_telephony_calls - First observed
b24_test_connection - First observed
b24_users_list
TDQS
The tools are mostly organized by domain and entity (CRM, tasks, products, disk, calendar), so an agent can usually pick the right one. Some ambiguity remains between b24_crm_fields and b24_read_custom_fields, and between the generic b24_call and b24_batch fallbacks.
The b24_<domain>_<action> pattern is consistent and readable across most tools. Minor deviations include the b24_read_* group for configuration reads and verb-less names like b24_disk_storages or b24_products_sections.
With 41 tools, the set is well above the ideal range and will burden an agent's tool-selection context. Although Bitrix24 is a broad platform, several list/read-only tools could be consolidated or left to the generic b24_call fallback.
CRM has solid lifecycle coverage, and tasks, products, disk, and calendar have core operations. However, obvious lifecycle operations are missing, such as task delete, product delete, calendar update/delete, and disk folder/file delete; b24_call can work around these but only as a generic escape hatch.
Maintenance
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
- platform7nOAuthtech.p7n
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
One workspace of tools for Claude and ChatGPT: connect 600+ apps, generate media, build tools.
Drive your real WhatsApp inbox from Claude — send, reply, label, assign, and triage via TimelinesAI.
- BleepOAuthcom.usebleep
Create Tasks and run Workflows in Bleep from Claude, ChatGPT, and other AI assistants.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables AI agents to interact with Bitrix24 CRM for managing contacts, deals, tasks, and leads via a comprehensive set of tools. It supports advanced features like sales team monitoring, performance analytics, and automated CRM searching.-
- FlicenseNot gradedqualityDmaintenanceEnables language models to interact with Bitrix24 CRM, providing tools to manage deals, leads, contacts, tasks, activities, users, files, chat messages, and live chat sessions.131-
- AlicenseAqualityBmaintenanceExposes Bitrix24 REST API to AI assistants, enabling management of tasks, CRM entities, call recordings (with local transcription), users, workgroups, and Knowledge Base articles.43131MIT
- FlicenseNot gradedqualityCmaintenanceProduction-grade MCP server for Bitrix24 Cloud with 45 tools, safe by default. Connects Claude Desktop to your Bitrix24 tenant for AI-driven CRM, tasks, messaging, and calendar operations.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/deriglazoff/bitrix24-mcp-ci-setup'
If you have feedback or need assistance with the MCP directory API, please join our Discord server