- Built from scratch: apollo, chargebee, datadog, greenhouse, lever, loom, pandadoc, salesloft, sendgrid, supabase, typeform, webflow, zoho-crm, twilio, reonomy - TSC fixes: brevo, google-console, housecall-pro, meta-ads, rippling, bamboohr, close, fieldedge, freshdesk, helpscout, toast, touchbistro, hubspot, notion, quickbooks, airtable, gusto, intercom, linear, monday, salesforce, shopify, square, wave, xero - Entry points added: close, touchbistro - All 65 active servers compile with 0 TypeScript errors - 4 specialty servers skipped (competitor-research, compliance-grc, n8n-apps, product-analytics)
@mcpengine/intercom
Model Context Protocol (MCP) server for Intercom API integration.
Features
- ✅ Contacts - Create, read, update, delete, search, and list contacts
- ✅ Conversations - Create, reply, assign, close, search conversations
- ✅ Companies - Manage companies and their relationships with contacts
- ✅ Articles - Create and manage help center articles
- ✅ Help Center - Collections, sections, and help center management
- ✅ Tickets - Create, update, search tickets and ticket types
- ✅ Tags - Create, list, and delete tags
- ✅ Segments - List and retrieve segments
- ✅ Events - Submit custom events
- ✅ Messages - Send in-app, email, and push messages
- ✅ Teams & Admins - List and retrieve teams and admins
Installation
npm install
npm run build
Configuration
Create a .env file:
cp .env.example .env
Add your Intercom access token:
INTERCOM_ACCESS_TOKEN=your_access_token_here
Get your access token from the Intercom Developer Hub.
Usage
Standalone
npm start
As MCP Server
Add to your MCP client configuration (e.g., Claude Desktop):
{
"mcpServers": {
"intercom": {
"command": "node",
"args": ["/path/to/dist/main.js"],
"env": {
"INTERCOM_ACCESS_TOKEN": "your_access_token_here"
}
}
}
}
Available Tools
Contacts
contacts_create- Create a new contact (user or lead)contacts_get- Retrieve a contact by IDcontacts_update- Update contact detailscontacts_delete- Delete a contactcontacts_list- List all contacts (cursor pagination)contacts_search- Search contacts with filters
Conversations
conversations_create- Start a new conversationconversations_get- Retrieve conversation detailsconversations_list- List conversationsconversations_search- Search conversationsconversations_reply- Reply to a conversationconversations_close- Close a conversationconversations_assign- Assign to admin or team
Companies
companies_create- Create a companycompanies_get- Retrieve company detailscompanies_list- List companiescompanies_update- Update company data
Articles
articles_create- Create a help articlearticles_get- Get article by IDarticles_list- List all articlesarticles_update- Update articlearticles_delete- Delete article
Help Center
help-center_list- List help centershelp-center_collections_list- List collectionshelp-center_collections_create- Create collection
Tickets
tickets_create- Create a tickettickets_get- Get ticket by IDtickets_list- List ticketstickets_search- Search ticketstickets_types_list- List ticket types
Tags
tags_create- Create a tagtags_list- List all tagstags_delete- Delete a tag
Segments
segments_list- List segmentssegments_get- Get segment by ID
Events
events_submit- Submit a custom event
Messages
messages_send- Send in-app, email, or push message
Teams & Admins
teams_list- List all teamsteams_get- Get team by IDadmins_list- List all adminsadmins_get- Get admin by ID
API Reference
This server uses Intercom API v2.11. For detailed API documentation, visit: https://developers.intercom.com/docs/build-an-integration/
Rate Limiting
The server automatically handles rate limiting (429 responses) with exponential backoff and retry logic.
Development
# Type check
npm run typecheck
# Build
npm run build
# Watch mode
npm run dev
License
MIT