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
- Clone the repository:
git clone https://github.com/fabian1710/mcp-intercom.git
cd mcp-intercom
- Install dependencies:
npm install
- Set up your environment:
cp .env.example .env
- Add your Intercom API key to
.env
:
INTERCOM_API_KEY=your_api_key_here
- Build the server:
npm run build
Usage
Running the Server
Start the server:
npm start
Using with Claude for Desktop
- 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"
}
}
}
}
- Restart Claude for Desktop
Available Tools
search-conversations
Searches Intercom conversations with optional filters.
Parameters:
createdAt
(optional): Object withoperator
(e.g., ">", "<", "=") andvalue
(UNIX timestamp) for filtering by creation date.updatedAt
(optional): Object withoperator
(e.g., ">", "<", "=") andvalue
(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
- Start development mode with auto-recompilation:
npm run dev
- Run linting:
npm run lint
Contributing
- Fork the repository
- Create a new branch for your feature
- Make your changes
- Submit a pull request
License
MIT
Features
filtering
search
authentication
conversations
analytics
security
Category
Communication