mcp-bitrix24
MCP server for Bitrix24 Tasks, Workgroups, and Users. Implements MCP/JSON-RPC over STDIO.
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:///rest/<user_id>//"
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.
Servidores relacionados
Vapi MCP Server
A server for integrating with Vapi's voice AI APIs using function calls.
Email
Automate email tasks using SMTP and IMAP protocols.
MCP Telegram Server
An MCP server for interacting with Telegram. It allows searching, sending messages, and managing chats using the Telegram API.
RabbitMQ MCP Go
A Go-based MCP server for integrating with the RabbitMQ message broker.
Multichat MCP Server
A server for handling parallel unichat requests, configurable via a settings file.
Lara Translate
Translate text with language detection, context-awareness, and translation memories using the Lara Translate API.
LinkedIn MCP Server
Integrates with the LinkedIn API, allowing interaction with your professional network and content.
MCP Notification Server
Sends periodic notifications every 10 seconds.
Beeper
A server for interacting with the Beeper communication network.
ACP-MCP-Server
A bridge server connecting Agent Communication Protocol (ACP) agents with Model Context Protocol (MCP) clients.