A Model Context Protocol (MCP) server that provides access to Intercom conversations and chats. This server allows LLMs to query and analyze your Intercom conversations with various filtering options.

MCP Intercom Server

A Model Context Protocol (MCP) server that provides access to Intercom conversations and chats. This server allows LLMs to query and analyze your Intercom conversations with various filtering options.

Features

  • Query Intercom conversations with filtering options:
    • Date range (start and end dates)
    • Customer ID
    • Conversation state
  • Secure access using your Intercom API key
  • Rich conversation data including:
    • Basic conversation details
    • Contact information
    • Statistics (responses, reopens)
    • State and priority information

Installation

  1. Clone the repository:
git clone https://github.com/fabian1710/mcp-intercom.git
cd mcp-intercom
  1. Install dependencies:
npm install
  1. Set up your environment:
cp .env.example .env
  1. Add your Intercom API key to .env:
INTERCOM_API_KEY=your_api_key_here
  1. Build the server:
npm run build

Usage

Running the Server

Start the server:

npm start

Using with Claude for Desktop

  1. Add the server to your Claude for Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS or %AppData%\Claude\claude_desktop_config.json on Windows):
{
  "mcpServers": {
    "intercom": {
      "command": "node",
      "args": ["/path/to/mcp-intercom/dist/index.js"],
      "env": {
        "INTERCOM_API_KEY": "your_api_key_here"
      }
    }
  }
}
  1. Restart Claude for Desktop

Available Tools

search-conversations

Searches Intercom conversations with optional filters.

Parameters:

  • createdAt (optional): Object with operator (e.g., ">", "<", "=") and value (UNIX timestamp) for filtering by creation date.
  • updatedAt (optional): Object with operator (e.g., ">", "<", "=") and value (UNIX timestamp) for filtering by update date.
  • sourceType (optional): Source type of the conversation (e.g., "email", "chat").
  • state (optional): Conversation state to filter by (e.g., "open", "closed").
  • open (optional): Boolean to filter by open status.
  • read (optional): Boolean to filter by read status.

Example queries:

  • "Search for all conversations created after January 1, 2024"
  • "Find conversations updated before last week"
  • "List all open email conversations"
  • "Get all unread conversations"

Security

  • The server requires an Intercom API key to function
  • API key should be stored securely in environment variables
  • The server only provides read access to conversations
  • All API requests are made with proper authentication

Development

  1. Start development mode with auto-recompilation:
npm run dev
  1. Run linting:
npm run lint

Contributing

  1. Fork the repository
  2. Create a new branch for your feature
  3. Make your changes
  4. Submit a pull request

License

MIT

Features

filtering
search
authentication
conversations
analytics
security

Category

Communication