Intercom MCP server for Claude, ChatGPT, Claude Code and Cursor
Intercom provides live chat, messaging, and customer engagement tools, enabling businesses to drive conversions, handle support, and personalize communication at scale
Examples of what your AI apps can do in Intercom. You'll see the exact list of tools after you connect it.
assign_conversation
ToolAssigns a conversation to a specific admin or team in intercom
attach_a_contact_to_a_company
ToolYou can attach a company to a single contact.
close_conversation
ToolCloses a conversation in intercom, marking it as resolved
create_conversation
ToolCreates a new conversation in intercom
get_conversation
ToolRetrieves a specific conversation by id with all messages and details
list_conversations
ToolLists conversations from intercom with filtering and pagination support
reopen_conversation
ToolReopens a closed conversation in intercom
reply_to_conversation
ToolSends a reply to an existing conversation in intercom
search_conversations
ToolSearches for conversations using query string with support for filtering and sorting
add_subscription_to_a_contact
ToolYou can add a specific subscription to a contact. in intercom, we have two different subscription types based on user consent - opt-out and opt-in: 1.attaching a contact to an opt-out subscription type will opt that user out from receiving messages related to that subscription type. 2.attaching a contact to an opt-in subscription type will opt that user in to receiving messages related to that subscription type. this will return a subscription type model for the subscription type that was added to the contact.
add_tag_to_a_contact
ToolYou can tag a specific contact. this will return a tag object for the tag that was added to the contact.
create_a_collection
ToolYou can create a new collection by making a post request to `https://api.intercom.io/help center/collections.`
create_an_article
ToolYou can create a new article by making a post request to `https://api.intercom.io/articles`.
create_a_note
ToolYou can add a note to a single contact.
create_or_update_a_company
ToolYou can create or update a company. companies will be only visible in intercom when there is at least one associated user. companies are looked up via `company id` in a `post` request, if not found via `company id`, the new company will be created, if found, that company will be updated. {% admonition type="attention" name="using `company id`" %} you can set a unique `company id` value when creating a company. however, it is not possible to update `company id`. be sure to set a unique value once upon creation of the company. {% /admonition %}
delete_a_collection
ToolYou can delete a single collection by making a delete request to `https://api.intercom.io/collections/<id>`.
delete_a_company
ToolYou can delete a single company.
delete_a_contact
ToolYou can delete a single contact.
delete_an_article
ToolYou can delete a single article by making a delete request to `https://api.intercom.io/articles/<id>`.
detach_a_contact_from_a_company
ToolYou can detach a company from a single contact.
get_a_contact
ToolYou can fetch the details of a single contact.
identify_an_admin
ToolYou can view the currently authorised admin along with the embedded app object (a "workspace" in legacy terminology). > ๐ง single sign on > > if you are building a custom "log in with intercom" flow for your site, and you call the `/me` endpoint to identify the logged-in user, you should not accept any sign-ins from users with unverified email addresses as it poses a potential impersonation security risk.
list_all_activity_logs
ToolYou can get a log of activities by all admins in an app.
list_all_admins
ToolYou can fetch a list of admins for a given workspace.
list_all_articles
ToolYou can fetch a list of all articles by making a get request to `https://api.intercom.io/articles`. > ๐ how are the articles sorted and ordered? > > articles will be returned in descending order on the `updated at` attribute. this means if you need to iterate through results then we'll show the most recently updated articles first.
list_all_collections
ToolYou can fetch a list of all collections by making a get request to `https://api.intercom.io/help center/collections`. collections will be returned in descending order on the `updated at` attribute. this means if you need to iterate through results then we'll show the most recently updated collections first.
list_all_companies
ToolYou can list companies. the company list is sorted by the `last request at` field and by default is ordered descending, most recently requested first. note that the api does not include companies who have no associated users in list responses. when using the companies endpoint and the pages object to iterate through the returned companies, there is a limit of 10,000 companies that can be returned. if you need to list or iterate on more than 10,000 companies, please use the [scroll api](https://developers.intercom.com/reference#iterating-over-all-companies). {% admonition type="warning" name="pagination" %} you can use pagination to limit the number of results returned. the default is `20` results per page. see the [pagination section](https://developers.intercom.com/docs/build-an-integration/learn-more/rest-apis/pagination/#pagination-for-list-apis) for more details on how to use the `starting after` param. {% /admonition %}
list_all_help_centers
ToolYou can list all help centers by making a get request to `https://api.intercom.io/help center/help centers`.
list_all_notes
ToolYou can fetch a list of notes that are associated to a contact.
list_attached_companies_for_contact
ToolYou can fetch a list of companies that are associated to a contact.
list_attached_contacts
ToolYou can fetch a list of all contacts that belong to a company.
list_attached_segments_for_companies
ToolYou can fetch a list of all segments that belong to a company.
list_attached_segments_for_contact
ToolYou can fetch a list of segments that are associated to a contact.
list_subscriptions_for_a_contact
ToolYou can fetch a list of subscription types that are attached to a contact. these can be subscriptions that a user has 'opted-in' to or has 'opted-out' from, depending on the subscription type. this will return a list of subscription type objects that the contact is associated with. the data property will show a combined list of: 1.opt-out subscription types that the user has opted-out from. 2.opt-in subscription types that the user has opted-in to receiving.
list_tags_attached_to_a_contact
ToolYou can fetch a list of all tags that are attached to a specific contact.
merge_a_lead_and_a_user
ToolYou can merge a contact with a `role` of `lead` into a contact with a `role` of `user`.
remove_subscription_from_a_contact
ToolYou can remove a specific subscription from a contact. this will return a subscription type model for the subscription type that was removed from the contact.
remove_tag_from_a_contact
ToolYou can remove tag from a specific contact. this will return a tag object for the tag that was removed from the contact.
retrieve_a_collection
ToolYou can fetch the details of a single collection by making a get request to `https://api.intercom.io/help center/collections/<id>`.
retrieve_a_company_by_id
ToolYou can fetch a single company.
retrieve_a_help_center
ToolYou can fetch the details of a single help center by making a get request to `https://api.intercom.io/help center/help center/<id>`.
retrieve_an_admin
ToolYou can retrieve the details of a single admin.
retrieve_an_article
ToolYou can fetch the details of a single article by making a get request to `https://api.intercom.io/articles/<id>`.
retrieve_companies
ToolYou can fetch a single company by passing in `company id` or `name`. `https://api.intercom.io/companies?name={name}` `https://api.intercom.io/companies?company id={company id}` you can fetch all companies and filter by `segment id` or `tag id` as a query parameter. `https://api.intercom.io/companies?tag id={tag id}` `https://api.intercom.io/companies?segment id={segment id}`
scroll_over_all_companies
ToolThe `list all companies` functionality does not work well for huge datasets, and can result in errors and performance problems when paging deeply. the scroll api provides an efficient mechanism for iterating over all companies in a dataset. - each app can only have 1 scroll open at a time. you'll get an error message if you try to have more than one open per app. you can get the first page of companies by simply sending a get request to the scroll endpoint. for subsequent requests you will need to use the scroll parameter from the response type="danger" name="scroll network timeouts". since scroll is often used on large datasets network errors such as timeouts can be encountered. when this occurs you will see a http 500 error with the following message: "request failed due to an internal network error. please restart the scroll operation." if this happens, you will need to restart your scroll query.
search_for_articles
ToolYou can search for articles by making a get request to `https://api.intercom.io/articles/search`.
set_an_admin_to_away
ToolYou can set an admin as away for the inbox.
update_a_collection
ToolYou can update the details of a single collection by making a put request to `https://api.intercom.io/collections/<id>`.
update_a_company
ToolYou can update a single company using the intercom provisioned `id`. {% admonition type="attention" name="using `company id`" %} when updating a company it is not possible to update `company id`. this can only be set once upon creation of the company. {% /admonition %}
update_a_contact
ToolYou can update an existing contact (ie. user or lead).
update_an_article
ToolYou can update the details of a single article by making a put request to `https://api.intercom.io/articles/<id>`.
Free. No card needed.
How to connect Intercom
- 1Create your free ContextGate account.
- 2Intercom isn't in ContextGate's app list yet. If you have an MCP server for Intercom, add it under Connections โ Add Connection โ Custom MCP.
- 3Add ContextGate to Claude, Cursor or ChatGPT (the Setup page shows you how), then ask it to use Intercom.
What you get with Intercom and ContextGate
- Your AI apps can use Intercom Claude, Cursor, ChatGPT and other AI apps reach Intercom through the one ContextGate connection you add to them.
- You choose which tools they can use Switch off any Intercom tool you don't want used. It's hidden from your AI apps and refused if called.
- Every call is checked and recorded Your policies check each call (for example, personal data is hidden and secrets are blocked), and Activity keeps a record of it.
ContextGate sees only the tool calls that go through it, not your AI app's built-in tools or your chats.
Select a tool on the left to see its parameters
What you get with Intercom and ContextGate
- Your AI apps can use Intercom: Claude, Cursor, ChatGPT and other AI apps reach Intercom through the one ContextGate connection you add to them.
- You choose which tools they can use: Switch off any Intercom tool you don't want used. It's hidden from your AI apps and refused if called.
- Every call is checked and recorded: Your policies check each call (for example, personal data is hidden and secrets are blocked), and Activity keeps a record of it.
ContextGate sees only the tool calls that go through it, not your AI app's built-in tools or your chats.
Free. No card needed.
How to connect Intercom
- Create your free ContextGate account.
- Intercom isn't in ContextGate's app list yet. If you have an MCP server for Intercom, add it under Connections โ Add Connection โ Custom MCP.
- Add ContextGate to Claude, Cursor or ChatGPT (the Setup page shows you how), then ask it to use Intercom.