- MCP WhatsApp Server
MCP WhatsApp Server
Servidor baseado no Model Context Protocol (MCP) para integração com WhatsApp através da API Waha.
Sobre o Projeto
Este servidor permite que assistentes IA compatíveis com MCP (como Claude) interajam diretamente com contatos no WhatsApp. O projeto utiliza a Waha API como backend para comunicação com o WhatsApp Web.
Funcionalidades
- ✅ Verificação do status de conexão do WhatsApp
- ✅ Envio de mensagens via número de telefone
- ✅ Envio de mensagens via nome de contato cadastrado
- ✅ Gerenciamento de contatos por nome
- ✅ Visualização de configurações do servidor
Requisitos
- Python 3.7+
- API Waha em execução
- Biblioteca MCP (Fast MCP)
Instalação
-
Clone este repositório:
git clone https://github.com/seu-usuario/mcp-whatsapp-server.git cd mcp-whatsapp-server -
Instale as dependências:
pip install -r requirements.txt -
Configure as variáveis de ambiente em um arquivo
.env:WAHA_API_URL=http://localhost:3000 WAHA_SESSION_ID=default CONTATOS_FILE=caminho/para/contatos.json (opcional) -
Configure seus contatos no arquivo
contatos.json:{ "contatos": { "Nome1": "5511999999999", "Nome2": "5522888888888" } }
Uso
-
Inicie a API Waha seguindo as instruções oficiais
-
Execute o servidor MCP:
python server.py -
Use o servidor com um cliente MCP compatível (como Claude Desktop)
Recursos MCP Disponíveis
Resources
waha://configuracao- Configurações da API Wahawaha://status- Status atual da conexão WhatsAppwaha://contatos- Lista de contatos mapeados por nome
Ferramentas (Tools)
verificar_conexao_whatsapp()- Verifica o status atual da conexãoenviar_mensagem_whatsapp(numero, mensagem)- Envia mensagem por número
Exemplos
Verificar Status da Conexão
status = verificar_conexao_whatsapp()
print(f"Status: {status['mensagem']}")
Enviar Mensagem por Número
resultado = enviar_mensagem_whatsapp("5511999999999", "Olá! Esta é uma mensagem de teste.")
print(f"Resultado: {resultado['mensagem']}")
Enviar Mensagem por Nome
resultado = enviar_mensagem_por_nome("Pedro", "Olá! Esta é uma mensagem de teste.")
print(f"Resultado: {resultado['mensagem']}")
Contribuições
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar pull requests.
Licença
Este projeto está licenciado sob MIT License.
Imagens e Demonstração
Exemplos de uso

