Bitrix24
Interaja e gerencie sua instância do CRM Bitrix24 através de um conjunto poderoso de ferramentas.
Documentação
Servidor MCP Bitrix24
Um servidor abrangente do Model Context Protocol (MCP) para integração com o CRM Bitrix24, permitindo que agentes de IA interajam perfeitamente com sua instância Bitrix24 por meio de um poderoso conjunto de ferramentas.
🚀 Recursos
- Gerenciamento completo de CRM: Crie, leia, atualize e liste contatos, negócios e tarefas
- Busca avançada: Pesquise em todas as entidades do CRM com filtros flexíveis
- Limitação de taxa: Limitação de taxa integrada para respeitar os limites da API do Bitrix24
- Segurança de tipos: Implementação completa em TypeScript com definições de tipos abrangentes
- Tratamento de erros: Tratamento robusto de erros e validação
- Integração fácil: Configuração simples com Claude Desktop e outros clientes compatíveis com MCP
📋 Ferramentas Disponíveis
Gerenciamento de Contatos
bitrix24_create_contact- Criar novos contatosbitrix24_get_contact- Recuperar contato por IDbitrix24_list_contacts- Listar contatos com filtrosbitrix24_update_contact- Atualizar contatos existentes
Gerenciamento de Negócios
bitrix24_create_deal- Criar novos negóciosbitrix24_get_deal- Recuperar negócio por IDbitrix24_list_deals- Listar negócios com filtrosbitrix24_update_deal- Atualizar negócios existentes
Gerenciamento de Tarefas
bitrix24_create_task- Criar novas tarefasbitrix24_get_task- Recuperar tarefa por IDbitrix24_list_tasks- Listar tarefas com filtrosbitrix24_update_task- Atualizar tarefas existentes
Gerenciamento de Usuários
bitrix24_get_user- Obter informações do usuário por IDbitrix24_get_all_users- Obter todos os usuários do sistema com nomes e detalhesbitrix24_resolve_user_names- Resolver IDs de usuários para nomes de usuáriosbitrix24_get_contacts_with_user_names- Obter contatos com nomes de usuários resolvidosbitrix24_get_deals_with_user_names- Obter negócios com nomes de usuários resolvidosbitrix24_get_leads_with_user_names- Obter leads com nomes de usuários resolvidosbitrix24_get_companies_with_user_names- Obter empresas com nomes de usuários resolvidos
Gerenciamento de Leads
bitrix24_create_lead- Criar novos leadsbitrix24_get_lead- Recuperar lead por IDbitrix24_list_leads- Listar leads com filtrosbitrix24_get_latest_leads- Obter leads mais recentesbitrix24_get_leads_from_date_range- Obter leads de um intervalo de datas específicobitrix24_update_lead- Atualizar leads existentes
Gerenciamento de Empresas
bitrix24_create_company- Criar novas empresasbitrix24_get_company- Recuperar empresa por IDbitrix24_list_companies- Listar empresas com filtrosbitrix24_get_latest_companies- Obter empresas mais recentesbitrix24_get_companies_from_date_range- Obter empresas de um intervalo de datas específicobitrix24_update_company- Atualizar empresas existentes
Filtragem Avançada de Negócios
bitrix24_get_deal_pipelines- Obter todos os pipelines/categorias de negóciosbitrix24_get_deal_stages- Obter estágios de negócios para pipelinesbitrix24_filter_deals_by_pipeline- Filtrar negócios por pipelinebitrix24_filter_deals_by_budget- Filtrar negócios por faixa de orçamentobitrix24_filter_deals_by_status- Filtrar negócios por estágio/status
Utilitários
bitrix24_search_crm- Pesquisar em entidades do CRMbitrix24_get_current_user- Obter informações do usuário atualbitrix24_validate_webhook- Validar conexão do webhookbitrix24_diagnose_permissions- Diagnosticar permissões do webhookbitrix24_check_crm_settings- Verificar configurações e definições do CRMbitrix24_test_leads_api- Testar endpoints da API de leads
Monitoramento da Equipe de Vendas
bitrix24_monitor_user_activities- Monitorar atividades dos usuários (chamadas, e-mails, interações na linha do tempo, tempos de resposta)bitrix24_get_user_performance_summary- Obter resumo abrangente de desempenho com métricas de negócios e taxas de conversãobitrix24_analyze_account_performance- Analisar desempenho de contas específicas (empresas/contatos)bitrix24_compare_user_performance- Comparar métricas de desempenho entre vários usuáriosbitrix24_track_deal_progression- Acompanhar a progressão de negócios pelos estágios do pipeline com análise de tempobitrix24_monitor_sales_activities- Monitorar atividades relacionadas a vendas (tarefas, acompanhamentos, reuniões)bitrix24_generate_sales_report- Gerar relatórios de vendas abrangentes com métricas personalizáveisbitrix24_get_team_dashboard- Obter painel de desempenho da equipe em tempo realbitrix24_analyze_customer_engagement- Analisar padrões de engajamento do cliente e saúde do relacionamentobitrix24_forecast_performance- Gerar previsões de desempenho e análises preditivas
🛠️ Instalação
Pré-requisitos
- Node.js 18+
- npm ou yarn
- URL do webhook do Bitrix24
Configuração
- Clone e instale as dependências:
git clone <repository-url>
cd bitrix24-mcp-server
npm install
- Configure o ambiente:
cp .env.example .env
# Edit .env with your Bitrix24 webhook URL
- Compile o projeto:
npm run build
- Teste a conexão:
npm test
⚙️ Configuração
Variáveis de Ambiente
Crie um arquivo .env com as seguintes variáveis:
BITRIX24_WEBHOOK_URL=https://your-domain.bitrix24.com/rest/USER_ID/WEBHOOK_CODE/
NODE_ENV=development
LOG_LEVEL=info
Configuração do Webhook do Bitrix24
- Acesse sua instância do Bitrix24
- Navegue até Aplicativos → Webhooks
- Crie um webhook de entrada
- Copie a URL do webhook (formato:
https://domain.bitrix24.com/rest/USER_ID/WEBHOOK_CODE/) - Defina as permissões apropriadas para CRM e Tarefas
🔧 Integração com Claude Desktop
Adicione o seguinte ao arquivo de configuração do Claude Desktop:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"bitrix24": {
"command": "node",
"args": ["/path/to/your/bitrix24-mcp-server/build/index.js"],
"env": {
"BITRIX24_WEBHOOK_URL": "https://your-domain.bitrix24.com/rest/USER_ID/WEBHOOK_CODE/"
}
}
}
}
📖 Exemplos de Uso
Criando um Contato
Create a new contact named John Smith with email john@example.com and phone +39 123 456 789
Criando um Negócio com Contato
Create a new contact for Maria Rossi with email maria@company.com, then create a deal titled "Website Development Project" for €5000 and link it to this contact
Gerenciando Tarefas
Create a task titled "Follow up with client" with high priority, deadline tomorrow, and link it to contact ID 123
Pesquisando no CRM
Search for all contacts and deals related to "example.com"
🏗️ Desenvolvimento
Estrutura do Projeto
bitrix24-mcp-server/
├── src/
│ ├── bitrix24/
│ │ └── client.ts # Bitrix24 API client
│ ├── tools/
│ │ └── index.ts # MCP tools definitions
│ ├── utils/
│ │ └── logger.ts # Logging utilities
│ ├── config/
│ │ └── index.ts # Configuration management
│ └── index.ts # Main MCP server
├── test/
│ └── integration.test.js # Integration tests
├── build/ # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md
Comandos de Desenvolvimento
# Install dependencies
npm install
# Build the project
npm run build
# Watch mode for development
npm run dev
# Run tests
npm test
# Start the server
npm start
Adicionando Novas Ferramentas
- Defina a ferramenta em
src/tools/index.ts:
export const newTool: Tool = {
name: 'bitrix24_new_action',
description: 'Description of the new action',
inputSchema: {
type: 'object',
properties: {
// Define parameters
},
required: ['requiredParam']
}
};
- Adicione o manipulador de execução:
case 'bitrix24_new_action':
// Implementation
return { success: true, result: 'Action completed' };
- Adicione ao array
allToolse recompile.
🔒 Considerações de Segurança
- Segurança do Webhook: Mantenha sua URL de webhook em segredo e rotacione-a regularmente
- Variáveis de Ambiente: Nunca envie arquivos
.envpara o controle de versão - Limitação de Taxa: O cliente inclui limitação de taxa integrada (2 solicitações/segundo)
- Tratamento de Erros: Informações sensíveis não são expostas em mensagens de erro
🐛 Solução de Problemas
Problemas Comuns
"Falha na validação do webhook"
- Verifique se a URL do webhook está correta
- Confirme que o webhook tem as permissões adequadas
- Garanta que sua instância do Bitrix24 esteja acessível
Erros de "módulo não encontrado"
- Execute
npm installpara instalar as dependências - Certifique-se de ter compilado o projeto com
npm run build
Erros de limitação de taxa
- O cliente lida automaticamente com a limitação de taxa
- Se você vir erros persistentes de limite de taxa, considere reduzir a frequência das solicitações
Modo de Depuração
Defina NODE_ENV=development e LOG_LEVEL=debug no seu arquivo .env para obter registros detalhados.
📝 Referência da API
Métodos do Bitrix24Client
Contatos
createContact(contact: BitrixContact): Promise<string>getContact(id: string): Promise<BitrixContact>updateContact(id: string, contact: Partial<BitrixContact>): Promise<boolean>listContacts(params?: ListParams): Promise<BitrixContact[]>
Negócios
createDeal(deal: BitrixDeal): Promise<string>getDeal(id: string): Promise<BitrixDeal>updateDeal(id: string, deal: Partial<BitrixDeal>): Promise<boolean>listDeals(params?: ListParams): Promise<BitrixDeal[]>
Tarefas
createTask(task: BitrixTask): Promise<string>getTask(id: string): Promise<BitrixTask>updateTask(id: string, task: Partial<BitrixTask>): Promise<boolean>listTasks(params?: TaskListParams): Promise<BitrixTask[]>
Usuários
getUser(userId: string): Promise<any>getAllUsers(): Promise<any[]>getUsersByIds(userIds: string[]): Promise<any[]>resolveUserNames(userIds: string[]): Promise<Record<string, string>>enhanceWithUserNames<T>(items: T[], userIdFields?: string[]): Promise<T[]>
Utilitários
getCurrentUser(): Promise<any>searchCRM(query: string, entityTypes?: string[]): Promise<any>validateWebhook(): Promise<boolean>
🤝 Contribuindo
- Faça um fork do repositório
- Crie um branch de funcionalidade
- Faça suas alterações
- Adicione testes, se aplicável
- Envie um pull request
📄 Licença
Licença MIT - consulte o arquivo LICENSE para obter detalhes.
🆘 Suporte
Para problemas e perguntas:
- Consulte a seção de solução de problemas
- Revise a documentação da API do Bitrix24
- Abra uma issue no GitHub
Feito com ❤️ para a comunidade de automação com IA