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.
1 stars1 watching0 forks
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