logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

mcp-api-adapter-for-intercom-support

Facilitates querying and evaluation of customer service interactions stored within Intercom, supporting granular specification via customer identity, resolution state, temporal bounds, and textual markers. Leverages Intercom's backend search mechanisms for optimized data retrieval.

Author

mcp-api-adapter-for-intercom-support logo

raoulbia-ai

Apache License 2.0

Quick Info

GitHub GitHub Stars 7
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

intercomapisapiintercom searchfiltering intercomintercom retrieve

MCP Data Bridge for Intercom Services

badge

A mechanism compliant with the Multi-Communication Protocol (MCP) designed to grant AI agents access to and analytical capabilities over customer interaction records sourced from Intercom.

Core Capabilities

  • Execute sophisticated searches against conversation archives and reported issues, incorporating refined filtering criteria.
  • Apply constraints based on associated user, current handling status, defined time window, and content relevance.
  • Capability to probe message bodies even when a formal contact entity is absent.
  • Maximizes data retrieval efficiency by performing filtering operations on Intercom's servers.
  • Guarantees smooth interoperability with MCP-conformant intelligent systems.

Deployment Guide

Prerequisites

  • Runtime environment: Node.js version 18.0.0 or newer.
  • Active Intercom subscription granting API access rights.
  • Possession of your unique Intercom authorization credential (token, found in account settings).

Rapid Initialization Procedure

Using NPM Package Manager

bash

Global installation of the utility package

npm install -g mcp-server-for-intercom

Set the required authorization variable in the shell environment

export INTERCOM_ACCESS_TOKEN="your_token_here"

Initiate the server process

intercom-mcp

Utilizing Containerization (Docker)

The standard Docker configuration is tailored for seamless operation within the Glama ecosystem:

bash

Ensure the container runtime is active

On Windows: Launch Docker Desktop

On Linux: sudo systemctl start docker

Produce the local image

docker build -t mcp-intercom .

Start the container, mapping necessary ports and injecting the API key

docker run --rm -it -p 3000:3000 -p 8080:8080 -e INTERCOM_ACCESS_TOKEN="your_token_here" mcp-intercom:latest

Verification Sequence: bash

Confirm server health and configuration handshake

curl -v http://localhost:8080/.well-known/glama.json

Invoke an MCP capability check

curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"mcp.capabilities"}' http://localhost:3000

Alternate Streamlined Build

For environments where Glama-specific dependencies are not required, a leaner version is available:

bash

Build the image using the standard Dockerfile

docker build -t mcp-intercom-standard -f Dockerfile.standard .

Execute the standard container

docker run --rm -it -p 3000:3000 -p 8080:8080 -e INTERCOM_ACCESS_TOKEN="your_token_here" mcp-intercom-standard:latest

The default build incorporates enhancements necessary for Glama platform alignment, whereas the standard option provides a minimized operational footprint.

Enumerated MCP Operations

1. list_conversations

Fetches dialogue records within a specified temporal window, subject to content inclusion/exclusion criteria.

Input Arguments: - startDate (Format: DD/MM/YYYY) – The commencement date (mandatory). - endDate (Format: DD/MM/YYYY) – The conclusion date (mandatory). - keyword (text string) – Textual content that must be present for inclusion. - exclude (text string) – Textual content that must cause exclusion.

Constraints: - The duration between start and end dates must not surpass one week (7 days). - Utilizes Intercom's search API for backend processing efficiency.

Usage Example (JSON Payload):

{ "startDate": "15/01/2025", "endDate": "21/01/2025", "keyword": "billing" }

2. search_conversations_by_customer

Locates all dialogue threads linked to a particular user.

Input Arguments: - customerIdentifier (text string) – User's email address or internal Intercom identifier (mandatory). - startDate (Format: DD/MM/YYYY) – Optional boundary for the start of the search period. - endDate (Format: DD/MM/YYYY) – Optional boundary for the end of the search period. - keywords (list of strings) – Optional list of terms to filter conversation content against.

Notes: - Can identify communication records based on email address even if a contact record doesn't formally exist. - Internally maps email addresses to corresponding user IDs for query optimization.

Usage Example (JSON Payload):

{ "customerIdentifier": "customer@example.com", "startDate": "15/01/2025", "endDate": "21/01/2025", "keywords": ["billing", "refund"] }

3. search_tickets_by_status

Retrieves documented issues filtered by their current handling status.

Input Arguments: - status (text string) – Permissible values: "open", "pending", or "resolved" (mandatory). - startDate (Format: DD/MM/YYYY) – Optional starting point for ticket activity review. - endDate (Format: DD/MM/YYYY) – Optional ending point for ticket activity review.

Usage Example (JSON Payload):

{ "status": "open", "startDate": "15/01/2025", "endDate": "21/01/2025" }

4. search_tickets_by_customer

Identifies formal support tickets associated with a given user profile.

Input Arguments: - customerIdentifier (text string) – User's registered email or Intercom record reference (mandatory). - startDate (Format: DD/MM/YYYY) – Optional start date boundary. - endDate (Format: DD/MM/YYYY) – Optional end date boundary.

Usage Example (JSON Payload):

{ "customerIdentifier": "customer@example.com", "startDate": "15/01/2025", "endDate": "21/01/2025" }

Configuration for Claude Desktop Integration

Insert the following object into your claude_desktop_config.json file:

{ "mcpServers": { "intercom-mcp": { "command": "intercom-mcp", "args": [], "env": { "INTERCOM_ACCESS_TOKEN": "your_intercom_api_token" } } } }

Technical Documentation References

Comprehensive technical specifics regarding the mapping between this server's interface and the underlying Intercom API methods, endpoint utilization, and implementation nuances can be found in the file src/services/INTERCOM_API_NOTES.md.

See Also

`