← Back to all apps

Intercom

Collaborationby Intercom

The Intercom MCP Server gives your AI tools access to customer data—conversations, tickets, and user data. This lets teams across your business, not just support, use that data in their workflows: from spotting bugs and shaping the product roadmap to refining messaging and preparing for QBRs. Every team can act with clearer visibility into what customers need.

6ChatGPT Tools
6Claude Tools
IntercomDeveloper
CollaborationCategory

Use Cases

communication

Available Tools

Fetch

fetch
Full Description

Retrieves detailed content for a specific resource identified by the given ID. Supports both conversation and contact IDs with 'conversation_' or 'contact_' prefixes.

Parameters (1 required)
Required
idstring

Intercom conversation or contact ID to fetch.

Get Contact

get_contact
Full Description

Fetch a single Intercom contact by ID through the MCP server.

Parameters (1 required)
Required
idstring

Intercom contact ID to fetch.

Get Conversation

get_conversation
Full Description

Fetch a single Intercom conversation by ID through the MCP server.

Parameters (1 required)
Required
idstring

Intercom conversation ID to fetch.

Search

search
Full Description

Purpose 1. Search for resources in Intercom (conversations and contacts) using a unified query approach. 2. Only a subset of properties will be returned in search results. 3. Use the Fetch tool with the returned IDs to get full details.

Usage 1. MUST specify object_type:conversations OR object_type:contacts to indicate which API to call. 2. Use specific field searches for precise filtering (e.g., email:john@example.com). 3. Use the starting_after parameter for pagination when more results exist. 4. Combine multiple search criteria with logical operators for complex queries.

Search Tool Response 1. Returns results with id, title, text, and url for each match. 2. IDs are prefixed with conversation_ or contact_ to indicate type. 3. Use these IDs with the Fetch tool to get complete resource details.

Intercom Search Query DSL Specification * Tokens are space-separated * Each token: key[:op]:value * op (optional, default = eq) ∈ { eq, neq, gt, lt, in, nin, contains } * value: * Unquoted: alphanumeric, no spaces * Quoted: use single or double quotes to include spaces

Common Parameters * object_type (mandatory) → "conversations" or "contacts" * q / query → free-text search across key fields * created_at / updated_at → timestamp filters (YYYY-MM-DD or Unix timestamp) * limit → max results (default: 10, max: 150) * starting_after → pagination cursor

Conversation Search (object_type:conversations) Supported Fields: * id * state"open", "closed", "snoozed" * priority"priority", "not_priority" * source_type"conversation", "email", "facebook", "twitter", etc. * source_author_name * source_author_email * source_subject * source_body * contact_ids * statistics_time_to_assignment * statistics_time_to_admin_reply * statistics_time_to_first_close

Contact Search (object_type:contacts) Supported Fields: * id * name * email * email_domain * phone * role"user", "lead" * custom_attributes.* → any custom field (e.g., custom_attributes.company)

Examples

Basic
user: show me recent conversations query: object_type:conversations created_at:gt:1735689600
Open email conversations
user: find open conversations from email query: object_type:conversations state:open source_type:email
Email domain filter
user: search for conversations from support emails query: object_type:conversations source_author_email:contains:"@support"
Slow response
user: find conversations with slow response times query: object_type:conversations statistics_time_to_admin_reply:gt:3600
Subject/body match
user: find conversations about billing query: object_type:conversations source_subject:contains:"billing" user: find conversations mentioning refund query: object_type:conversations source_body:contains:"refund"
Contact search
user: find contacts named John query: object_type:contacts name:"John" user: find contacts from example.com domain query: object_type:contacts email_domain:"example.com" user: find contacts with specific custom attribute query: object_type:contacts custom_attributes.plan_status:"active" user: recent contact activity query: object_type:contacts updated_at:gt:1735689600 limit:50
Contact-conversation link
user: find conversations for a specific contact query: object_type:conversations contact_ids:in:d2e3bde8-4fe4-4a74-9232-5f7458e7a4cb

Unsupported Features * Complex boolean logic beyond simple AND/OR * Fuzzy matching or proximity search * Aggregation or analytics queries * Full-text search across conversation content (use source fields instead) * Real-time or streaming results Intercom Search Query DSL specification. MUST start with object_type:conversations or object_type:contacts to specify which API to call. Use tokens separated by spaces with key[:op]:value format. Examples: 'object_type:contacts email:contains:"@example.com"' for domain search, 'object_type:conversations state:open created_at:gte:2024-01-01' for recent open conversations.

Parameters (1 required)
Required
querystring

Intercom search query DSL string. Select `object_type:conversations` or `object_type:contacts` before adding additional filters.

Search Contacts

search_contacts
Full Description

Search Intercom contacts through the MCP-backed tool surface.

Parameters (0 required, 7 optional)
Optional
contact_idsarray

Optional contact IDs to search directly.

Default: null
custom_attributesobject

Optional custom attribute filters passed through as a structured object.

Default: null
emailstring

Optional contact email filter.

Default: null
email_domainstring

Optional email-domain filter such as `example.com`.

Default: null
namestring

Optional contact name filter.

Default: null
per_pageinteger

Optional page size for the search response.

Default: null
phonestring

Optional phone-number filter.

Default: null

Search Conversations

search_conversations
Full Description

Search Intercom conversations through the MCP-backed tool surface. Use this when the MCP server is the source of truth for search and you need to pass through structured filters without flattening them into the native connector model.

Parameters (0 required, 9 optional)
Optional
idsarray

Optional conversation IDs to search directly.

Default: null
per_pageinteger

Optional page size for the search response.

Default: null
source_author_emailstring

Optional author email filter for conversation sources.

Default: null
source_author_namestring

Optional exact or partial author-name filter for conversation sources.

Default: null
source_typestring

Optional Intercom source type filter, such as `conversation` or `email`.

Default: null
statestring

Optional conversation state filter, such as `open` or `closed`.

Default: null
statistics_time_to_admin_replyobject

Optional structured filter for time-to-admin-reply statistics.

Default: null
statistics_time_to_assignmentobject

Optional structured filter for time-to-assignment statistics.

Default: null
statistics_time_to_first_closeobject

Optional structured filter for time-to-first-close statistics.

Default: null