mcp-bitrix24
Servidor MCP para Tarefas, Grupos de Trabalho e Usuários do Bitrix24. Implementa MCP/JSON-RPC via STDIO.
GitHub
4
Experimente este MCPPatrocinadoDocumentação
mcp-bitrix24
Servidor MCP para Tarefas, Grupos de Trabalho e Usuários do Bitrix24. Implementa MCP/JSON-RPC sobre STDIO.
Recursos
- Tarefas: criar, atualizar, fechar, reabrir, listar
- Grupos de trabalho: criar, listar
- Usuários: listar, usuário atual, campos disponíveis
- Campos de tarefa: campos disponíveis + validação para
create_task.fields
Requisitos
- Node.js >= 18
- URL do webhook do Bitrix24
Instalação / Compilação
npm install
npm run build
Execute via npm:
npx mcp-bitrix24
Configuração
Defina a URL do webhook do Bitrix24 via variável de ambiente:
BITRIX24_WEBHOOK_URL=https://<your-domain>/rest/<user_id>/<webhook>/
Exemplo de configuração MCP do Codex:
[mcp_servers.bitrix24]
command = "npx"
args = ["-y", "mcp-bitrix24"]
[mcp_servers.bitrix24.env]
BITRIX24_WEBHOOK_URL = "https://<your-domain>/rest/<user_id>/<webhook>/"
Ferramentas
Tarefas
create_task- Entrada:
title(string, obrigatório),description?(string),responsible_id?(number),group_id?(number),fields?(object)- Saída:
{ task_id: number } - Nota: se
fieldsfor fornecido, as chaves são validadas contraget_task_fields.
- Saída:
- Entrada:
update_task- Entrada:
task_id(number, obrigatório) + pelo menos um de:title?,description?,responsible_id?,group_id?- Saída:
{ task_id: number }
- Saída:
- Entrada:
close_task- Entrada:
task_id(number, obrigatório)- Saída:
{ task_id: number }
- Saída:
- Entrada:
reopen_task- Entrada:
task_id(number, obrigatório)- Saída:
{ task_id: number }
- Saída:
- Entrada:
list_tasks- Entrada:
responsible_id?(number),group_id?(number),start?(number),limit?(number)- Saída:
{ tasks: [{ id, title, status }] }
- Saída:
- Entrada:
get_task_fields- Entrada:
{}- Saída:
{ fields: { [field: string]: object } }
- Saída:
- Entrada:
list_task_history- Entrada:
task_id(number, obrigatório),filter?(object),order?(object)- Saída:
{ list: [ { id, createdDate, field, value, user } ] }
- Saída:
- Entrada:
Grupos de Trabalho
create_group- Entrada:
name(string, obrigatório),description?(string)- Saída:
{ group_id: number }
- Saída:
- Entrada:
list_groups- Entrada:
limit?(number)- Saída:
{ groups: [{ id, name }] }
- Saída:
- Entrada:
Usuários
list_users- Entrada:
filter?(object) -sort?(string) -order?("ASC" | "DESC") -admin_mode?(boolean) -start?(number) -limit?(number)- Saída:
{ users: [{ id, name, last_name, email?, active }] } - Nota:
filtersuporta filtrosuser.getdo Bitrix24 (incluindo prefixos como>=,%,@, etc.).startcontrola a paginação (o Bitrix retorna 50 registros por página);limité um recorte local após a resposta da API.
- Entrada:
get_user_fields- Entrada:
{}- Saída:
{ fields: { [field: string]: string } }
- Saída:
- Entrada:
get_current_user- Entrada:
{}- Saída:
{ user: { id, name, last_name, email?, active } }
- Saída:
- Entrada:
Arquitetura
Camadas de arquitetura limpa:
mcp/— protocolo, transporte, servidoradapters/— mapeamento das ferramentas MCP para o domíniodomain/— entidades, serviços, portasinfrastructure/— cliente REST do Bitrix24
Notas de Desenvolvimento
- A validação de entrada usa
zod. - Transporte: apenas STDIO.
- Compilação:
tsc(npm run build).
Contribuindo
Veja CONTRIBUTING.md para diretrizes.