loading…
Search for a command to run...
loading…
An MCP server that exposes Intercom tools to Claude Desktop and sends a daily support report via email.
An MCP server that exposes Intercom tools to Claude Desktop and sends a daily support report via email.
An open-source Model Context Protocol (MCP) integration for Intercom, built to work with Claude Desktop. It exposes your Intercom workspace as a set of AI-queryable tools and delivers a fully formatted daily customer support report to your inbox every morning — no third-party AI API required.
| Component | File | Description |
|---|---|---|
| MCP Server | intercom_mcp_server.py |
SSE-based MCP server, designed to run on a remote host (e.g. EC2). Exposes 7 Intercom tools to Claude. |
| Local Bridge | intercom_bridge.py |
Runs on each team member's machine. Bridges Claude Desktop (stdio) to the remote MCP server over SSE. |
| Daily Report | daily_report.py |
Scheduled job that pulls the previous day's conversations from Intercom, builds a structured HTML analytics report in pure Python, and emails it via SMTP every morning. |
Claude Desktop
│
└── intercom_bridge.py (local — stdio ↔ SSE)
│
└──► Remote Server:3004/sse (intercom_mcp_server.py)
│
└──► Intercom REST API (api.intercom.io)
Daily Report Scheduler (daily_report.py)
└──► Intercom REST API → HTML Report → SMTP → your inbox
Why not use the official Intercom MCP server?
The official server atmcp.intercom.comonly supports US-hosted Intercom workspaces. This project calls the Intercom REST API directly, so it works globally for all workspace regions.
| Tool | Description |
|---|---|
search_conversations |
Search and filter conversations by state, channel, keyword, assignee, or date range |
get_conversation |
Retrieve full conversation detail including all message parts |
search_contacts |
Find contacts by email, name, or phone number |
get_contact |
Full contact profile including custom attributes and conversation history |
list_tags |
List all tags in the workspace |
list_admins |
List all team members and agents |
get_workspace_stats |
Aggregated daily stats: totals, channel split, response times |
Sent every morning at a configurable time (default 08:00 UTC). Includes:
The report is generated with pure Python — no external AI API dependency.
git clone https://github.com/YOUR_USERNAME/intercom-mcp-server.git
cd intercom-mcp-server
cp .env.example .env
Edit .env with your values (see Environment Variables below). Never commit .env — it is in .gitignore.
Copy all files (excluding .env) to your server, then:
# On the server
cd ~/intercom-mcp-server
# Build the Docker image
sudo docker build -t intercom-mcp-server .
# Start the MCP server
sudo docker run -d \
--name intercom-mcp-server \
--restart unless-stopped \
-p 3004:3004 \
--env-file .env \
intercom-mcp-server python intercom_mcp_server.py
# Start the daily report scheduler
sudo docker run -d \
--name intercom-daily-report \
--restart unless-stopped \
--env-file .env \
intercom-mcp-server python daily_report.py
In your cloud provider's firewall / security group, open TCP port 3004 (inbound) for the MCP server. Restrict to your team's IP range where possible.
curl http://YOUR_SERVER_IP:3004/health
# Expected: {"status": "healthy", "server": "intercom-mcp"}
sudo docker exec intercom-daily-report python daily_report.py --now
Copy .env.example to .env and fill in the values below. Do not commit the .env file.
# ── Intercom ──────────────────────────────────────────────────────────
# Get from: Intercom Settings > Developers > Access Tokens
INTERCOM_API_TOKEN=your_intercom_access_token
# ── Daily Report ──────────────────────────────────────────────────────
# Comma-separated list of recipient email addresses
[email protected]
# Time to send the report each day (24-hour HH:MM, UTC)
REPORT_SEND_TIME=08:00
# ── SMTP ──────────────────────────────────────────────────────────────
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
# Sender credentials (Gmail: use an App Password, not your account password)
[email protected]
EMAIL_1_PASSWORD=xxxx xxxx xxxx xxxx
EMAIL_1_DISPLAY_NAME=Support Reports
# ── MCP Server (optional overrides) ───────────────────────────────────
# MCP_HOST=0.0.0.0
# MCP_PORT=3004
# INTERCOM_MCP_SSE_URL=http://YOUR_SERVER_IP:3004/sse
Read conversations, Read contacts, Read admins, Read tags.env as INTERCOM_API_TOKENIf using Gmail as the SMTP sender:
EMAIL_1_PASSWORD (spaces are fine)Do this on every machine that will use the Intercom tools in Claude.
pip install requests python-dotenv1. Save the bridge script
mkdir -p ~/mcp-bridges
# Copy intercom_bridge.py from this repo to that folder
cp intercom_bridge.py ~/mcp-bridges/
2. Set the remote server URL (if not using the default)
Either set the environment variable before running, or edit intercom_bridge.py line:
SSE_URL = "http://YOUR_SERVER_IP:3004/sse"
3. Edit Claude Desktop config
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonAdd the intercom entry to mcpServers:
{
"mcpServers": {
"intercom": {
"command": "python3",
"args": ["/Users/YOUR_NAME/mcp-bridges/intercom_bridge.py"]
}
}
}
4. Restart Claude Desktop — quit fully (Cmd+Q on Mac), then reopen.
5. Verify — ask Claude:
"List all admins in our Intercom workspace"
Workspace overview
"Give me a summary of our Intercom support for the last 7 days — total conversations, open vs closed, and average response times."
Drill into specific tickets
"Find all open Intercom conversations about withdrawals from this week."
Look up a customer
"Find the Intercom contact for [email protected] and show me their recent conversations."
Team performance
"Which agent closed the most conversations yesterday in Intercom?"
On-demand report
"Pull today's Intercom stats and give me a full breakdown by channel and topic."
| Service | Port | Container Name |
|---|---|---|
| Intercom MCP Server | 3004 |
intercom-mcp-server |
| Daily Report Scheduler | — | intercom-daily-report |
intercom-mcp-server/
├── intercom_mcp_server.py # SSE MCP server — 7 Intercom tools
├── intercom_bridge.py # Local stdio↔SSE bridge for Claude Desktop
├── daily_report.py # Scheduled daily report generator + emailer
├── requirements.txt # Python dependencies
├── Dockerfile # Docker image definition
├── docker-compose.yml # Optional: orchestrate both containers
├── .env.example # Environment variable template (safe to commit)
└── .gitignore # Ensures .env is never committed
Pull requests are welcome. For major changes, please open an issue first.
MIT
Выполни в терминале:
claude mcp add intercom-mcp-server -- npx