Access Intercom Customer Data for AI
Intercom MCP Server for AI assistants to access and analyze customer support data. Search conversations and tickets with advanced filtering.
1.0.0Add to Favorites
Why it matters
Enable AI assistants to access and analyze customer support data from Intercom, including conversations and tickets. Provides advanced filtering capabilities for efficient data retrieval.
Outcomes
What it gets done
Retrieve conversations with keyword and content filtering.
Search conversations and tickets by customer email or ID.
Filter tickets by status and date range.
Integrate with MCP-compatible AI assistants.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-intercom | bash Capabilities
Tools your agent gets
Retrieves all conversations within a specified date range with content filtering by keywords and exclusions.
Finds conversations for a specific customer by email or Intercom ID with optional date range filtering.
Retrieves tickets by their status (open, pending, or resolved) with optional date range filtering.
Finds tickets associated with a specific customer by email or Intercom ID with optional date range filtering.
Overview
Intercom MCP Server
This MCP-compliant server allows AI assistants to access and analyze customer support data from Intercom. It provides tools to search conversations and tickets with advanced filtering options, including by customer, status, date range, and keywords. It can even search by email content when no contact exists. Use this server when you need to integrate AI assistants with Intercom customer support data. It's ideal for scenarios requiring programmatic access to conversations and tickets for analysis, reporting, or automated response generation.
What it does
As an AI assistant developer, my big job is to build intelligent agents that can understand and act upon customer support interactions to improve service and efficiency. My small job is to enable these agents to query and analyze Intercom data programmatically. This MCP server provides the tools to achieve this.
Here's how to get started:
# 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
Source README
MCP Server for Intercom
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
Installation
Prerequisites
- Node.js 18.0.0 or higher
- An Intercom account with API access
- Your Intercom API token (available in your Intercom account settings)
Quick Setup
Using 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
Using Docker
The default Docker configuration is optimized for Glama compatibility:
# 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
Validation Steps:
# 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
Alternative Standard Version
If you prefer a lighter version without Glama-specific dependencies:
# 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
The default version includes specific dependencies and configurations required for integration with the Glama platform, while the standard version is more lightweight.
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 textexclude(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 dateendDate(DD/MM/YYYY) - Optional end datekeywords(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 dateendDate(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 dateendDate(DD/MM/YYYY) - Optional end date
Example:
{
"customerIdentifier": "customer@example.com",
"startDate": "15/01/2025",
"endDate": "21/01/2025"
}
Configuration with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"intercom-mcp": {
"command": "intercom-mcp",
"args": [],
"env": {
"INTERCOM_ACCESS_TOKEN": "your_intercom_api_token"
}
}
}
}
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
FAQ
Common questions
Trust
How it checks out
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.