mcp intercom

Local 2025-08-31 23:59:54 0

Provides access to Intercom conversations and chats through the Model Context Protocol, allowing LLMs to query and analyze Intercom conversations with various filtering options.


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

  2. Install dependencies:

    npm install

  3. Set up your environment:

    cp .env.example .env

  4. Add your Intercom API key to .env:

    INTERCOM_API_KEY=your_api_key_here

  5. 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%Claudeclaude_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

  2. 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