Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Intercom in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
AnythingMCP is listed in Claude's connector directory: add it to Claude in one click (opens in a new tab), then sign in and choose which MCP servers Claude may use.
Summary
Let your AI work in Intercom: find and update contacts and companies, read, search and triage conversations and tickets (reply, add notes, assign, snooze, close, tag), and manage Help Center articles and collections. US, EU or Australian workspaces, with the access token of a Developer Hub app.
Try asking
Example prompts for Intercom
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Intercom, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Intercom + Claude
Let your AI work in Intercom: find and update contacts and companies, read, search and triage conversations and tickets (reply, add notes, assign, snooze, close, tag), and manage Help Center articles and collections. US, EU or Australian workspaces, with the access token of a Developer Hub app.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
INTERCOM_API_URL, INTERCOM_ACCESS_TOKEN
Step 1 — Get credentials
- Sign in to your Intercom workspace as an admin and open the Developer Hub at
https://app.intercom.com/a/apps/_/developer-hub(or Settings → Integrations → Developer Hub). EU and Australian workspaces use the same path on app.eu.intercom.com or app.au.intercom.com. - Click New app, name it (for example AnythingMCP), choose the workspace and click Create app. The app is installed on that workspace right away: your own workspace needs no OAuth and no app review.
- Open the app's Configure → Authentication page. It shows the workspace Access token and the permissions it carries. For all the tools, grant read and write access to users and companies, conversations, tickets and articles, plus Read admins, Read tags and Write tags. After changing permissions, regenerate the token and use the new one.
- Paste the token into
INTERCOM_ACCESS_TOKEN, without the word Bearer. Treat it like a password: it opens your workspace's customer data. - Set
INTERCOM_API_URLto your workspace's region:https://api.intercom.io(US, you open app.intercom.com),https://api.eu.intercom.io(EU, app.eu.intercom.com) orhttps://api.au.intercom.io(Australia, app.au.intercom.com). - Install the connector and run
intercom_get_me. It returns your admin id and the workspace with its region.
Trying it out: a free development workspace from https://app.intercom.com/admins/sign_up/developer is enough. It lives in the US region, sends no emails or push notifications, holds up to 20 users and leads, and can never become a production workspace.
Read-only setup: grant only the read permissions (Read and list users and companies, Read conversations, Read tickets, Read and List articles, Read admins, Read tags) and switch off the write tools. The three search tools only read.
Acting as an admin: replies, notes, assignments, snoozing, closing and reopening are credited to a teammate, and so is a new article. intercom_get_me finds your own admin id, intercom_list_admins the other teammates.
Confirm first: a reply to a conversation, a ticket reply of type comment, closing a conversation with a message and publishing an article all reach customers, and edits to a published article go live at once. The AI shows you the text and waits for your yes. Notes stay internal, and new articles start as drafts. intercom_delete_contact, intercom_delete_article and intercom_delete_collection are switched off at install; intercom_archive_contact is the reversible way to hide a contact.
Limits: by default 10,000 calls a minute per app and 25,000 per workspace, spread over 10-second windows. A 429 means wait a few seconds.
Common errors: 401: the token is wrong or was regenerated, the app was uninstalled, or INTERCOM_API_URL is not your workspace's region. 403: the token lacks a permission, or your plan does not include the feature (tickets, for example). 404 on a ticket usually means the Inbox number was used instead of the ticket id. 410: the contact was merged into another one, so search by email for the remaining contact.
The connector does not start outbound messages, create conversations or tickets, delete conversations or merge contacts, and it does not cover data events, news items, macros, Fin, custom objects, calls, data exports, webhooks or workspace settings.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Claude
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Recommended path: works on claude.ai web without editing any config file.
- In Claude, open Customize → Connectors.
- Click +, then Add custom connector.
- Enter a name, e.g.
Intercom, and the remote MCP server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID, then click Add. - Click Connect and sign in to AnythingMCP (OAuth) to allow access.
All tools below appear in your chat: start typing prompts.
Available tools
| Tool | What it does |
|---|---|
intercom_get_me | Read who the access token belongs to: the admin id, name and email, plus the workspace (app) with its id_code, name, timezone and region |
intercom_list_admins | List the workspace admins (teammates) with id, name, email, away_mode_enabled, has_inbox_seat and team_ids |
intercom_get_admin | Read one admin (teammate): name, email, away mode and reason, inbox seat and the ids of their teams |
intercom_list_teams | List the workspace teams with id, name and admin_ids |
intercom_get_team | Read one team: name, the ids of its admins, the assignment limit and the distribution method |
intercom_list_tags | List every tag in the workspace with id and name |
intercom_create_tag | Create a tag, or return the existing tag with that name (names are case-insensitive) |
intercom_list_segments | List the saved contact and company segments with id, name, person_type and dates, optionally with how many contacts each holds |
intercom_list_data_attributes | List the data attributes of contacts and companies, standard and custom: name, full_name (the field name to use in searches and updates)… |
intercom_list_contacts | List contacts (users and leads), newest first, with id, role, email, name, phone, external_id, owner_id, location, timestamps and… |
intercom_search_contacts | Search contacts by their attributes, e.g. email, name, phone, external_id, role (user or lead), created_at, last_seen_at, tag_id… |
intercom_get_contact | Read one contact: role, email, phone, name, external_id, owner_id, location, browser and device, unsubscribe and bounce flags, timestamps… |
intercom_find_contact_by_external_id | Find a user by the external_id your own system gave them (users only, not leads) |
intercom_create_contact | Create a contact, a user or a lead |
intercom_update_contact | Change a contact: only the fields given are overwritten |
intercom_archive_contact | Archive a contact: it disappears from lists, searches and the Inbox until unarchived with intercom_unarchive_contact |
intercom_unarchive_contact | Bring an archived contact back, so it shows again in lists, searches and the Inbox |
intercom_delete_contact | Delete a contact for good, with their data |
intercom_list_contact_tags | List the tags on one contact with id, name, applied_at and who applied them |
intercom_tag_contact | Put an existing tag on a contact (intercom_create_tag makes a new one) |
intercom_untag_contact | Take a tag off a contact; the tag itself stays in the workspace |
intercom_list_contact_notes | List the internal notes teammates left on a contact, newest first, with id, body (HTML), created_at and author |
intercom_add_contact_note | Leave an internal note on a contact |
intercom_list_contact_companies | List the companies a contact belongs to, with id, company_id, name, plan, user_count, monthly_spend and custom_attributes |
intercom_attach_contact_to_company | Add a contact to a company |
intercom_detach_contact_from_company | Remove a contact from a company; both stay in the workspace |
intercom_list_companies | List companies, or find one by name or by your own company_id, or filter by tag or segment |
intercom_get_company | Read one company by the id Intercom gave it: company_id, name, plan, size, website, industry, user_count, session_count, monthly_spend… |
intercom_create_or_update_company | Create a company, or update the one that already has this company_id (your own id for it, which cannot be changed later) |
intercom_list_company_contacts | List the contacts that belong to a company, with id, role, email and name |
intercom_list_conversations | List conversations, most recently updated first, with id, title, state (open, closed, snoozed), open, read, priority, admin_assignee_id and… |
intercom_search_conversations | Search conversations, e.g. by open, state (open, closed, snoozed), admin_assignee_id, team_assignee_id, contact_ids, tag_ids, priority… |
intercom_get_conversation | Read one conversation with its messages: state, assignees, contacts, tags, priority, statistics and conversation_parts (replies, notes… |
intercom_reply_to_conversation | Reply to a conversation as an admin |
intercom_add_conversation_note | Add an internal note to a conversation |
intercom_assign_conversation | Assign a conversation to an admin or to a team (a conversation can have both), or unassign it with assignee_id "0" |
intercom_close_conversation | Close a conversation (intercom_open_conversation reopens it) |
intercom_snooze_conversation | Snooze a conversation until a time; it reopens by itself then |
intercom_open_conversation | Open a closed or snoozed conversation again, so it is back in the Inbox |
intercom_tag_conversation | Put an existing tag on a conversation (intercom_create_tag makes a new one) |
intercom_untag_conversation | Take a tag off a conversation; the tag itself stays in the workspace |
intercom_search_tickets | Search tickets, e.g. by ticket_type_id, open, state, title, description, category (request for customer tickets, task for back-office… |
intercom_get_ticket | Read one ticket: id, ticket_id (the Inbox number), ticket_attributes (title, description and custom ones), ticket_state, ticket_type… |
intercom_reply_to_ticket | Reply to a ticket as an admin. message_type note stays internal; comment is shown to the customer: show the text and confirm with the user… |
intercom_update_ticket | Change a ticket: its attributes (title, description, custom ones), state, assignee, open or closed, snooze, sharing with the customer |
intercom_list_ticket_types | List the ticket types with id, name, category (Customer, Back-office, Tracker), archived and their ticket_type_attributes (name, data_type… |
intercom_list_ticket_states | List the ticket states with id, category (submitted, in_progress, waiting_on_customer, resolved), internal_label, external_label and the… |
intercom_list_help_centers | List the Help Centers of the workspace with id, identifier, display_name, url, custom_domain and whether the website is on |
intercom_list_collections | List Help Center collections and sections, most recently updated first, with id, name, description, url, parent_id (set on sections and… |
intercom_get_collection | Read one Help Center collection: name, description, url, icon, order, parent_id, help_center_id and translated_content |
intercom_create_collection | Create a Help Center collection, or a sub-collection with parent_id |
intercom_update_collection | Rename a Help Center collection, change its description or move it under another parent |
intercom_delete_collection | Delete a Help Center collection for good |
intercom_list_articles | List Help Center articles, most recently updated first, with id, title, description, body (HTML), author_id, state (published or draft)… |
intercom_search_articles | Search Help Center articles for a phrase |
intercom_get_article | Read one Help Center article: title, description, body (HTML), author_id, state, parent_ids, url, statistics and translated_content per… |
intercom_create_article | Write a new Help Center article |
intercom_update_article | Change a Help Center article |
intercom_delete_article | Delete a Help Center article for good; setting state draft with intercom_update_article only unpublishes it |
Example prompts
- "Show me all open conversations that nobody is assigned to, with the customer and the topic of each."
- "Find the contact with the email [email protected] and sum up her companies, tags and recent conversations."
- "Draft a reply to the oldest open conversation about billing and show it to me before sending."
- "List our Help Center articles that are still drafts and tell me which ones look ready to publish."
FAQ
Does it work with Claude Code as well as Claude Desktop? Yes, point both at https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID.
Next steps
Was this guide helpful?