Install
$ agentstack add mcp-otakuxavier-intercom-mcp-server ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
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
cd intercom-mcp-server
npm install # also runs tsc
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
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: OtakuXavier
- Source: OtakuXavier/intercom-mcp-server
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.