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.
Related Servers
oVice
Manage oVice workspaces, groups, users, and send notifications through the oVice API.
Twist MCP Server
Interact with a Twist workspace using its REST API.
A2A MCP Server
A bridge server connecting Model Context Protocol (MCP) with Agent-to-Agent (A2A) protocol.
x402mail
Send and receive emails via Python SDK or MCP. No API keys, no accounts - your wallet is your identity. Pay per call with USDC on Base via the x402 protocol. $0.005 per email.
Kafka MCP Server
An MCP server for Apache Kafka, enabling LLMs to perform Kafka operations like producing and consuming messages.
ClaudePost
A seamless email management interface powered by Claude.
Genesys Cloud MCP Server
Exposes Genesys Cloud tools like sentiment analysis, conversation search, and topic detection for LLMs.
Slack Webhook
Post messages to Slack channels using incoming webhooks.
any-chat-completions-mcp
Chat with any other OpenAI SDK Compatible Chat Completions API, like Perplexity, Groq, xAI and more
Warpcast
Interact with Warpcast accounts, enabling actions like posting casts and managing your profile.