Integrates with Uazapi WhatsApp API v2.0 to send text and media messages (images, videos, audio, documents), manage contacts, list conversations, and interact with WhatsApp programmatically.
Uazapi MCP Server
MCP Server para integração com a API Uazapi WhatsApp v2.0
Visão Geral
Este servidor MCP (Model Context Protocol) permite que LLMs interajam com a API do Uazapi para enviar e gerenciar mensagens no WhatsApp. Ele fornece ferramentas para:
✉️ Enviar mensagens de texto
📎 Enviar mídia (imagens, vídeos, áudios, documentos)
👥 Gerenciar contatos
💬 Listar conversas
🔄 E mais funcionalidades conforme documentação da API
Instalação
1. Instalar Dependências
2. Configurar Variáveis de Ambiente
Você precisa configurar suas credenciais da Uazapi:
Como obter suas credenciais:
Acesse https://uazapi.com/
Faça login na sua conta
Vá para a seção de API
Copie seu API Key e Instance ID
3. Testar o Servidor
4. Instalar no Claude Desktop
Configuração manual no
Ferramentas Disponíveis
1. uazapi_send_text_message
Envia mensagem de texto para um contato do WhatsApp.
Parâmetros:
phone(string): Número do destinatário com código do país (ex: "5511999999999")message(string): Conteúdo da mensagem (1-4096 caracteres)
Exemplo de uso:
2. uazapi_send_media_message
Envia mídia (imagem, vídeo, áudio ou documento) para um contato.
Parâmetros:
phone(string): Número do destinatáriomedia_url(string): URL pública do arquivo (HTTPS)media_type(enum): Tipo da mídia (image/video/audio/document)caption(string, opcional): Legenda para a mídiafilename(string, opcional): Nome do arquivo para documentos
Exemplo de uso:
3. uazapi_get_contacts
Recupera lista de contatos do WhatsApp.
Parâmetros:
limit(int, opcional): Máximo de contatos (1-100, padrão: 20)offset(int, opcional): Número de contatos para pular (padrão: 0)response_format(enum, opcional): Formato da resposta (markdown/json, padrão: markdown)
Exemplo de uso:
4. uazapi_get_chats
Recupera lista de conversas recentes.
Parâmetros:
limit(int, opcional): Máximo de conversas (1-100, padrão: 20)offset(int, opcional): Número de conversas para pular (padrão: 0)response_format(enum, opcional): Formato da resposta (markdown/json)
Exemplo de uso:
Características e Boas Práticas
Validação de Entrada
✅ Todos os parâmetros são validados usando Pydantic v2
✅ Números de telefone são formatados automaticamente
✅ URLs são validadas antes do envio
✅ Limites de caracteres são aplicados
Tratamento de Erros
✅ Mensagens de erro claras e acionáveis
✅ Orientação sobre como resolver problemas
✅ Tratamento específico para cada código de status HTTP
Paginação
✅ Suporte para grandes conjuntos de dados
✅ Metadados de paginação (
has_more,next_offset,total_count)✅ Limites padrão razoáveis (20 itens)
Truncamento
✅ Limite de 25.000 caracteres por resposta
✅ Truncamento gracioso com mensagens claras
✅ Orientação sobre como obter mais dados
Formatos de Resposta
✅ Markdown: Para leitura humana, formatado e organizado
✅ JSON: Para processamento programático, dados completos
Segurança
🔒 API Keys armazenadas em variáveis de ambiente (nunca no código)
🔒 Validação de entrada para prevenir injeção
🔒 URLs validadas (apenas HTTPS para mídia)
🔒 Rate limiting tratado adequadamente
🔒 Mensagens de erro não expõem detalhes internos
Desenvolvimento
Estrutura do Código
Adicionar Novos Endpoints
Para adicionar novos endpoints da API Uazapi:
Criar Modelo Pydantic para validação de entrada
Implementar função de ferramenta com decorador
@mcp.tool()Usar funções utilitárias compartilhadas (
_make_api_request,_handle_api_error)Adicionar anotações apropriadas (readOnlyHint, destructiveHint, etc.)
Documentar com docstring completa e exemplos
Exemplo de template:
Próximos Passos
Para expandir este servidor, você pode adicionar:
Grupos e Comunidades
Criar grupos
Adicionar/remover participantes
Enviar mensagens para grupos
Gerenciar admins
Mensagens Avançadas
Enviar localização
Enviar contatos
Enviar stickers
Mensagens agendadas
Respostas rápidas
Status e Presença
Atualizar status
Ver status de contatos
Gerenciar presença (online/offline)
Webhooks e Eventos
Configurar webhooks
Receber mensagens
Notificações de status
Mensagens e Histórico
Buscar mensagens
Recuperar histórico de conversas
Marcar como lido/não lido
Documentação da API
Para mais detalhes sobre os endpoints disponíveis, consulte:
Documentação oficial: https://docs.uazapi.com/
Enviar Mensagem: https://docs.uazapi.com/tag/Enviar%20Mensagem
Contatos: https://docs.uazapi.com/tag/Contatos
Grupos: https://docs.uazapi.com/tag/Grupos%20e%20Comunidades
Suporte e Contribuições
Este é um servidor MCP base com as funcionalidades essenciais. Você pode:
Estender adicionando novos endpoints
Customizar ajustando limites e formatos
Integrar com outros MCP servers
Compartilhar suas melhorias
Licença
Este projeto é fornecido como exemplo de implementação de MCP server.
Desenvolvido com ❤️ usando