by raoulbia-ai
MCP Server for Intercom is an MCP-compliant server that bridges Intercom customer support data with AI tools. It enables AI assistants to access, analyze, and gain insights from customer support tickets, enhancing customer service and reporting.
MCP Server for Intercom is an MCP-compliant server designed to enable AI assistants, such as Claude Desktop and Cline, to access and analyze customer support tickets from Intercom. It acts as a bridge between Intercom's customer support data and AI tools, facilitating efficient data retrieval and analysis.
To use MCP Server for Intercom, you need Node.js 18.0.0 or higher and an Intercom account with API access. You can install it globally via npm: npm install -g mcp-server-for-intercom
, then set your Intercom API token: export INTERCOM_ACCESS_TOKEN="your_token_here"
, and run the server: intercom-mcp
. Alternatively, you can use Docker by building the image and running the container with your API token and port mappings. For integration with Claude Desktop, you can configure it in your claude_desktop_config.json
file.
list_conversations
(retrieves conversations within a date range with content filtering), search_conversations_by_customer
(finds conversations for a specific customer), search_tickets_by_status
(retrieves tickets by their status), and search_tickets_by_customer
(finds tickets associated with a specific customer).export INTERCOM_ACCESS_TOKEN="your_token_here"
or pass it during Docker container execution.list_conversations
? The date range must not exceed 7 days.An MCP-compliant server that enables AI assistants to access and analyze customer support data from Intercom.
# 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
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.
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 textNotes:
Example:
{
"startDate": "15/01/2025",
"endDate": "21/01/2025",
"keyword": "billing"
}
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 contentNotes:
Example:
{
"customerIdentifier": "customer@example.com",
"startDate": "15/01/2025",
"endDate": "21/01/2025",
"keywords": ["billing", "refund"]
}
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 dateExample:
{
"status": "open",
"startDate": "15/01/2025",
"endDate": "21/01/2025"
}
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 dateExample:
{
"customerIdentifier": "customer@example.com",
"startDate": "15/01/2025",
"endDate": "21/01/2025"
}
Add to your claude_desktop_config.json
:
{
"mcpServers": {
"intercom-mcp": {
"command": "intercom-mcp",
"args": [],
"env": {
"INTERCOM_ACCESS_TOKEN": "your_intercom_api_token"
}
}
}
}
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.
# 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
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.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Please log in to share your review and rating for this MCP.