COMPARISON
Intercom MCP server, what its 14 tools can do
All 14 tools in Intercom’s official MCP server, what they can change, its US and EU addresses, and how to connect Claude, Claude Code or Cursor.
Published
Intercom has an official MCP server that lets Claude, ChatGPT, Claude Code or Cursor search your Intercom conversations, contacts, companies and Help Center articles. You add https://mcp.intercom.com/mcp to your AI tool, or https://mcp.eu.intercom.com/mcp if your workspace is hosted in the EU, and sign in through your browser. It has 14 tools. Three of them write, creating and editing Help Center articles and adding internal notes, and none of them can send a reply your customer sees. Australian workspaces can’t use it yet, and Intercom doesn’t say which plans include it.
Every fact about Intercom here was read on 10 November 2026, on its developer docs, its help centre, its website and its pricing page, and links to the page it came from. If MCP itself is new to you, what an MCP server is covers the basics first.
We make Deacon. It’s an AI support agent you add to your site with one script tag, and it answers customers from your own docs, so a founder without a team has no shared inbox to staff. It has an MCP server too, built for the coding agent that fixes your product rather than for people triaging conversations. There’s a free plan, and the two servers are compared near the end.
Intercom’s 14 tools, and what each one gives back
Intercom’s docs split them into two universal tools and 12 that map onto its API. Signing in gives your AI tool access scoped to your existing Intercom permissions, so it sees what you see in the inbox.
| Tool | What it gives your AI tool | Changes anything? |
|---|---|---|
search | Conversations or contacts that match a query, as short summaries with their IDs | No |
fetch | The full record behind one of those IDs, with its conversation parts, custom attributes and a link into Intercom | No |
search_conversations | Conversations filtered by channel, author, state, assignee or timing, such as time to an admin’s reply | No |
get_conversation | One conversation with every part and its metadata | No |
search_contacts | Contacts by ID, name, email, phone, custom attribute or email domain | No |
get_contact | One contact with custom attributes, location and activity times | No |
list_companies | Companies, filtered by name, your own company ID, tag or segment, 15 a page unless asked for up to 60 | No |
get_company | One company with its custom attributes, segments and tags | No |
list_articles | Every Help Center article, 25 a page unless asked for more | No |
search_articles | Articles that match a phrase, published or draft | No |
get_article | One article with its full HTML body and the collection it sits in | No |
create_article | A new Help Center article, saved as a draft unless told otherwise | Yes |
update_article | Changes to an article’s title, body, author, place or published state | Yes |
add_internal_note | A note on a conversation that only your team sees | Yes |
search
- What it gives your AI tool
- Conversations or contacts that match a query, as short summaries with their IDs
- Changes anything?
- No
fetch
- What it gives your AI tool
- The full record behind one of those IDs, with its conversation parts, custom attributes and a link into Intercom
- Changes anything?
- No
search_conversations
- What it gives your AI tool
- Conversations filtered by channel, author, state, assignee or timing, such as time to an admin’s reply
- Changes anything?
- No
get_conversation
- What it gives your AI tool
- One conversation with every part and its metadata
- Changes anything?
- No
search_contacts
- What it gives your AI tool
- Contacts by ID, name, email, phone, custom attribute or email domain
- Changes anything?
- No
get_contact
- What it gives your AI tool
- One contact with custom attributes, location and activity times
- Changes anything?
- No
list_companies
- What it gives your AI tool
- Companies, filtered by name, your own company ID, tag or segment, 15 a page unless asked for up to 60
- Changes anything?
- No
get_company
- What it gives your AI tool
- One company with its custom attributes, segments and tags
- Changes anything?
- No
list_articles
- What it gives your AI tool
- Every Help Center article, 25 a page unless asked for more
- Changes anything?
- No
search_articles
- What it gives your AI tool
- Articles that match a phrase, published or draft
- Changes anything?
- No
get_article
- What it gives your AI tool
- One article with its full HTML body and the collection it sits in
- Changes anything?
- No
create_article
- What it gives your AI tool
- A new Help Center article, saved as a draft unless told otherwise
- Changes anything?
- Yes
update_article
- What it gives your AI tool
- Changes to an article’s title, body, author, place or published state
- Changes anything?
- Yes
add_internal_note
- What it gives your AI tool
- A note on a conversation that only your team sees
- Changes anything?
- Yes
search takes a small query language, and every query has to say whether it wants conversations or contacts. Intercom’s own examples include object_type:conversations state:open source_type:email and object_type:conversations source_body:contains:"refund" limit:20.
The first limit you’ll meet is that search, search_conversations and search_contacts return 5 results unless they’re asked for more, and 150 at most a page. So when you ask Claude what people complained about this month, it may be summing up five conversations. If an answer looks thin, tell it to fetch 150 at a time and keep going until Intercom stops handing back a starting_after cursor.
What it can change, and what it can’t
Three tools write, and only one of them touches a conversation.
create_article needs the ID of the teammate it’s written by, and saves the article as a draft unless it’s told to publish. update_article can change any part of an existing article, its published state included, so an update can publish a draft or take a live article down.
add_internal_note leaves a note only your team sees, and Intercom says it can’t send anything to the customer. You can hand it a conversation’s ID or just its Inbox URL. The note goes in under the name of the person who connected the AI tool, and that can’t be changed per note. It works on regular conversations only, and a ticket ID comes back as an authorisation error.
A note never changes who a conversation is assigned to, but before you let an AI tool loose with it, know that a note on a snoozed conversation that’s assigned to someone else reopens it. The tool also needs Intercom’s Write conversations permission, so a connection made before the tool existed fails with a 401 until you disconnect and connect again.
Everything else your team does in the inbox is out of reach. There’s no tool to reply, close, snooze, assign or tag a conversation, none for tickets and none for reports. Intercom’s REST API has those. Reply to a conversation sends a message as an admin, and Manage a conversation closes, snoozes, opens and assigns. So a reply your AI tool drafts is sent by a person in Intercom, or by your own code calling the API. MCP vs API goes through the difference between the two.
Five more tools if you have Fin Operator
Fin is Intercom’s AI agent, and Operator is Fin’s internal agent, which does work inside your Fin workspace. Workspaces that have Operator get five more tools. They are send_operator_message, get_operator_response, get_proposal_details, apply_proposals and reject_proposals. Your AI tool gives Operator a job, such as working out why Fin missed resolutions last week, collects the answer when it’s ready (Intercom says a turn usually takes one to three minutes) and can apply the configuration changes Operator proposes.
They only show up when you connected by signing in, never with a token, and only for a teammate who can use Operator in Intercom. apply_proposals writes to your live workspace, and Intercom warns that some of its changes can’t be undone. Have your AI tool show you each proposal with get_proposal_details before it applies one, as Intercom advises, and keep its approval prompt on. Only send_operator_message spends Operator credits, and the five tools share 60 calls a minute for each connection.
Operator comes with Intercom’s Pro add-on, which its pricing page lists at $100 a month with 6,000 credits, and $0.01 for each credit after that.
Which address to use, and the EU trap
Your workspace’s address tells you its region, and each region has its own server, as Intercom’s docs set out.
| Your workspace is at | Intercom MCP server |
|---|---|
| app.intercom.com (US) | https://mcp.intercom.com/mcp |
| app.eu.intercom.com (EU) | https://mcp.eu.intercom.com/mcp |
app.intercom.com (US)
- Intercom MCP server
https://mcp.intercom.com/mcp
app.eu.intercom.com (EU)
- Intercom MCP server
https://mcp.eu.intercom.com/mcp
Intercom also lists /sse addresses for both, marked deprecated. Requests to the EU address are processed in the EU, and Australian workspaces aren’t supported yet.
An EU workspace has a few traps. Intercom’s connector in Claude’s directory only connects to US workspaces. Connecting a US address to an EU workspace gets you “We’re having technical difficulties” after you press Allow, and the fix is to remove the connection and add it again with the EU address. And Intercom’s integration page still says the server is for US-hosted workspaces only, while its developer docs and its help centre both give the EU address, so go by those two.
Connecting Claude
These are Intercom’s steps for Claude, with the button names from Claude’s help centre.
- For a US workspace, open Customize in Claude, then Connectors, press the + next to Connectors, pick Intercom and press Connect.
- For an EU workspace, add it as a custom connector instead. Open Customize, then Connectors, press Add, choose Custom, then Web, give it a name and paste
https://mcp.eu.intercom.com/mcp. - On Claude Team or Enterprise, an Owner adds it first under Organization settings, then Connectors, and each person then signs in.
- Your browser opens on Intercom’s consent page. It names the app asking to connect, lists what it will be able to do and shows the address it redirects to. Check that address belongs to Claude, then press Allow.
- Intercom’s own authorisation screen comes next, naming Intercom MCP rather than Claude. Authorise it and you’re back in Claude.
The consent page sums up what you’re granting as viewing conversations and adding internal notes to them, viewing contacts and companies, viewing, creating and updating articles, and using Fin Operator. It asks for Fin Operator on every connection, even in workspaces without it. The page expires after 15 minutes, and only one connection can wait for Allow in a browser at a time, so a second one started in another tab makes the first fail with “Authorization could not be completed”.
Connecting Claude Code
Intercom’s docs give a general config that runs mcp-remote through npx, and send you to Claude Code’s MCP docs for the rest. Claude Code connects to a remote server by itself, so it’s two commands. Use the EU address in the first if that’s where your workspace is.
claude mcp add --transport http intercom https://mcp.intercom.com/mcp
claude mcp login intercom
The second opens your browser on the same two Intercom screens. You can also run /mcp inside Claude Code and sign in from there.
A script or a CI job can’t press Allow, so it uses an access token instead. Intercom gives you one when you create an app in its Developer Hub, under Configure, then Authentication. For the MCP server it needs the scopes Read and list users and companies, Read conversations, Write conversations, and Read and write articles. Then pass it as a header.
claude mcp add --transport http intercom https://mcp.intercom.com/mcp \
--header "Authorization: Bearer YOUR_INTERCOM_ACCESS_TOKEN"
A token belongs to the teammate who installed the app, so it reaches only the conversations they can, and it never gets the Fin Operator tools. Intercom says to treat it like a password, so keep it in your CI’s secrets and out of your repo.
Try Deacon for free
Install DeaconConnecting Cursor, or a client of your own
For Cursor, use the general template from Intercom’s docs, which Intercom says to check against your AI tool’s own MCP docs. Cursor’s docs put it in ~/.cursor/mcp.json for every project, or in .cursor/mcp.json inside one project.
{
"mcpServers": {
"intercom": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.intercom.com/mcp"]
}
}
}
It runs through npx, so you need Node.js installed. Swap in the EU address if your workspace is there, and restart Cursor once you’ve saved the file, as Intercom’s troubleshooting tips say. Signing in then goes through the same two Intercom screens in your browser.
Intercom only finishes a sign-in at a redirect address on its allowlist. Claude, Claude Code, Claude Desktop, OpenAI, Cursor, Windsurf and VS Code are already on it, and so is a callback on localhost, on any port. If you’re building your own MCP client with a callback anywhere else, ask Intercom’s support team to add it.
Rate limits, and what’s in beta
Intercom’s MCP docs give no rate limit of their own for the 14 main tools. They say Intercom’s API limits apply, and its rate limit page sets those at 10,000 calls a minute for private apps, shared by every private app in the workspace, and 25,000 a minute across all apps. Intercom splits each minute into 10-second windows, so 10,000 a minute really means about 1,667 calls every 10 seconds, and a call past that gets 429 Too Many Requests. The docs don’t say which of those limits MCP calls count against. One person asking Claude questions won’t come close to either. The Fin Operator tools have their own 60 a minute, as above.
Nothing in the MCP docs or the Operator guide is marked beta, though the Fin Agent API’s server further down is.
Four questions worth asking it
Once it’s connected, these are worth typing in. Each one leans on a particular tool, and for the first two we say what the tool leaves out.
- “Find the last 100 conversations that started with someone asking for a refund, and tell me what they wanted.” That’s
searchwithsource_body:contains:"refund". The source is the message that started the conversation, so a refund that only comes up a few replies in won’t match, and Claude has to page past the first five. - “Which conversations last week took us more than four hours to answer?”
search_conversationsfilters onstatistics_time_to_admin_reply, which Intercom counts in seconds up to your team’s first reply, leaving out time outside your business hours. So four hours is> 14400. - “Pull everything from people at acme.com before my call with them.”
search_contactsfinds them by email domain, andsearch_conversationsfinds each person’s conversations by their email. - “Read the last 150 conversations, find a question our Help Center doesn’t answer and draft an article for it.”
search_articleschecks what you have, andcreate_articlesaves a draft for you to read in Intercom before it goes live.
Fin’s MCP connectors, and Fin’s own MCP server
Intercom also lets Fin call other companies’ MCP servers, which is a separate feature. Intercom’s help article calls them MCP connectors, and they live under Settings, then Integrations, then Data connectors, once they’re enabled for your workspace. The article doesn’t say which plans include them.
There are templates for Stripe and Linear. The Zapier template is paused, so Intercom says to add Zapier as a custom MCP server for now, and the Shopify Storefront MCP template was retired on 31 August 2026. Any other server goes in as Custom MCP, with a name, its URL and either a token or a sign-in. You then add each of its tools to Fin one at a time, say where each input comes from, test it and set it live. Fin makes one connector call a turn, and Intercom warns that anything a tool sends back may be shared with the customer, so only give Fin tools whose answers you’d be happy for a customer to read.
Intercom has a second MCP server for Fin itself. The Fin Agent API’s MCP server, at https://api.intercom.io/fin/mcp, lets your own agent ask Fin questions and run Fin procedures through five tools, list_fin_capabilities, ask_fin, get_fin_response, reply_to_fin_conversation and run_fin_procedure. It’s in beta, you request access under Settings, then Integrations, then Fin Agent API, and it connects with that API’s key.
And if you want a coding agent to change how your workspace is set up rather than read it, Intercom points you to the Fin CLI, @intercom/cli, which only works with US workspaces for now.
Deacon’s MCP server, for what your customers report
Intercom’s server helps a support team that already works in Intercom. Deacon’s is built for the founder without a support team who fixes their product with a coding agent.
Deacon is the AI agent in the chat on your own site. It answers in seconds from your docs, says so when they don’t cover a question, and keeps what each customer said with the page they were on. So where Intercom’s search hands back five results unless it’s asked for more, Deacon’s list_topics gives your agent the questions already grouped into Topics, with how many people asked each, and get_needs_you opens on the one job to do first. Each bug report sits next to the JavaScript errors your site recorded, and Claude Code, Codex, Cursor or VS Code takes it from there into your code.
The fourth question above has your AI tool read 150 conversations to find a gap in your Help Center. Deacon keeps that list for you, under What Deacon didn’t know. With suggest_fix, your agent can draft an answer to one of those questions from your code and leave it in that question’s fix box, marked as suggested by the agent. No customer sees it until you press Save. Then Deacon answers from it at once, shows you what it now says to that visitor, and tells you which other open questions the same answer covers.
Like Intercom’s server, it can’t send a customer anything. When your agent marks a bug’s topic done after the fix ships, the topic comes back by itself if more people report it.
Intercom is ahead on the inbox your team works in. Every Intercom plan starts with a shared inbox and ticketing system, and Deacon has neither, nor an email inbox or macros. It isn’t a help desk, and it has no integration with Intercom or any other helpdesk. If your team works from Intercom’s inbox and Help Center, Intercom’s server is the one that reaches that work.
Questions about Intercom’s MCP server
Which Intercom plan includes the MCP server?
Intercom doesn’t say. Neither its MCP docs nor its pricing page names a plan for it. All three of Intercom’s plans charge per seat, and its 14-day trial includes every feature. The Fin Operator tools also need Operator, which comes with the Pro add-on. Intercom pricing has what each plan costs.
Does it work with ChatGPT?
Intercom’s integration page lists ChatGPT, and Intercom’s Fin glossary gives the steps. In ChatGPT, open Settings, then Connectors, search for Intercom and sign in. That glossary calls the connector read-only, but the developer docs list three tools that write, so read what your AI tool asks to do before you approve it.
Why does Intercom say “We’re having technical difficulties” after I press Allow?
You most likely used the other region’s address, such as the US one for an EU workspace. Remove the connection from your AI tool and add it again with the address that matches your workspace. If Allow says “Authorization could not be completed” instead, the consent page timed out after 15 minutes or you started a second connection in another tab, so start again.
What does “Invalid redirect URI” mean?
It shows up before the consent page when your AI tool opened its sign-in on a port it never registered with Intercom. Clear the tool’s saved sign-in for Intercom and connect again, so it registers the port it’s using now. With Intercom’s mcp-remote template, its docs do that with pkill -f mcp-remote, then rm -rf ~/.mcp-auth.
Can my AI tool see conversations I can’t?
Not when you sign in, since that gives it access scoped to your own Intercom permissions. A token follows the conversation access of the teammate who installed its app instead, within the scopes the app was given.
Can my coding agent use Intercom’s server and Deacon’s together?
Yes. Add both, and one agent can read your Intercom inbox and what visitors told Deacon’s chat on your site, then tell you whether the same bug turns up in both. Nothing passes between the two products, since Deacon has no Intercom integration.
Which support tools’ MCP servers can reply to customers?
Intercom’s can’t. Support tools with an MCP server sets out which of 32 support tools’ servers can, and we cover what Zendesk, HubSpot, Freshdesk and Pylon offer over MCP on pages of their own.
Try it on your own documentation
Add your help pages, ask it the question you know your docs cannot answer, and watch it say so.
The free plan covers 50 answers a month on one seat, and the paid plans are on the pricing page.
Free plan, no card.
READ NEXT
Support tools with an MCP server, compared
What the MCP servers of Intercom, HubSpot, Freshdesk and 20 more support tools can read and change, how you connect and the plan each needs.
Intercom pricing plans, seats and the Fin bill
Intercom pricing line by line for a team of one to three, from the $19 or $29 seat to Fin, Copilot and Early Stage, and how Intercom and Fin are sold now.
Intercom Fin AI pricing, per outcome and per seat
Intercom Fin AI pricing on Intercom, Zendesk, Salesforce, HubSpot and Freshdesk, how a $0.99 outcome counts, and three months priced, read 25 September 2026.