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.aiAdjust scopes to the minimum needed for your Intercom app and workspace approval flow.
Run Locally
uv run python src/main.pyIn another terminal:
MCP_SERVER_URL=http://127.0.0.1:8080/mcp uv run python src/_client.pysrc/_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