Skip to main content
Glama
Bitrix24 MCP Server

Bitrix24 MCP Server

by deriglazoff

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

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-mcp

2. Install dependencies

npm install

3. 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

  1. Log in to your Bitrix24 portal as an administrator

  2. Go to Applications (left sidebar) → Webhooks

  3. Click Incoming webhooks → Add webhook

  4. Give it a descriptive name (e.g. Claude MCP)

  5. Under Permissions, enable the scopes you need (see Access Profiles below)

  6. Click Save

  7. 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

%APPDATA%\Claude\claude_desktop_config.json

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

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

user

Read user list (needed to resolve assignee names)

department

Read department structure

bizproc

Read automation rules and business processes

catalog

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 crm module internally. If you also want to inspect CRM structure (stages, field names), add crm to 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

crm

Read (and write) CRM records

task

Read (and write) tasks

user

Read users

department

Read departments

catalog

Read product catalog

bizproc

Read automations

telephony

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

CRM records (deals, contacts, companies, leads, SPAs)

task

Tasks

user

Users

department

Departments

disk

Disk / file storage

calendar

Calendar events

im

Chat messages and notifications

bizproc

Business processes and automations

catalog

Product catalog

telephony

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 Portal

The 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:

  1. Export the source portal config with b24_read_full_config

  2. Compare it against the target with b24_compare_configs

  3. Apply 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.

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/your-feature)

  3. Commit your changes

  4. Open a pull request


License

MIT


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 tools
b24_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].

Inputs: calls (required), webhook_url, personal_webhook.

b24_bizproc_listB

Lista instancias de procesos de negocio activas, filtradas por entidad o registro.

Inputs: entity, entity_id, webhook_url.

b24_bizproc_startB

Inicia un proceso de negocio (workflow) sobre un documento o registro CRM.

Inputs: document_id (required), template_id (required), parameters, webhook_url, +1 more.

b24_calendar_createB

Crea un evento en el calendario con participantes, ubicación y recordatorios.

Inputs: name (required), date_to (required), date_from (required), type, +7 more.

b24_calendar_listB

Lista eventos de calendario personal, de grupo o de empresa con filtro de fechas.

Inputs: to, from, type, limit, +3 more.

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/

Inputs: method (required), params, webhook_url, personal_webhook.

b24_chat_sendC

Envía un mensaje a un chat privado o grupal en el IM de Bitrix24.

Inputs: message (required), dialog_id (required), webhook_url, personal_webhook.

b24_crm_createA

Crea un nuevo registro CRM: deal, contact, company, lead, cotización, o item de SPA.

Inputs: fields (required), entity, params, webhook_url, +2 more.

b24_crm_deleteC

Elimina un registro CRM por ID.

Inputs: id (required), entity, webhook_url, entity_type_id, +1 more.

b24_crm_fieldsB

Lista todos los campos disponibles de una entidad CRM (estándar + personalizados) con sus tipos, etiquetas y configuración.

Inputs: entity, webhook_url, entity_type_id.

b24_crm_getA

Obtiene un registro CRM completo por ID: deal, contact, company, lead, o item de SPA.

Inputs: id (required), entity, webhook_url, entity_type_id.

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.

Inputs: limit, order, start, entity, +5 more.

b24_crm_timeline_addC

Agrega un comentario o actividad a la línea de tiempo de un registro CRM.

Inputs: entity (required), comment (required), entity_id (required), webhook_url, +1 more.

b24_crm_updateC

Actualiza campos de un registro CRM existente.

Inputs: id (required), fields (required), entity, params, +3 more.

b24_departments_listA

Lista departamentos de la estructura organizativa con jerarquía y responsables.

Inputs: limit, start, filter, webhook_url.

b24_disk_file_contentA

Скачивает файл с MCP-сервера (base64 или save_to). Когда DOWNLOAD_URL недоступен снаружи (WAF 403). Крупные файлы — save_to.

Inputs: file_id (required), save_to, max_size_mb, webhook_url, +1 more.

b24_disk_file_getA

Метаданные файла и DOWNLOAD_URL. Вложения чата задачи: im.dialog.messages.get → FILE_ID. ACCESS_DENIED = нет членства в задаче; инструкцию из ошибки передать оператору.

Inputs: file_id (required), webhook_url, personal_webhook.

b24_disk_file_uploadB

Sube un archivo a una carpeta del Disk de Bitrix24.

Inputs: name (required), folder_id (required), content_base64 (required), webhook_url, +1 more.

b24_disk_folder_listC

Lista el contenido de una carpeta en el Disk de Bitrix24.

Inputs: limit, start, filter, folder_id, +1 more.

b24_disk_storagesB

Lista todos los storages disponibles (personal, grupos, empresa).

Inputs: webhook_url.

b24_feed_postC

Publica un mensaje en el feed de actividad (Live Feed) de Bitrix24, con soporte BB-code.

Inputs: message (required), files, title, important, +3 more.

b24_groups_listB

Lista grupos de trabajo (workgroups y proyectos) con filtros por estado y visibilidad.

Inputs: limit, start, filter, select, +1 more.

b24_notify_sendC

Envía una notificación personal a un usuario dentro de Bitrix24.

Inputs: to (required), message (required), tag, type, +2 more.

b24_products_createC

Crea un nuevo producto en el catálogo.

Inputs: fields (required), webhook_url, personal_webhook.

b24_products_getA

Obtiene el detalle completo de un producto por ID.

Inputs: id (required), webhook_url.

b24_products_listC

Lista productos del catálogo con filtros por sección, precio, estado activo, etc.

Inputs: limit, start, filter, select, +2 more.

b24_products_sectionsB

Lista las secciones/categorías del catálogo de productos.

Inputs: limit, start, catalog_id, webhook_url.

b24_products_updateC

Actualiza un producto del catálogo.

Inputs: id (required), fields (required), webhook_url, personal_webhook.

b24_read_automationsC

Lee reglas de automatización (robots y triggers) por etapa con condiciones y acciones.

Inputs: webhook_url, entity_type_id.

b24_read_custom_fieldsA

Lee campos personalizados de todas las entidades CRM con su configuración completa.

Inputs: webhook_url, entity_type_id.

b24_read_entity_typesB

Lee todos los tipos de entidad CRM y SPA (Smart Process Automation) con sus atributos.

Inputs: webhook_url.

b24_read_pipelinesA

Lee pipelines (funnels) y sus etapas con colores, semántica y orden.

Inputs: webhook_url, entity_type_id.

b24_read_product_catalogA

Lee la estructura de configuración del catálogo de productos: secciones, propiedades, precios y unidades.

Inputs: webhook_url.

b24_tasks_completeC

Marca una tarea como completada.

Inputs: id (required), webhook_url, personal_webhook.

b24_tasks_createB

Crea una nueva tarea con título, descripción, responsable, fecha límite, prioridad y más.

Inputs: fields (required), webhook_url, personal_webhook.

b24_tasks_getA

Obtiene el detalle completo de una tarea por ID.

Inputs: id (required), select, webhook_url.

b24_tasks_listC

Lista tareas con filtros por responsable, grupo, estado, vencimiento, etc.

Inputs: limit, order, start, filter, +3 more.

b24_tasks_updateC

Actualiza campos de una tarea existente.

Inputs: id (required), fields (required), webhook_url, personal_webhook.

b24_telephony_callsB

Lista el historial de llamadas con filtros por entidad CRM, usuario, duración y fecha.

Inputs: limit, start, filter, select, +1 more.

b24_test_connectionA

Verifica la conexión al webhook de Bitrix24 y confirma datos del portal y permisos del usuario.

Inputs: webhook_url.

b24_users_listA

Lista usuarios activos con nombre, email, cargo, departamento y estado online.

Inputs: limit, start, filter, select, +2 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.9/5.0

    Scored across 41 tools

    Disambiguation3/5

    Most tools are domain-specific and distinct, but there are several overlapping pairs: b24_crm_fields vs b24_read_custom_fields, b24_read_product_catalog vs b24_products_sections, and b24_disk_file_get vs b24_disk_file_content all have close boundaries that could cause misselection. The generic b24_call and b24_batch are clearly positioned as fallbacks, which helps, but the metadata/read tools remain ambiguous.

    Naming Consistency3/5

    The dominant pattern is b24_<domain>_<action> (e.g. b24_crm_list, b24_tasks_create), which is readable. However, the b24_read_* group reverses the order, several tools use noun-only names like b24_disk_storages and b24_products_sections, and utilities like b24_call/b24_batch/b24_test_connection do not follow the domain convention.

    Tool Count2/5

    41 tools is well above the comfortable range for an MCP server and feels heavy even for a broad platform like Bitrix24. Many modules have only one or two operations, and the presence of generic b24_call/b24_batch further reduces the need for such a large surface.

    Completeness3/5

    CRM, tasks, and products have fairly complete CRUD/lifecycle coverage, and the generic b24_call/b24_batch prevents total dead ends. However, calendar, disk, IM, feed, bizproc, and telephony are only partially covered—there is no calendar update/delete, task delete, disk folder create, or feed read, making the broader domain feel incomplete.

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables language models to interact with Bitrix24 CRM, providing tools to manage deals, leads, contacts, tasks, activities, users, files, chat messages, and live chat sessions.
      9 npm
      1
      -
    • A
      license
      A
      quality
      B
      maintenance
      Exposes Bitrix24 REST API to AI assistants, enabling management of tasks, CRM entities, call recordings (with local transcription), users, workgroups, and Knowledge Base articles.
      43
      9 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A bridge between Claude (MCP) and Bitrix24 CRM/Tasks, enabling natural language interaction with leads, deals, contacts, companies, and tasks via a custom MCP server using incoming webhooks.
      ISC