MCP Server for Intercom
Accede y analiza datos de soporte al cliente de Intercom.
Documentación
MCP Server for Intercom
Un servidor compatible con MCP que permite a los asistentes de IA acceder y analizar datos de soporte al cliente de Intercom.
Características
- Buscar conversaciones y tickets con filtrado avanzado
- Filtrar por cliente, estado, rango de fechas y palabras clave
- Buscar por contenido de correo electrónico incluso cuando no existe un contacto
- Filtrado eficiente del lado del servidor mediante la API de búsqueda de Intercom
- Integración perfecta con asistentes de IA compatibles con MCP
Instalación
Requisitos previos
- Node.js 18.0.0 o superior
- Una cuenta de Intercom con acceso a la API
- Tu token de API de Intercom (disponible en la configuración de tu cuenta de Intercom)
Configuración rápida
Usando NPM
# Install the package globally
npm install -g mcp-server-for-intercom
# Set your Intercom API token
export INTERCOM_ACCESS_TOKEN="your_token_here"
# Run the server
intercom-mcp
Usando Docker
La configuración predeterminada de Docker está optimizada para la compatibilidad con Glama:
# Start Docker (if not already running)
# On Windows: Start Docker Desktop application
# On Linux: sudo systemctl start docker
# Build the image
docker build -t mcp-intercom .
# Run the container with your API token and port mappings
docker run --rm -it -p 3000:3000 -p 8080:8080 -e INTERCOM_ACCESS_TOKEN="your_token_here" mcp-intercom:latest
Pasos de validación:
# Test the server status
curl -v http://localhost:8080/.well-known/glama.json
# Test the MCP endpoint
curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"mcp.capabilities"}' http://localhost:3000
Versión estándar alternativa
Si prefieres una versión más ligera sin dependencias específicas de Glama:
# Build the standard image
docker build -t mcp-intercom-standard -f Dockerfile.standard .
# Run the standard container
docker run --rm -it -p 3000:3000 -p 8080:8080 -e INTERCOM_ACCESS_TOKEN="your_token_here" mcp-intercom-standard:latest
La versión predeterminada incluye dependencias y configuraciones específicas necesarias para la integración con la plataforma Glama, mientras que la versión estándar es más ligera.
Herramientas MCP disponibles
1. list_conversations
Recupera todas las conversaciones dentro de un rango de fechas con filtrado de contenido.
Parámetros:
startDate(DD/MM/YYYY) – Fecha de inicio (obligatorio)endDate(DD/MM/YYYY) – Fecha de fin (obligatorio)keyword(string) – Filtro para incluir conversaciones con este textoexclude(string) – Filtro para excluir conversaciones con este texto
Notas:
- El rango de fechas no debe exceder los 7 días
- Utiliza un filtrado eficiente del lado del servidor mediante la API de búsqueda de Intercom
Ejemplo:
{
"startDate": "15/01/2025",
"endDate": "21/01/2025",
"keyword": "billing"
}
2. search_conversations_by_customer
Encuentra conversaciones para un cliente específico.
Parámetros:
customerIdentifier(string) – Correo electrónico del cliente o ID de Intercom (obligatorio)startDate(DD/MM/YYYY) – Fecha de inicio opcionalendDate(DD/MM/YYYY) – Fecha de fin opcionalkeywords(array) – Palabras clave opcionales para filtrar por contenido
Notas:
- Puede encontrar conversaciones por contenido de correo electrónico incluso si no existe un contacto
- Resuelve correos electrónicos a IDs de contacto para una búsqueda eficiente
Ejemplo:
{
"customerIdentifier": "customer@example.com",
"startDate": "15/01/2025",
"endDate": "21/01/2025",
"keywords": ["billing", "refund"]
}
3. search_tickets_by_status
Recupera tickets por su estado.
Parámetros:
status(string) – "open", "pending" o "resolved" (obligatorio)startDate(DD/MM/YYYY) – Fecha de inicio opcionalendDate(DD/MM/YYYY) – Fecha de fin opcional
Ejemplo:
{
"status": "open",
"startDate": "15/01/2025",
"endDate": "21/01/2025"
}
4. search_tickets_by_customer
Encuentra tickets asociados con un cliente específico.
Parámetros:
customerIdentifier(string) – Correo electrónico del cliente o ID de Intercom (obligatorio)startDate(DD/MM/YYYY) – Fecha de inicio opcionalendDate(DD/MM/YYYY) – Fecha de fin opcional
Ejemplo:
{
"customerIdentifier": "customer@example.com",
"startDate": "15/01/2025",
"endDate": "21/01/2025"
}
Configuración con Claude Desktop
Añade a tu claude_desktop_config.json:
{
"mcpServers": {
"intercom-mcp": {
"command": "intercom-mcp",
"args": [],
"env": {
"INTERCOM_ACCESS_TOKEN": "your_intercom_api_token"
}
}
}
}
Notas de implementación
Para información técnica detallada sobre cómo este servidor se integra con la API de Intercom, consulta src/services/INTERCOM_API_NOTES.md. Este documento explica nuestro mapeo de parámetros, el uso de endpoints de Intercom y los detalles de implementación para desarrolladores.
Desarrollo
# Clone and install dependencies
git clone https://github.com/raoulbia-ai/mcp-server-for-intercom.git
cd mcp-server-for-intercom
npm install
# Build and run for development
npm run build
npm run dev
# Run tests
npm test
Aviso legal
Este proyecto es una integración independiente y no está afiliado, conectado oficialmente ni respaldado por Intercom Inc. "Intercom" es una marca registrada de Intercom Inc.
Licencia
Este proyecto está licenciado bajo la Apache License 2.0 - consulta el archivo LICENSE para más detalles.