mcp-bitrix24
Servidor MCP para Tareas, Grupos de trabajo y Usuarios de Bitrix24. Implementa MCP/JSON-RPC sobre STDIO.
GitHub
4
Prueba este MCPPatrocinadoDocumentación
mcp-bitrix24
Servidor MCP para Tareas, Grupos de trabajo y Usuarios de Bitrix24. Implementa MCP/JSON-RPC sobre STDIO.
Características
- Tareas: crear, actualizar, cerrar, reabrir, listar
- Grupos de trabajo: crear, listar
- Usuarios: listar, usuario actual, campos disponibles
- Campos de tareas: campos disponibles + validación para
create_task.fields
Requisitos
- Node.js >= 18
- URL de webhook de Bitrix24
Instalación / Compilación
npm install
npm run build
Ejecutar vía npm:
npx mcp-bitrix24
Configuración
Establezca la URL del webhook de Bitrix24 mediante una variable de entorno:
BITRIX24_WEBHOOK_URL=https://<your-domain>/rest/<user_id>/<webhook>/
Ejemplo de configuración de Codex MCP:
[mcp_servers.bitrix24]
command = "npx"
args = ["-y", "mcp-bitrix24"]
[mcp_servers.bitrix24.env]
BITRIX24_WEBHOOK_URL = "https://<your-domain>/rest/<user_id>/<webhook>/"
Herramientas
Tareas
create_task- Entrada:
title(cadena, obligatorio),description?(cadena),responsible_id?(número),group_id?(número),fields?(objeto)- Salida:
{ task_id: number } - Nota: si se proporciona
fields, las claves se validan contraget_task_fields.
- Salida:
- Entrada:
update_task- Entrada:
task_id(número, obligatorio) + al menos uno de:title?,description?,responsible_id?,group_id?- Salida:
{ task_id: number }
- Salida:
- Entrada:
close_task- Entrada:
task_id(número, obligatorio)- Salida:
{ task_id: number }
- Salida:
- Entrada:
reopen_task- Entrada:
task_id(número, obligatorio)- Salida:
{ task_id: number }
- Salida:
- Entrada:
list_tasks- Entrada:
responsible_id?(número),group_id?(número),start?(número),limit?(número)- Salida:
{ tasks: [{ id, title, status }] }
- Salida:
- Entrada:
get_task_fields- Entrada:
{}- Salida:
{ fields: { [field: string]: object } }
- Salida:
- Entrada:
list_task_history- Entrada:
task_id(número, obligatorio),filter?(objeto),order?(objeto)- Salida:
{ list: [ { id, createdDate, field, value, user } ] }
- Salida:
- Entrada:
Grupos de trabajo
create_group- Entrada:
name(cadena, obligatorio),description?(cadena)- Salida:
{ group_id: number }
- Salida:
- Entrada:
list_groups- Entrada:
limit?(número)- Salida:
{ groups: [{ id, name }] }
- Salida:
- Entrada:
Usuarios
list_users- Entrada:
filter?(objeto) -sort?(cadena) -order?("ASC" | "DESC") -admin_mode?(booleano) -start?(número) -limit?(número)- Salida:
{ users: [{ id, name, last_name, email?, active }] } - Nota:
filteradmite filtros deuser.getde Bitrix24 (incluidos prefijos como>=,%,@, etc.).startcontrola la paginación (Bitrix devuelve 50 registros por página);limites un segmento local después de la respuesta de la API.
- Entrada:
get_user_fields- Entrada:
{}- Salida:
{ fields: { [field: string]: string } }
- Salida:
- Entrada:
get_current_user- Entrada:
{}- Salida:
{ user: { id, name, last_name, email?, active } }
- Salida:
- Entrada:
Arquitectura
Capas de arquitectura limpia:
mcp/— protocolo, transporte, servidoradapters/— mapeo de herramientas MCP al dominiodomain/— entidades, servicios, puertosinfrastructure/— cliente REST de Bitrix24
Notas de desarrollo
- La validación de entrada utiliza
zod. - Transporte: solo STDIO.
- Compilación:
tsc(npm run build).
Contribuciones
Consulte CONTRIBUTING.md para obtener las pautas.