by raoulbia-ai
Enables AI assistants to retrieve and filter Intercom conversations and tickets using advanced search criteria, supporting date ranges, keywords, customer identifiers, and ticket status.
Provides an MCP‑compliant HTTP server that exposes methods for searching Intercom conversations and tickets. It leverages Intercom's search API to perform server‑side filtering, allowing AI assistants to answer support‑related queries without direct access to raw Intercom data.
npx -y mcp-server-for-intercom
export INTERCOM_ACCESS_TOKEN="your_intercom_api_token"
intercom-mcp
binary):
npx -y mcp-server-for-intercom
curl -v http://localhost:8080/.well-known/glama.json
curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"mcp.capabilities"}' http://localhost:3000
Docker alternatives are also described in the README.Q: Do I need an Intercom paid plan? A: An Intercom account with API access is required; the server works with any plan that provides a personal access token.
Q: What is the maximum date range?
A: The list_conversations
method limits the range to 7 days to stay within Intercom API rate limits.
Q: Can I search by email when the contact does not exist in Intercom? A: Yes, the server parses email content and resolves it to a contact ID when possible.
Q: Is there a lighter Docker image?
A: Yes, build the Dockerfile.standard
image for a minimal version without Glama‑specific dependencies.
Q: How do I add this server to Claude Desktop?
A: Add the snippet from the README to claude_desktop_config.json
under mcpServers
.
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.
{ "mcpServers": { "intercom-mcp": { "command": "npx", "args": [ "-y", "mcp-server-for-intercom" ], "env": { "INTERCOM_ACCESS_TOKEN": "<YOUR_API_TOKEN>" } } } }
Explore related MCPs that share similar capabilities and solve comparable challenges
by exa-labs
Provides real-time web search capabilities to AI assistants via a Model Context Protocol server, enabling safe and controlled access to the Exa AI Search API.
by elastic
Enables natural‑language interaction with Elasticsearch indices via the Model Context Protocol, exposing tools for listing indices, fetching mappings, performing searches, running ES|QL queries, and retrieving shard information.
by graphlit
Enables integration between MCP clients and the Graphlit platform, providing ingestion, extraction, retrieval, and RAG capabilities across a wide range of data sources and connectors.
by mamertofabian
Fast cross‑platform file searching leveraging the Everything SDK on Windows, Spotlight on macOS, and locate/plocate on Linux.
by cr7258
Provides Elasticsearch and OpenSearch interaction via Model Context Protocol, enabling document search, index management, cluster monitoring, and alias operations.
by liuyoshio
Provides natural‑language search and recommendation for Model Context Protocol servers, delivering rich metadata and real‑time updates.
by ihor-sokoliuk
Provides web search capabilities via the SearXNG API, exposing them through an MCP server for seamless integration with AI agents and tools.
by fatwang2
Provides web and news search, URL crawling, sitemap extraction, deep‑reasoning, and trending topic retrieval via Search1API, exposed as an MCP server for integration with AI clients.
by cnych
Provides SEO data retrieval via Ahrefs, exposing MCP tools for backlink analysis, keyword generation, traffic estimation, and keyword difficulty, with automated CAPTCHA solving and response caching.