Skip to content

Connectors · CRM & sales

Intercom MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Intercom and the rest of your systems. It gives your agent 231 Intercom actions (111 reads, 80 writes and 40 that wait for a confirmation) and holds the Intercom credential itself, so the agent never does. It paces Intercom's limits and records every call.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "intercom.contacts.list",  intent: "check which Intercom account is connected"}# List all contacts · read · 1 upstream call
  • 231actionsin one signed file
  • 111readlook, never change
  • 80writecreate and update
  • 40wait for a yesdestructive, confirmed first

Set up

Connect Intercom in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect Intercom.

    Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.

    • access_tokenIntercom access token
    • regionYour Intercom region
    account { op: "connections.requirements", service: "intercom" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "intercom.contacts.list" }# list all contacts · read · 1 upstream callcheck { action: "intercom.tickets.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Intercom at a glance

Sign-in
Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
You provide
access_token
Setup fields
region
Limits we pace to
1,600 calls per 10 seconds, per connection
API covered
Intercom REST API 2.16 (OpenAPI 3.0.1), at your region's intercom.io address, set when you connect
Built from
Intercom's documentation, read 7 October 2026OpenAPI spec (GitHub)developers.intercom.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
110 of 111 reads, for up to 5 minutes; a write clears what it affects
Shared entities
9, so ask can line Intercom up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Intercom.

231 actions in 54 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 111readlook, never change
  • 80writecreate and update
  • 40destructivewait for a confirmation
  1. Contacts

    24

    10 read · 7 write · 7 destructive

    List all contacts · Create contact · Get a contact · Update a contact

  2. Conversations

    18

    6 read · 7 write · 5 destructive

    List all conversations · Creates a conversation · Retrieve a conversation · Update a conversation

  3. Tickets

    12

    2 read · 7 write · 3 destructive

    Search tickets · Create a ticket · Retrieve a ticket · Update a ticket

  4. Articles

    11

    4 read · 5 write · 2 destructive

    List all articles · Create an article · Search for articles · Retrieve an article

  5. Companies

    9

    6 read · 2 write · 1 destructive

    Retrieve companies · Retrieve a company by ID · Update a company · Delete a company

  6. Conversation attributes

    8

    2 read · 4 write · 2 destructive

    Create a conversation attribute · List all conversation attributes · Add an option to a list conversation attribute · Get a conversation attribute

  7. Internal articles

    8

    3 read · 3 write · 2 destructive

    List all articles · Create an internal article · Search for internal articles · Update an internal article

  8. Content snippets

    7

    2 read · 3 write · 2 destructive

    Create a content snippet · List all content snippets · Add a tag to a content snippet · Retrieve a content snippet

46 more areas · 134 actions
  • Fin 7
  • Audiences 5
  • Collections 5
  • Content import sources 5
  • Custom object instances 5
  • Data connectors 5
  • External pages 5
  • Fin voice calls 5
  • News items 5
  • Office hours exceptions 5
  • Office hours schedules 5
  • Admins 4
  • Help center redirects 4
  • Tags 4
  • Ticket types 4
  • Calls 3
  • Data attributes 3
  • Data exports 3
  • Events 3
  • Messages 3
  • Newsfeeds 3
  • Teams 3
  • Visitors 3
  • Activity logs 2
  • Article versions 2
  • Brands 2
  • Company notes 2
  • Contact notes 2
  • Content 2
  • Data connector execution results 2
  • Email settings 2
  • Help centers 2
  • Ip allowlist 2
  • Macros 2
  • Reporting data exports 2
  • Segments 2
  • Ticket type attributes 2
  • Activity log event types 1
  • Away status reasons 1
  • Jobs 1
  • Notes 1
  • Phone call redirects 1
  • Reporting datasets 1
  • Subscription types 1
  • Ticket states 1
  • Workflows 1

Intercom's own MCP server

Intercom's MCP server, or actionlake?

Intercom runs a remote MCP server for US and EU hosted workspaces (AU hosted workspaces are not yet supported), signed in with OAuth or an API token. Its tools are mostly reads, plus articles and internal notes.

Use Intercom's server when one person wants to work in Intercom from their own AI client. Use actionlake when you also want Intercom behind the same endpoint as your other systems: a key per agent with allowed actions and a spending cap, a named person's approval before destructive actions, a sealed record of every call, and one ask across Intercom and another system.

Source: Intercom's documentation, checked 22 October 2026.

Top actions

The Intercom API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 98 of Intercom's 99 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
intercom.contacts.listList all contactsList all contacts.readcrm.contact.list177 connectors
intercom.companies.listRetrieve companiesRetrieve companies.readcrm.company.list162 connectors
intercom.admins.listList all adminsList all admins.readidentity.user.list474 connectors
intercom.conversations.listList all conversationsList all conversations.readservice.conversation.list19 connectors
intercom.tickets.searchSearch ticketsSearch tickets.readservice.ticket.search18 connectors
intercom.teams.listList all teamsList all teams.readidentity.group.list262 connectors
intercom.tags.listList all tagsList all tags.readcrm.tag.list65 connectors
intercom.tickets.createCreate a ticketCreate a ticket.writeservice.ticket.create54 connectors
intercom.contacts.createCreate contactCreate contact.writecrm.contact.create161 connectors
intercom.companies.getRetrieve a company by IDRetrieve a company by ID.readcrm.company.get162 connectors
intercom.conversations.createCreates a conversationCreates a conversation.writeservice.conversation.create13 connectors
intercom.tickets.deleteDelete a ticketDelete a ticket.destructiveservice.ticket.delete42 connectors

Try it

Prompts to paste into Claude.

Each one names the Intercom actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    Which Intercom tickets have been open the longest? Show me the ten oldest with their status.

    callsintercom.tickets.search

  2. Writewrite

    Create a ticket in Intercom. Show me exactly what you will send before you save it.

    callsintercom.tickets.create

  3. Across systemsread

    Which Intercom companies have invoices in ConnectWise PSA, and how many each?

    callsintercom.companies.listconnectwise_manage.invoices.list

Across your systems

Intercom, joined to the rest of your business.

One ask fetches from Intercom and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

  • Which Intercom companies have invoices in ConnectWise PSA, and how many each?

    intercom.companies.list + connectwise_manage.invoices.list, on crm.company · ConnectWise PSA

  • Which Intercom companies have invoices in NetSuite, and how many each?

    intercom.companies.list + netsuite.views.invoices, on crm.company · NetSuite

Also mapped by other connectorsidentity.user 517identity.group 239crm.company 227crm.contact 192service.ticket 62crm.tag 47comm.call 33knowledge.article 22
ask
ask {  intent: "which Intercom companies have invoices in ConnectWise PSA, and how many each",  steps: [    { action: "intercom.companies.list", as: "co", input: {}, limit: 100, max_pages: 5 },    { action: "connectwise_manage.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 },    { join: {        left: "co",        right: "inv",        on: "crm.company",        group_by: "co.name",        select: ["co.name", "count(inv.id) as invoices"]    } }  ]}
Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for Intercom

Destructive actions wait for a yes.

40 Intercom actions are destructive. The first 10:

  • Delete a ticketintercom.tickets.delete
  • Delete a contactintercom.contacts.delete
  • Delete a companyintercom.companies.delete
  • Delete tagintercom.tags.delete
  • Delete a conversationintercom.conversations.delete
  • Merge a lead and a userintercom.contacts.merge
  • Delete an articleintercom.articles.delete
  • Remove tag from a ticketintercom.tickets.remove_tag
  • Remove tag from a contactintercom.contacts.remove_tag
  • Delete an office hours scheduleintercom.office_hours_schedules.delete

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

dointercom.tickets.deleteconfirm_policy: human

Delete a ticket?

intent: the user asked me to delete a ticket

run suspended · waiting for a named person · key intercom-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "intercom-agent",  allowed_actions: ["intercom.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "intercom.tickets.delete", approver: "[email protected]" },    { match: "intercom.contacts.delete", approver: "[email protected]" },    { match: "intercom.companies.delete", approver: "[email protected]" }  ]}
Illustrative. Scoped to Intercom only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What Intercom costs on actionlake.

Every Intercom action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Intercom refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 231 Intercom actions
  • 231actions pageeach page of a long list is one call
  • 110reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every Intercom action.

231 actions by area: the id your agent calls, what it does, and its effect.

Contacts24
  • intercom.contacts.add_subscriptionAdd subscription to a contactwrite
  • intercom.contacts.add_tagAdd tag to a contactwrite
  • intercom.contacts.archiveArchive contactdestructive
  • intercom.contacts.attach_companyAttach a Contact to a Companywrite
  • intercom.contacts.blockBlock contactdestructive
  • intercom.contacts.createCreate contactwrite
  • intercom.contacts.deleteDelete a contactdestructive
  • intercom.contacts.detach_companyDetach a contact from a companydestructive
  • intercom.contacts.dismiss_bannerDismiss a banner for a contactwrite
  • intercom.contacts.getGet a contactread
  • intercom.contacts.get_by_external_idGet a contact by External IDread
  • intercom.contacts.listList all contactsread
  • intercom.contacts.list_bannersList banners for a contactread
  • intercom.contacts.list_companiesList attached companies for contactread
  • intercom.contacts.list_merge_historyGet contact merge historyread
  • intercom.contacts.list_segmentsList attached segments for contactread
  • intercom.contacts.list_subscriptionsList subscriptions for a contactread
  • intercom.contacts.list_tagsList tags attached to a contactread
  • intercom.contacts.mergeMerge a lead and a userdestructive
  • intercom.contacts.remove_subscriptionRemove subscription from a contactdestructive
  • intercom.contacts.remove_tagRemove tag from a contactdestructive
  • intercom.contacts.searchSearch contactsread
  • intercom.contacts.unarchiveUnarchive contactwrite
  • intercom.contacts.updateUpdate a contactwrite
Conversations18
  • intercom.conversations.add_tagAdd tag to a conversationwrite
  • intercom.conversations.attach_contactAttach a contact to a conversationwrite
  • intercom.conversations.convert_to_ticketConvert a conversation to a ticketwrite
  • intercom.conversations.createCreates a conversationwrite
  • intercom.conversations.deleteDelete a conversationdestructive
  • intercom.conversations.detach_contactDetach a contact from a group conversationdestructive
  • intercom.conversations.getRetrieve a conversationread
  • intercom.conversations.listList all conversationsread
  • intercom.conversations.list_deletedList all deleted conversation IDsread
  • intercom.conversations.list_handling_eventsList handling eventsread
  • intercom.conversations.list_side_conversationsList side conversationsread
  • intercom.conversations.manageManage a conversationwrite
  • intercom.conversations.mergeMerge a conversationdestructive
  • intercom.conversations.redactRedact a conversation partdestructive
  • intercom.conversations.remove_tagRemove tag from a conversationdestructive
  • intercom.conversations.replyReply to a conversationwrite
  • intercom.conversations.searchSearch conversationsread
  • intercom.conversations.updateUpdate a conversationwrite
Tickets12
  • intercom.tickets.add_tagAdd tag to a ticketwrite
  • intercom.tickets.change_typeChange ticket typewrite
  • intercom.tickets.createCreate a ticketwrite
  • intercom.tickets.deleteDelete a ticketdestructive
  • intercom.tickets.enqueue_createEnqueue create ticketwrite
  • intercom.tickets.getRetrieve a ticketread
  • intercom.tickets.link_conversationLink a conversation to a ticketwrite
  • intercom.tickets.remove_tagRemove tag from a ticketdestructive
  • intercom.tickets.replyReply to a ticketwrite
  • intercom.tickets.searchSearch ticketsread
  • intercom.tickets.unlink_conversationUnlink a conversation from a ticketdestructive
  • intercom.tickets.updateUpdate a ticketwrite
Articles11
  • intercom.articles.add_tagAdd a tag to an articlewrite
  • intercom.articles.createCreate an articlewrite
  • intercom.articles.deleteDelete an articledestructive
  • intercom.articles.getRetrieve an articleread
  • intercom.articles.get_draftRetrieve an article draftread
  • intercom.articles.listList all articlesread
  • intercom.articles.publish_draftPublish an article draftwrite
  • intercom.articles.remove_tagRemove a tag from an articledestructive
  • intercom.articles.searchSearch for articlesread
  • intercom.articles.stage_draftStage an article draftwrite
  • intercom.articles.updateUpdate an articlewrite
Companies9
  • intercom.companies.deleteDelete a companydestructive
  • intercom.companies.getRetrieve a company by IDread
  • intercom.companies.listRetrieve companiesread
  • intercom.companies.list_allList all companiesread
  • intercom.companies.list_contactsList attached contactsread
  • intercom.companies.list_segmentsList attached segments for companiesread
  • intercom.companies.scrollScroll over all companiesread
  • intercom.companies.updateUpdate a companywrite
  • intercom.companies.upsertCreate or Update a companywrite
Conversation attributes8
  • intercom.conversation_attributes.add_optionAdd an option to a list conversation attributewrite
  • intercom.conversation_attributes.createCreate a conversation attributewrite
  • intercom.conversation_attributes.deleteDelete (archive) a conversation attributedestructive
  • intercom.conversation_attributes.delete_optionArchive an option on a list conversation attributedestructive
  • intercom.conversation_attributes.getGet a conversation attributeread
  • intercom.conversation_attributes.listList all conversation attributesread
  • intercom.conversation_attributes.updateUpdate a conversation attributewrite
  • intercom.conversation_attributes.update_optionUpdate an option on a list conversation attributewrite
Internal articles8
  • intercom.internal_articles.add_tagAdd a tag to an internal articlewrite
  • intercom.internal_articles.createCreate an internal articlewrite
  • intercom.internal_articles.deleteDelete an internal articledestructive
  • intercom.internal_articles.getRetrieve an internal articleread
  • intercom.internal_articles.listList all articlesread
  • intercom.internal_articles.remove_tagRemove a tag from an internal articledestructive
  • intercom.internal_articles.searchSearch for internal articlesread
  • intercom.internal_articles.updateUpdate an internal articlewrite
Content snippets7
  • intercom.content_snippets.add_tagAdd a tag to a content snippetwrite
  • intercom.content_snippets.createCreate a content snippetwrite
  • intercom.content_snippets.deleteDelete a content snippetdestructive
  • intercom.content_snippets.getRetrieve a content snippetread
  • intercom.content_snippets.listList all content snippetsread
  • intercom.content_snippets.remove_tagRemove a tag from a content snippetdestructive
  • intercom.content_snippets.updateUpdate a content snippetwrite
Fin7
  • intercom.fin.askAsk Finwrite
  • intercom.fin.escalateEscalate to a humanwrite
  • intercom.fin.list_capabilitiesDiscover Fin's capabilitiesread
  • intercom.fin.replyReply to Finwrite
  • intercom.fin.run_procedureRun a Fin procedurewrite
  • intercom.fin.start_conversationStart a conversation with Finwrite
  • intercom.fin.submit_csatSubmit a CSAT ratingwrite
Audiences5
  • intercom.audiences.createCreate an audiencewrite
  • intercom.audiences.deleteDelete an audiencedestructive
  • intercom.audiences.getRetrieve an audienceread
  • intercom.audiences.listList all audiencesread
  • intercom.audiences.updateUpdate an audiencewrite
Collections5
  • intercom.collections.createCreate a collectionwrite
  • intercom.collections.deleteDelete a collectiondestructive
  • intercom.collections.getRetrieve a collectionread
  • intercom.collections.listList all collectionsread
  • intercom.collections.updateUpdate a collectionwrite
Content import sources5
  • intercom.content_import_sources.createCreate a content import sourcewrite
  • intercom.content_import_sources.deleteDelete a content import sourcedestructive
  • intercom.content_import_sources.getRetrieve a content import sourceread
  • intercom.content_import_sources.listList content import sourcesread
  • intercom.content_import_sources.updateUpdate a content import sourcewrite
Custom object instances5
  • intercom.custom_object_instances.deleteDelete a Custom Object Instance by IDdestructive
  • intercom.custom_object_instances.delete_by_external_idDelete a Custom Object Instance by External IDdestructive
  • intercom.custom_object_instances.getGet Custom Object Instance by IDread
  • intercom.custom_object_instances.listList Custom Object Instancesread
  • intercom.custom_object_instances.upsertCreate or Update a Custom Object Instancewrite
Data connectors5
  • intercom.data_connectors.createCreate a data connectorwrite
  • intercom.data_connectors.deleteDelete a data connectordestructive
  • intercom.data_connectors.getRetrieve a data connectorread
  • intercom.data_connectors.listList all data connectorsread
  • intercom.data_connectors.updateUpdate a data connectorwrite
External pages5
  • intercom.external_pages.deleteDelete an external pagedestructive
  • intercom.external_pages.getRetrieve an external pageread
  • intercom.external_pages.listList external pagesread
  • intercom.external_pages.updateUpdate an external pagewrite
  • intercom.external_pages.upsertCreate an external page (or update an external page by external ID)write
Fin voice calls5
  • intercom.fin_voice_calls.getCollect Fin Voice call by IDread
  • intercom.fin_voice_calls.get_by_external_idCollect Fin Voice call by external IDread
  • intercom.fin_voice_calls.get_by_phone_numberCollect Fin Voice call by phone numberread
  • intercom.fin_voice_calls.list_by_conversationCollect Fin Voice calls by conversation IDread
  • intercom.fin_voice_calls.registerRegister a Fin Voice callwrite
News items5
  • intercom.news_items.createCreate a news itemwrite
  • intercom.news_items.deleteDelete a news itemdestructive
  • intercom.news_items.getRetrieve a news itemread
  • intercom.news_items.listList all news itemsread
  • intercom.news_items.updateUpdate a news itemwrite
Office hours exceptions5
  • intercom.office_hours_exceptions.createCreate an office hours exceptionwrite
  • intercom.office_hours_exceptions.deleteDelete an office hours exceptiondestructive
  • intercom.office_hours_exceptions.getRetrieve an office hours exceptionread
  • intercom.office_hours_exceptions.listList all office hours exceptionsread
  • intercom.office_hours_exceptions.updateUpdate an office hours exceptionwrite
Office hours schedules5
  • intercom.office_hours_schedules.createCreate an office hours schedulewrite
  • intercom.office_hours_schedules.deleteDelete an office hours scheduledestructive
  • intercom.office_hours_schedules.getRetrieve an office hours scheduleread
  • intercom.office_hours_schedules.listList all office hours schedulesread
  • intercom.office_hours_schedules.updateUpdate an office hours schedulewrite
Admins4
  • intercom.admins.getRetrieve an adminread
  • intercom.admins.listList all adminsread
  • intercom.admins.meIdentify an adminread
  • intercom.admins.set_awaySet an admin to awaywrite
Help center redirects4
  • intercom.help_center_redirects.createCreate a redirectwrite
  • intercom.help_center_redirects.deleteDelete a redirectdestructive
  • intercom.help_center_redirects.getRetrieve a redirectread
  • intercom.help_center_redirects.listList all redirects for a help centerread
Tags4
  • intercom.tags.deleteDelete tagdestructive
  • intercom.tags.getFind a specific tagread
  • intercom.tags.listList all tagsread
  • intercom.tags.upsertCreate or update a tag, Tag or untag companies, Tag contactswrite
Ticket types4
  • intercom.ticket_types.createCreate a ticket typewrite
  • intercom.ticket_types.getRetrieve a ticket typeread
  • intercom.ticket_types.listList all ticket typesread
  • intercom.ticket_types.updateUpdate a ticket typewrite
Calls3
  • intercom.calls.getGet a callread
  • intercom.calls.listList all callsread
  • intercom.calls.searchList calls with transcriptsread
Data attributes3
  • intercom.data_attributes.createCreate a data attributewrite
  • intercom.data_attributes.listList all data attributesread
  • intercom.data_attributes.updateUpdate a data attributewrite
Data exports3
  • intercom.data_exports.cancelCancel content data exportdestructive
  • intercom.data_exports.createCreate content data exportwrite
  • intercom.data_exports.getShow content data exportread
Events3
  • intercom.events.createSubmit a data eventwrite
  • intercom.events.create_summariesCreate event summarieswrite
  • intercom.events.listList all data eventsread
Messages3
  • intercom.messages.createCreate a messagewrite
  • intercom.messages.get_whatsapp_statusRetrieve WhatsApp message delivery statusread
  • intercom.messages.list_statusesGet statuses of all messages sent based on the specified ruleset_idread
Newsfeeds3
  • intercom.newsfeeds.getRetrieve a newsfeedread
  • intercom.newsfeeds.listList all newsfeedsread
  • intercom.newsfeeds.list_itemsList all live newsfeed itemsread
Teams3
  • intercom.teams.getRetrieve a teamread
  • intercom.teams.get_metricsRetrieve team metricsread
  • intercom.teams.listList all teamsread
Visitors3
  • intercom.visitors.convertConvert a visitordestructive
  • intercom.visitors.getRetrieve a visitor with User IDread
  • intercom.visitors.updateUpdate a visitorwrite
Activity logs2
  • intercom.activity_logs.listList all activity logsread
  • intercom.activity_logs.searchSearch activity logsread
Article versions2
  • intercom.article_versions.getRetrieve an article versionread
  • intercom.article_versions.listList article versionsread
Brands2
  • intercom.brands.getRetrieve a brandread
  • intercom.brands.listList all brandsread
Company notes2
  • intercom.company_notes.createCreate a company notewrite
  • intercom.company_notes.listList all company notesread
Contact notes2
  • intercom.contact_notes.createCreate a notewrite
  • intercom.contact_notes.listList all notesread
Content2
  • intercom.content.bulk_actionRun a bulk action on Knowledge Hub contentdestructive
  • intercom.content.searchSearch knowledge base contentsread
Data connector execution results2
  • intercom.data_connector_execution_results.getRetrieve an execution resultread
  • intercom.data_connector_execution_results.listList execution results for a data connectorread
Email settings2
  • intercom.email_settings.getRetrieve an email settingread
  • intercom.email_settings.listList all email settingsread
Help centers2
  • intercom.help_centers.getRetrieve a Help Centerread
  • intercom.help_centers.listList all Help Centersread
Ip allowlist2
  • intercom.ip_allowlist.getGet IP allowlist settingsread
  • intercom.ip_allowlist.replaceUpdate IP allowlist settingsdestructive
Macros2
  • intercom.macros.getRetrieve a macroread
  • intercom.macros.listList all macrosread
Reporting data exports2
  • intercom.reporting_data_exports.enqueueEnqueue a new reporting data export jobwrite
  • intercom.reporting_data_exports.getGet export job statusread
Segments2
  • intercom.segments.getRetrieve a segmentread
  • intercom.segments.listList all segmentsread
Ticket type attributes2
  • intercom.ticket_type_attributes.createCreate a new attribute for a ticket typewrite
  • intercom.ticket_type_attributes.updateUpdate an existing attribute for a ticket typewrite
Activity log event types1
  • intercom.activity_log_event_types.listList all activity log event typesread
Away status reasons1
  • intercom.away_status_reasons.listList all away status reasonsread
Jobs1
  • intercom.jobs.getRetrieve job statusread
Notes1
  • intercom.notes.getRetrieve a noteread
Phone call redirects1
  • intercom.phone_call_redirects.createCreate a phone Switchwrite
Reporting datasets1
  • intercom.reporting_datasets.listList available datasets and attributesread
Subscription types1
  • intercom.subscription_types.listList subscription typesread
Ticket states1
  • intercom.ticket_states.listList all ticket statesread
Workflows1
  • intercom.workflows.exportExport a workflowread

Questions

The Intercom MCP server, answered.

Is there an Intercom MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 231 Intercom actions across contacts, conversations, tickets and articles, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Intercom.

Does Intercom have its own MCP server?

Intercom runs a remote MCP server for US and EU hosted workspaces (AU hosted workspaces are not yet supported), signed in with OAuth or an API token. Its tools are mostly reads, plus articles and internal notes. (Intercom's documentation, checked 22 October 2026.) Use Intercom's server when one person wants to work in Intercom from their own AI client. Use actionlake when you also want Intercom behind the same endpoint as your other systems: a key per agent with allowed actions and a spending cap, a named person's approval before destructive actions, a sealed record of every call, and one ask across Intercom and another system.

What do I need to connect Intercom?

Intercom access token. Plus your region. The free call account { op: "connections.requirements", service: "intercom" } lists exactly what to paste.

Can an AI agent delete or change things in Intercom?

Only if its key allows it, and only with an explicit confirmation. 40 Intercom actions are destructive, including delete a ticket, delete a contact and delete a company. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my Intercom API limit?

actionlake paces every call to the limits in the Intercom service file: 1,600 calls per 10 seconds per connection. Repeated reads are answered from cache (110 Intercom actions can be), which never reaches Intercom.

What does an Intercom action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (231 Intercom actions page). Cache hits, searches, dry runs and calls Intercom refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which Intercom API does it cover?

The Intercom REST API 2.16 (OpenAPI 3.0.1) at your region's intercom.io address, set when you connect. It is built from Intercom's documentation as read on 7 October 2026. 231 actions in 54 areas, each one in the signed service file (version 1.0.0).

Can I combine Intercom with my other systems?

Yes. ask joins Intercom to ConnectWise PSA or NetSuite on the same customer and returns the answer rather than every row. Intercom maps crm.company, which 227 other connectors also map.

Does actionlake keep my Intercom data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Intercom credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent Intercom today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.