Labsco
raoulbia-ai logo

MCP Server for Intercom

β˜… 8

from raoulbia-ai

Access and analyze customer support data from Intercom.

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedPaid serviceNeeds API keys

MCP Server for Intercom

<a href="https://glama.ai/mcp/servers/@raoulbia-ai/mcp-server-for-intercom"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@raoulbia-ai/mcp-server-for-intercom/badge" /> </a>

An MCP-compliant server that enables AI assistants to access and analyze customer support data from Intercom.

Features

  • Search conversations and tickets with advanced filtering
  • Filter by customer, status, date range, and keywords
  • Search by email content even when no contact exists
  • Efficient server-side filtering via Intercom's search API
  • Seamless integration with MCP-compliant AI assistants

Available MCP Tools

1. list_conversations

Retrieves all conversations within a date range with content filtering.

Parameters:

  • startDate (DD/MM/YYYY) – Start date (required)
  • endDate (DD/MM/YYYY) – End date (required)
  • keyword (string) – Filter to include conversations with this text
  • exclude (string) – Filter to exclude conversations with this text

Notes:

  • Date range must not exceed 7 days
  • Uses efficient server-side filtering via Intercom's search API

Example:

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

2. search_conversations_by_customer

Finds conversations for a specific customer.

Parameters:

  • customerIdentifier (string) – Customer email or Intercom ID (required)
  • startDate (DD/MM/YYYY) – Optional start date
  • endDate (DD/MM/YYYY) – Optional end date
  • keywords (array) – Optional keywords to filter by content

Notes:

  • Can find conversations by email content even if no contact exists
  • Resolves emails to contact IDs for efficient searching

Example:

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

3. search_tickets_by_status

Retrieves tickets by their status.

Parameters:

  • status (string) – "open", "pending", or "resolved" (required)
  • startDate (DD/MM/YYYY) – Optional start date
  • endDate (DD/MM/YYYY) – Optional end date

Example:

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

4. search_tickets_by_customer

Finds tickets associated with a specific customer.

Parameters:

  • customerIdentifier (string) – Customer email or Intercom ID (required)
  • startDate (DD/MM/YYYY) – Optional start date
  • endDate (DD/MM/YYYY) – Optional end date

Example:

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

Implementation Notes

For detailed technical information about how this server integrates with Intercom's API, see src/services/INTERCOM_API_NOTES.md. This document explains our parameter mapping, Intercom endpoint usage, and implementation details for developers.

Development

# 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

Disclaimer

This project is an independent integration and is not affiliated with, officially connected to, or endorsed by Intercom Inc. "Intercom" is a registered trademark of Intercom Inc.