intercom-mcp-server
Provides tools for managing Intercom resources including admins, articles, companies, contacts, conversations, data attributes, events, help centers, messages, news, segments, tags, teams, tickets, and visitors via the Intercom REST API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@intercom-mcp-serverfind contact by email jane@acme.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
intercom-mcp-server
MCP server for the Intercom REST API (v2.11).
102 tools covering every Intercom resource:
Module | Tools |
Admins | 5 |
Articles | 6 |
Companies | 12 |
Contacts | 17 |
Conversations | 12 |
Data Attributes | 3 |
Data Events | 3 |
Help Center | 7 |
Messages | 1 |
News | 8 |
Segments | 3 |
Tags | 9 |
Teams | 2 |
Tickets | 11 |
Visitors | 3 |
Setup
The server has three modes, in priority order:
Option A: Proxy mode (no credentials needed)
If you already use the official Intercom MCP (mcp.intercom.com) via mcp-remote in Claude Code, this server will automatically proxy through that existing authenticated session. No tokens, no developer app required — just a regular Intercom workspace account.
Add both to ~/.claude.json:
{
"mcpServers": {
"intercom": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.intercom.com/mcp"]
},
"intercom-local": {
"command": "node",
"args": ["/path/to/intercom-mcp-server/dist/index.js"]
}
}
}When intercom-local starts with no token set, it detects this and connects to mcp.intercom.com as a sub-process, reusing the mcp-remote session that is already authenticated. mcp-remote will prompt for browser login on first use.
Option B: Direct access token
If you have a workspace access token (from Intercom Settings → Developers → Access tokens):
{
"mcpServers": {
"intercom-local": {
"command": "node",
"args": ["/path/to/intercom-mcp-server/dist/index.js"],
"env": {
"INTERCOM_ACCESS_TOKEN": "your_token_here"
}
}
}
}Option C: OAuth app
If you have an Intercom developer account and want to register your own OAuth app, set INTERCOM_CLIENT_ID and INTERCOM_CLIENT_SECRET, then call the auth_start tool. It opens a local callback server, redirects your browser through Intercom's OAuth consent screen, and stores the token at ~/.intercom-mcp/token.json.
Build from source
git clone <repo>
cd intercom-mcp-server
npm install # also runs tscRelated MCP server: Plain.com MCP Server
Tools reference
Auth (OAuth)
auth_start— Begin OAuth login; returns a browser URL to openauth_status— Check if a token is stored and which source it came fromauth_logout— Remove the stored token
Admins
admin_identify— Get the current authenticated adminadmin_list— List all adminsadmin_get— Get a specific adminadmin_set_away— Set away mode for an adminadmin_list_activity_logs— List admin activity logs
Articles
article_list— List all articlesarticle_create— Create an articlearticle_get— Get an articlearticle_update— Update an articlearticle_delete— Delete an articlearticle_search— Search articles by phrase
Companies
company_list— List/filter companiescompany_create_or_update— Create or update a companycompany_get— Get a company by Intercom IDcompany_update— Update a companycompany_delete— Delete a companycompany_list_all— List all companies (paginated POST)company_scroll— Scroll through all companiescompany_list_contacts— List contacts for a companycompany_list_segments— List segments for a companyattach_contact_to_company— Attach a contact to a companylist_contact_companies— List companies for a contactdetach_contact_from_company— Detach a contact from a company
Contacts
contact_list— List all contactscontact_create— Create a contactcontact_get— Get a contactcontact_update— Update a contactcontact_delete— Delete a contactcontact_archive/contact_unarchive— Archive/unarchive a contactmerge_contacts— Merge two contactssearch_contacts— Search contacts with filterscontact_list_notes/contact_create_note— Notescontact_list_tags/contact_attach_tag/contact_detach_tag— Tagscontact_list_subscriptions/contact_attach_subscription/contact_detach_subscription— Subscriptions
Conversations
conversation_list— List conversationsconversation_create— Start a conversationconversation_get— Get a conversationconversation_update— Update a conversationsearch_conversations— Search conversationsconversation_reply— Reply to a conversationconversation_manage— Close, open, snooze, or assign a conversationconversation_run_assignment_rules— Run assignment rulesconversation_attach_contact/conversation_detach_contact— Manage contactsconversation_redact— Redact a part or sourceconversation_convert_to_ticket— Convert to a ticket
Data Attributes
data_attribute_list— List data attributesdata_attribute_create— Create a data attributedata_attribute_update— Update a data attribute
Data Events
data_event_list— List events for a userdata_event_create— Track an eventdata_event_summaries— Submit event summaries
Help Center
help_center_list/help_center_get— Help centerscollection_list/collection_create/collection_get/collection_update/collection_delete— Collections
Messages
create_message— Send an email or in-app message
News
news_list_items/news_create_item/news_get_item/news_update_item/news_delete_item— News itemsnews_list_newsfeeds/news_get_newsfeed/news_list_newsfeed_items— Newsfeeds
Segments
segment_list— List segmentssegment_get— Get a segmentsegment_list_for_contact— List segments for a contact
Tags
tag_list/tag_get/tag_create_or_update/tag_delete— Tag CRUDtag_companies— Tag companiestag_conversation/tag_detach_conversation— Tag conversationstag_ticket/tag_detach_ticket— Tag tickets
Teams
team_list— List teamsteam_get— Get a team
Tickets
ticket_create/ticket_get/ticket_update/ticket_search/ticket_reply— Ticketsticket_type_list/ticket_type_create/ticket_type_get/ticket_type_update— Ticket typesticket_type_attribute_create/ticket_type_attribute_update— Ticket type attributes
Visitors
visitor_get— Get a visitorvisitor_update— Update a visitorvisitor_convert— Convert a visitor to lead or user
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/OtakuXavier/intercom-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server