WhatsApp Claude MCP
WhatsApp Claude MCP
Un potente bot de WhatsApp integrado con Claude AI mediante el Protocolo de Contexto de Modelo (MCP). Envía mensajes a tu bot de WhatsApp y recibe respuestas inteligentes impulsadas por Claude, con acceso a herramientas y APIs externas.
🌟 Características
Integración con Claude AI: Usa Claude 3.5 Sonnet para conversaciones inteligentes
Herramientas MCP: Sistema de herramientas extensible para que Claude interactúe con APIs externas
Generador de chistes: Herramienta integrada que obtiene chistes aleatorios de una API externa
Memoria de conversación: Mantiene el contexto a lo largo de múltiples mensajes por usuario
Webhook de WhatsApp: API REST sencilla para integrarse con WhatsApp
Despliegue fácil: Funciona con el servidor Express, listo para despliegue en nube
Related MCP server: WAHA WhatsApp MCP Server
📋 Requisitos previos
Node.js 18+
npm o yarn
Clave de API de Anthropic (obtenerla en console.anthropic.com)
Acceso a la API de WhatsApp Cloud (para integración en producción)
🚀 Inicio rápido
1. Clonar e instalar
git clone https://github.com/yulianheroes-lgtm/whatsapp-claude-mcp.git
cd whatsapp-claude-mcp
npm install2. Configurar las variables de entorno
cp .env.example .envEdita el archivo .env y añade tu clave de API de Anthropic:
ANTHROPIC_API_KEY=your_anthropic_api_key_here
PORT=30003. Iniciar el servidor
npm startDeberías ver:
✅ WhatsApp Claude MCP Server running on http://localhost:3000
🤖 Ready to process WhatsApp messages!📡 Uso de la API
Comprobación de salud
curl http://localhost:3000/healthEnviar mensaje a Claude
curl -X POST http://localhost:3000/webhook/whatsapp \
-H "Content-Type: application/json" \
-d '{
"userId": "1234567890",
"message": "Tell me a joke"
}'Respuesta:
{
"success": true,
"userId": "1234567890",
"message": "😂 Here's a programming joke for you!\n\nWhy do programmers prefer dark mode?\n\nBecause light attracts bugs! 🐛"
}Limpiar el historial de conversación
curl -X POST http://localhost:3000/webhook/clear-history \
-H "Content-Type: application/json" \
-d '{
"userId": "1234567890"
}'🛠️ Herramientas disponibles
Generador de chistes
Claude puede usar esta herramienta automáticamente cuando sea apropiado:
Activación: Cuando el usuario pide chistes
Tipos: aleatorios, de programación, generales
API: Official Joke API
Ejemplo de interacción:
User: Tell me a funny programming joke
Bot: [Uses joke_generator tool] 😂 Here's a programming joke...📁 Estructura del proyecto
whatsapp-claude-mcp/
├── src/
│ ├── index.js # Main Express server
│ ├── whatsapp-handler.js # Message handling & Claude integration
│ ├── mcp-server.js # MCP tool definitions & execution
│ └── tools/
│ └── joke-generator.js # Joke generator tool implementation
├── .env.example # Environment variables template
├── .gitignore # Git ignore rules
├── package.json # Dependencies
└── README.md # This file🔌 Integración con WhatsApp
Opción 1: API de WhatsApp Cloud
Para producción, intégrala con la API de WhatsApp Cloud:
Configura un webhook en Meta Business Platform
Apunta la URL del webhook a:
https://your-domain.com/webhook/whatsappCuando WhatsApp envíe mensajes, reenvíalos a este endpoint
Opción 2: Prueba local
Utiliza herramientas como curl, Postman o un script de prueba para enviar mensajes:
// test.js
const userId = '1234567890';
const message = 'Tell me a joke';
const response = await fetch('http://localhost:3000/webhook/whatsapp', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ userId, message })
});
const result = await response.json();
console.log(result.message);🧠 Cómo funciona
Recibir mensaje → El webhook de WhatsApp recibe un mensaje
Procesamiento con Claude → El mensaje se envía a Claude con las herramientas disponibles
Selección de herramienta → Claude decide si necesita herramientas
Ejecución de herramienta → El servidor MCP ejecuta las herramientas (p. ej., obtener chistes)
Generación de respuesta → Claude genera una respuesta usando los resultados de las herramientas
Enviar mensaje → La respuesta se envía de vuelta por WhatsApp
🚀 Añadir más herramientas
Para añadir una nueva herramienta (por ejemplo, clima, traducciones):
1. Crear el archivo de la herramienta
// src/tools/weather.js
export const weatherTool = {
name: 'get_weather',
description: 'Get current weather for a location',
inputSchema: {
type: 'object',
properties: {
location: { type: 'string', description: 'City name' }
}
}
};
export async function executeWeather(location) {
// Fetch weather data
return { /* weather data */ };
}2. Regístrala en el servidor MCP
// src/mcp-server.js
import { weatherTool, executeWeather } from './tools/weather.js';
export class MCPServer {
constructor() {
this.tools = [
jokeGeneratorTool,
weatherTool // Add here
];
}
async processTool(toolName, toolInput) {
switch (toolName) {
case 'get_weather':
return await executeWeather(toolInput.location);
// ...
}
}
}📚 Referencia de la API
POST /webhook/whatsapp
Mensaje de la petición:
{
"userId": "string (required)",
"message": "string (required)"
}Respuesta:
{
"success": boolean,
"userId": "string",
"message": "string"
}POST /webhook/clear-history
Mensaje de la petición:
{
"userId": "string (required)"
}Respuesta:
{
"success": boolean,
"message": "string"
}🔐 Consideraciones de seguridad
Claves de API: Nunca confirmes el archivo
.enven el control de versionesLímite de peticiones: Considera añadir límites de velocidad para producción
Validación de entrada: Valida siempre las cargas útiles del webhook
HTTPS: Usa HTTPS en producción
Autenticación: Añade verificación de firma de webhook para la integración con la API de WhatsApp
📝 Variables de entorno
Nombre | Descripción | Ejemplo |
| Clave API de Claude |
|
| Puerto del servidor |
|
| Entorno de ejecución |
|
| Endpoint de la API de chistes |
|
🤝 Contribuciones
¡Siéntete libre de hacer fork, modificar y hacer tus aportaciones!
📄 Licencia
Licencia MIT: consulta el archivo LICENSE para más información.
🆘 Solución de problemas
"API key no encontrada"
Asegúrate de que el archivo
.envexista y contengaANTHROPIC_API_KEY.Comprueba que la clave es válida en console.anthropic.com.
"Error al ejecutar la herramienta"
Comprueba que las APIs externas sean accesibles
Verifica la conectividad de red
Revisa los registros de errores en la consola
"No se recibe respuesta de Claude"
Comprueba que
ANTHROPIC_API_KEYes correctaAsegúrate de que el modelo Claude está disponible
Revisa los límites de peticiones de la API
📞 Soporte
Para problemas o preguntas:
Consulta la sección de solución de problemas
Revisa la documentación de la API de Claude
Abre una "issue" en GitHub
🎯 Mejoras futuras
Soporte para imágenes y elementos multimedia en mensajes de WhatsApp
Herramientas adicionales (clima, noticias, traducciones)
Base de datos para historial de conversación persistente
Límites de peticiones y autenticación
Panel de administración para monitorización
Soporte multilingüe
Prompts del sistema personalizados para cada usuario
Hecho con ❤️ por yulianheroes-lgtm
This server cannot be deployed
Maintenance
Related MCP Connectors
WhatsMCP connects Claude and other MCP-compatible AI agents directly to WhatsApp. Send and receive text, images, documents, and voice notes; manage groups (create, add/remove members, promote admins); look up contacts and profiles; follow channels; and read call and message history — all through a standard MCP interface. For voice use cases, WhatsMCP offers SIP-based calling plans (inbound-only, or full inbound/outbound) so AI voice agents can answer and place WhatsApp calls, plus low-latency WebSocket integrations with voice agent providers like ElevenLabs. Multiple WhatsApp accounts can be paired and managed per workspace, with webhook support for real-time inbound message delivery to your own infrastructure.
Let Claude or ChatGPT search, read and send your WhatsApp messages over MCP. OAuth sign-in.
Ask questions across your WhatsApp inbox from Claude, ChatGPT, Cursor or any MCP client.
Your own WhatsApp in Claude and ChatGPT: read chats, draft replies, send messages you approve.
1
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables sending, reading, and deleting WhatsApp messages through Claude Desktop and other MCP clients with granular per-chat permissions. Built on whatsapp-web.js using a headless browser to automate WhatsApp Web.6MIT
- AlicenseAqualityDmaintenanceEnables Claude to interact with WhatsApp through a unified backend API, providing 20 tools for messaging, media, groups, contacts, and chat management.2240 npmMIT
- AlicenseNot gradedqualityDmaintenanceConnects WhatsApp to Claude Code, enabling message reading, audio transcription, image analysis, and message sending with full codebase context.36 npmMIT
- AlicenseNot gradedqualityCmaintenanceA local MCP server that connects WhatsApp to Claude via QR code, enabling chat listing, message retrieval, and sending with automatic rate limiting for anti-ban protection.36 npmMIT