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.
관련 서버
NATS
MCP server for NATS — publish, request-reply, JetStream streams, KV store, and server diagnostics over stdio
Gmail MCP Server
An MCP server that integrates with the Gmail API for intelligent email management, including search, categorization, and archiving.
Kraiter
Kraiter is an email automation platform. It exposes 62 tools for managing contacts, drip campaigns, transactional sends, segments, templates, domains, and metrics.
MCP Meme Sticky
Create AI-generated memes and convert them into stickers for Telegram and WhatsApp.
RSS MCP Server by CData
A read-only MCP server for querying live RSS data using the CData JDBC Driver for RSS.
Fastmail
Interact with Fastmail email, contacts, and calendar data using the Fastmail API.
API Docs MCP
MCP server for API documentation, supporting GraphQL, OpenAPI/Swagger, and gRPC from local files or remote URLs
Postproxy
Publish to multiple social networks with only one MCP
LinkedIn Post Generator
Generates professional LinkedIn post drafts from YouTube videos by summarizing their content.
interactive-mcp
Enables interactive LLM workflows by adding local user prompts and chat capabilities directly into the MCP loop.