Community Servers · MODEL CONTEXT PROTOCOL
mcp-server-for-intercom
mcp-server-for-intercom is a community-listed Model Context Protocol server. Review the source repository before installation.
WHAT IT CONNECTS
What mcp-server-for-intercom gives an AI Agent
- 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
- Node.js 18.0.0 or higher
- An Intercom account with API access
- Your Intercom API token (available in your Intercom account settings)
- `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
- Date range must not exceed 7 days
- Uses efficient server-side filtering via Intercom's search API
- `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
- Can find conversations by email content even if no contact exists
- Resolves emails to contact IDs for efficient searching
- `status` (string) – "open", "pending", or "resolved" (required)
- `startDate` (DD/MM/YYYY) – Optional start date
- `endDate` (DD/MM/YYYY) – Optional end date
- `customerIdentifier` (string) – Customer email or Intercom ID (required)
- `startDate` (DD/MM/YYYY) – Optional start date
- `endDate` (DD/MM/YYYY) – Optional end date
SECURITY
An MCP listing is not a security review
An MCP server may receive model context, credentials, local files, or permission to call external systems. Review its code, requested environment variables, network behavior, package provenance, and maintenance status before connecting it to an agent.
README
Repository documentation
An MCP-compliant server that enables AI assistants to access and analyze customer support data from Intercom.
- 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
- Node.js 18.0.0 or higher
- An Intercom account with API access
- Your Intercom API token (available in your Intercom account settings)
# 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-mcpThe 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:latestValidation 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:3000If 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:latestThe default version includes specific dependencies and configurations required for integration with the Glama platform, while the standard version is more lightweight.
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"
}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"]
}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"
}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"
}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 testThis 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.
COMMUNITY