MCP Server for Intercom

Acesse e analise dados de suporte ao cliente do Intercom.

Documentação

MCP Server for Intercom

Um servidor compatível com MCP que permite que assistentes de IA acessem e analisem dados de suporte ao cliente do Intercom.

Recursos

  • Pesquise conversas e tickets com filtros avançados
  • Filtre por cliente, status, intervalo de datas e palavras-chave
  • Pesquise por conteúdo de e-mail mesmo quando não existe contato
  • Filtragem eficiente no lado do servidor via API de busca do Intercom
  • Integração perfeita com assistentes de IA compatíveis com MCP

Instalação

Pré-requisitos

  • Node.js 18.0.0 ou superior
  • Uma conta Intercom com acesso à API
  • Seu token de API do Intercom (disponível nas configurações da sua conta Intercom)

Configuração 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

A configuração padrão do Docker é otimizada para compatibilidade com 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

Etapas de Validação:

# 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
Versão Padrão Alternativa

Se você preferir uma versão mais leve sem dependências específicas do 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

A versão padrão inclui dependências e configurações específicas necessárias para integração com a plataforma Glama, enquanto a versão standard é mais leve.

Ferramentas MCP Disponíveis

1. list_conversations

Recupera todas as conversas em um intervalo de datas com filtragem de conteúdo.

Parâmetros:

  • startDate (DD/MM/YYYY) – Data de início (obrigatório)
  • endDate (DD/MM/YYYY) – Data de término (obrigatório)
  • keyword (string) – Filtro para incluir conversas com este texto
  • exclude (string) – Filtro para excluir conversas com este texto

Notas:

  • O intervalo de datas não deve exceder 7 dias
  • Usa filtragem eficiente no lado do servidor via API de busca do Intercom

Exemplo:

{
  "startDate": "15/01/2025",
  "endDate": "21/01/2025",
  "keyword": "billing"
}

2. search_conversations_by_customer

Encontra conversas para um cliente específico.

Parâmetros:

  • customerIdentifier (string) – E-mail do cliente ou ID Intercom (obrigatório)
  • startDate (DD/MM/YYYY) – Data de início opcional
  • endDate (DD/MM/YYYY) – Data de término opcional
  • keywords (array) – Palavras-chave opcionais para filtrar por conteúdo

Notas:

  • Pode encontrar conversas por conteúdo de e-mail mesmo se não existir contato
  • Resolve e-mails para IDs de contato para busca eficiente

Exemplo:

{
  "customerIdentifier": "customer@example.com",
  "startDate": "15/01/2025",
  "endDate": "21/01/2025",
  "keywords": ["billing", "refund"]
}

3. search_tickets_by_status

Recupera tickets pelo seu status.

Parâmetros:

  • status (string) – "open", "pending" ou "resolved" (obrigatório)
  • startDate (DD/MM/YYYY) – Data de início opcional
  • endDate (DD/MM/YYYY) – Data de término opcional

Exemplo:

{
  "status": "open",
  "startDate": "15/01/2025",
  "endDate": "21/01/2025"
}

4. search_tickets_by_customer

Encontra tickets associados a um cliente específico.

Parâmetros:

  • customerIdentifier (string) – E-mail do cliente ou ID Intercom (obrigatório)
  • startDate (DD/MM/YYYY) – Data de início opcional
  • endDate (DD/MM/YYYY) – Data de término opcional

Exemplo:

{
  "customerIdentifier": "customer@example.com",
  "startDate": "15/01/2025",
  "endDate": "21/01/2025"
}

Configuração com Claude Desktop

Adicione ao seu claude_desktop_config.json:

{
  "mcpServers": {
    "intercom-mcp": {
      "command": "intercom-mcp",
      "args": [],
      "env": {
        "INTERCOM_ACCESS_TOKEN": "your_intercom_api_token"
      }
    }
  }
}

Notas de Implementação

Para informações técnicas detalhadas sobre como este servidor se integra à API do Intercom, consulte src/services/INTERCOM_API_NOTES.md. Este documento explica nosso mapeamento de parâmetros, uso de endpoints do Intercom e detalhes de implementação para desenvolvedores.

Desenvolvimento

# 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 projeto é uma integração independente e não é afiliado, oficialmente conectado ou endossado pela Intercom Inc. "Intercom" é uma marca registrada da Intercom Inc.

Licença

Este projeto é licenciado sob a Apache License 2.0 - consulte o arquivo LICENSE para obter detalhes.