Skip to main content
Glama
chenzhaoxuan0

intercom-mcp

intercom-mcp

Dedalus MCP server for Intercom support and customer communications. It exposes contact search, contact lookup, conversation listing, conversation lookup, customer-visible replies, and internal notes.

Tools

  • search_contacts - Search contacts by field/operator/value or list recent contacts when no value is provided.

  • get_contact - Fetch one contact by ID.

  • list_conversations - List conversations, optionally filtered by state.

  • get_conversation - Fetch one conversation by ID.

  • reply_to_conversation - Send a customer-visible admin reply.

  • create_note - Add an internal note to a conversation.

Safety Notes

reply_to_conversation contacts real users. Confirm the conversation, admin identity, and body before calling it. create_note is separate and documented as internal-only so agents do not accidentally send private triage notes to customers.

Intercom conversation data may contain personal data and support history. Do not commit OAuth tokens, client secrets, conversation exports, or customer messages.

Authentication

This is a Dedalus Type 4 OAuth server. The server declares one DAuth connection named intercom-mcp with secret key INTERCOM_ACCESS_TOKEN. Dedalus handles OAuth authorization, token exchange, and runtime credential injection.

Deployment variables:

OAUTH_ENABLED=true
OAUTH_AUTHORIZE_URL=https://app.intercom.com/oauth
OAUTH_TOKEN_URL=https://api.intercom.io/auth/eagle/token
OAUTH_CLIENT_ID=...
OAUTH_CLIENT_SECRET=...
OAUTH_SCOPES_AVAILABLE=read_admins,read_contacts,write_contacts,read_conversations,write_conversations
OAUTH_BASE_URL=https://api.intercom.io
INTERCOM_VERSION=2.14
DEDALUS_AS_URL=https://as.dedaluslabs.ai

Adjust scopes to the minimum needed for your Intercom app and workspace approval flow.

Run Locally

uv run python src/main.py

In another terminal:

MCP_SERVER_URL=http://127.0.0.1:8080/mcp uv run python src/_client.py

src/_client.py explicitly calls every tool. Use INTERCOM_TEST_CONTACT_ID, INTERCOM_TEST_CONVERSATION_ID, and INTERCOM_TEST_ADMIN_ID to point the smoke test at safe records.

Deploy

Publish as dedalus-labs/intercom-mcp, configure OAuth in Dedalus, deploy, then run:

DEDALUS_MCP_SERVER_ONLY=1 DEDALUS_MCP_SERVER=dedalus-labs/intercom-mcp uv run python src/_client.py