About bitrix24
bitrix24 is an MCP server published by git+stemirkhan in the Developer Tools category: mCP server for Bitrix24 — exposes CRM and Tasks to AI clients via Model Context Protocol.
Install
npx mcp-bitrix24claude mcp add bitrix24 -- npx -y mcp-bitrix24npx -y mcp-bitrix24This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about bitrix24
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
4 checks have not been run yet.
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
fieldsis provided, keys are validated againstget_task_fields.
- Input:
-
update_task- Input:
task_id(number, required) + at least one of:title?,description?,responsible_id?,group_id? - Output:
{ task_id: number }
- Input:
-
close_task- Input:
task_id(number, required) - Output:
{ task_id: number }
- Input:
-
reopen_task- Input:
task_id(number, required) - Output:
{ task_id: number }
- Input:
-
list_tasks- Input:
responsible_id?(number),group_id?(number),start?(number),limit?(number) - Output:
{ tasks: [{ id, title, status }] }
- Input:
-
get_task_fields- Input:
{} - Output:
{ fields: { [field: string]: object } }
- Input:
-
list_task_history- Input:
task_id(number, required),filter?(object),order?(object) - Output:
{ list: [ { id, createdDate, field, value, user } ] }
- Input:
Workgroups
-
create_group- Input:
name(string, required),description?(string) - Output:
{ group_id: number }
- Input:
-
list_groups- Input:
limit?(number) - Output:
{ groups: [{ id, name }] }
- Input:
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:
filtersupports Bitrix24user.getfilters (including prefixes like>=,%,@, etc.).startcontrols paging (Bitrix returns 50 records per page);limitis a local slice after the API response.
- Input:
-
get_user_fields- Input:
{} - Output:
{ fields: { [field: string]: string } }
- Input:
-
get_current_user- Input:
{} - Output:
{ user: { id, name, last_name, email?, active } }
- Input:
Architecture
Clean architecture layers:
mcp/— protocol, transport, serveradapters/— MCP tools mapping to domaindomain/— entities, services, portsinfrastructure/— Bitrix24 REST client
Development Notes
- Input validation uses
zod. - Transport: STDIO only.
- Build:
tsc(npm run build).
Contributing
See CONTRIBUTING.md for guidelines.
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.