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 texto
  • exclude (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 opcional
  • endDate (DD/MM/YYYY) – Fecha de fin opcional
  • keywords (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 opcional
  • endDate (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 opcional
  • endDate (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.