mcpField
M
Mcp Server For Bitrix24

Mcp Server For Bitrix24

Local
github.com/stemirkhanProductivity4Updated 39w ago

About Mcp Server For Bitrix24

Mcp Server For Bitrix24 connects MCP clients to Bitrix24 Tasks, Workgroups, and Users through a webhook. It is intended for workflows that manage tasks and inspect organization data, with task-field validation and history access.

Key features

  1. 01Create, update, close, and reopen tasks
  2. 02List tasks and task history
  3. 03Create and list workgroups
  4. 04List users and inspect user fields
  5. 05Validate task fields against Bitrix24 fields

Use cases

  1. 01Manage task status and assignments
  2. 02Review task changes over time
  3. 03Create workgroups for project organization

MCP support

Exposes Bitrix24 task, workgroup, and user operations as MCP tools. It uses MCP/JSON-RPC over STDIO and requires a Bitrix24 webhook URL.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"bitrix24": {
"command": "npx",
"args": [
"-y",
"mcp-bitrix24"
],
"env": {
"BITRIX24_WEBHOOK_URL": "<BITRIX24_WEBHOOK_URL>"
}
}
}
}
Run commandnpx -y mcp-bitrix24
Environment variables to set
BITRIX24_WEBHOOK_URL

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmmcp-bitrix24

Tools

12

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
titlestringYes
fieldsobjectNo
group_idnumberNo
descriptionstringNo
responsible_idnumberNo

Details

From the project README

mcp-bitrix24

MCP server for Bitrix24 Tasks, Workgroups, and Users. Implements MCP/JSON-RPC over STDIO.

Features

  • Tasks: create, update, close, reopen, list
  • Workgroups: create, list
  • Users: list, current user, available fields
  • Task fields: available fields + validation for create_task.fields

Requirements

  • Node.js >= 18
  • Bitrix24 webhook URL

Install / Build

npm install
npm run build

Run via npm:

npx mcp-bitrix24

Configuration

Set the Bitrix24 webhook URL via environment variable:

BITRIX24_WEBHOOK_URL=https://<your-domain>/rest/<user_id>/<webhook>/

Example Codex MCP config:

[mcp_servers.bitrix24]
command = "npx"
args = ["-y", "mcp-bitrix24"]

[mcp_servers.bitrix24.env]
BITRIX24_WEBHOOK_URL = "https://<your-domain>/rest/<user_id>/<webhook>/"

Tools

Tasks
  • create_task

    • Input: title (string, required), description? (string), responsible_id? (number), group_id? (number), fields? (object)
    • Output: { task_id: number }
    • Note: if fields is provided, keys are validated against get_task_fields.
  • update_task

    • Input: task_id (number, required) + at least one of: title?, description?, responsible_id?, group_id?
    • Output: { task_id: number }
  • close_task

    • Input: task_id (number, required)
    • Output: { task_id: number }
  • reopen_task

    • Input: task_id (number, required)
    • Output: { task_id: number }
  • list_tasks

    • Input: responsible_id? (number), group_id? (number), start? (number), limit? (number)
    • Output: { tasks: [{ id, title, status }] }
  • get_task_fields

    • Input: {}
    • Output: { fields: { [field: string]: object } }
  • list_task_history

    • Input: task_id (number, required), filter? (object), order? (object)
    • Output: { list: [ { id, createdDate, field, value, user } ] }
Workgroups
  • create_group

    • Input: name (string, required), description? (string)
    • Output: { group_id: number }
  • list_groups

    • Input: limit? (number)
    • Output: { groups: [{ id, name }] }
Users
  • list_users

    • Input:
      • filter? (object)
      • sort? (string)
      • order? ("ASC" | "DESC")
      • admin_mode? (boolean)
      • start? (number)
      • limit? (number)
    • Output: { users: [{ id, name, last_name, email?, active }] }
    • Note: filter supports Bitrix24 user.get filters (including prefixes like >=, %, @, etc.). start controls paging (Bitrix returns 50 records per page); limit is a local slice after the API response.
  • get_user_fields

    • Input: {}
    • Output: { fields: { [field: string]: string } }
  • get_current_user

    • Input: {}
    • Output: { user: { id, name, last_name, email?, active } }

Architecture

Clean architecture layers:

  • mcp/ — protocol, transport, server
  • adapters/ — MCP tools mapping to domain
  • domain/ — entities, services, ports
  • infrastructure/ — Bitrix24 REST client

Development Notes

  • Input validation uses zod.
  • Transport: STDIO only.
  • Build: tsc (npm run build).

Contributing

See CONTRIBUTING.md for guidelines.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.