169 lines
3.7 KiB
Markdown
169 lines
3.7 KiB
Markdown
# @mcpengine/intercom
|
|
|
|
Model Context Protocol (MCP) server for Intercom API integration.
|
|
|
|
## Features
|
|
|
|
- ✅ **Contacts** - Create, read, update, delete, search, and list contacts
|
|
- ✅ **Conversations** - Create, reply, assign, close, search conversations
|
|
- ✅ **Companies** - Manage companies and their relationships with contacts
|
|
- ✅ **Articles** - Create and manage help center articles
|
|
- ✅ **Help Center** - Collections, sections, and help center management
|
|
- ✅ **Tickets** - Create, update, search tickets and ticket types
|
|
- ✅ **Tags** - Create, list, and delete tags
|
|
- ✅ **Segments** - List and retrieve segments
|
|
- ✅ **Events** - Submit custom events
|
|
- ✅ **Messages** - Send in-app, email, and push messages
|
|
- ✅ **Teams & Admins** - List and retrieve teams and admins
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
npm install
|
|
npm run build
|
|
```
|
|
|
|
## Configuration
|
|
|
|
Create a `.env` file:
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
```
|
|
|
|
Add your Intercom access token:
|
|
|
|
```
|
|
INTERCOM_ACCESS_TOKEN=your_access_token_here
|
|
```
|
|
|
|
Get your access token from the [Intercom Developer Hub](https://app.intercom.com/a/apps/_/settings/developer-hub).
|
|
|
|
## Usage
|
|
|
|
### Standalone
|
|
|
|
```bash
|
|
npm start
|
|
```
|
|
|
|
### As MCP Server
|
|
|
|
Add to your MCP client configuration (e.g., Claude Desktop):
|
|
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"intercom": {
|
|
"command": "node",
|
|
"args": ["/path/to/dist/main.js"],
|
|
"env": {
|
|
"INTERCOM_ACCESS_TOKEN": "your_access_token_here"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Available Tools
|
|
|
|
### Contacts
|
|
|
|
- `contacts_create` - Create a new contact (user or lead)
|
|
- `contacts_get` - Retrieve a contact by ID
|
|
- `contacts_update` - Update contact details
|
|
- `contacts_delete` - Delete a contact
|
|
- `contacts_list` - List all contacts (cursor pagination)
|
|
- `contacts_search` - Search contacts with filters
|
|
|
|
### Conversations
|
|
|
|
- `conversations_create` - Start a new conversation
|
|
- `conversations_get` - Retrieve conversation details
|
|
- `conversations_list` - List conversations
|
|
- `conversations_search` - Search conversations
|
|
- `conversations_reply` - Reply to a conversation
|
|
- `conversations_close` - Close a conversation
|
|
- `conversations_assign` - Assign to admin or team
|
|
|
|
### Companies
|
|
|
|
- `companies_create` - Create a company
|
|
- `companies_get` - Retrieve company details
|
|
- `companies_list` - List companies
|
|
- `companies_update` - Update company data
|
|
|
|
### Articles
|
|
|
|
- `articles_create` - Create a help article
|
|
- `articles_get` - Get article by ID
|
|
- `articles_list` - List all articles
|
|
- `articles_update` - Update article
|
|
- `articles_delete` - Delete article
|
|
|
|
### Help Center
|
|
|
|
- `help-center_list` - List help centers
|
|
- `help-center_collections_list` - List collections
|
|
- `help-center_collections_create` - Create collection
|
|
|
|
### Tickets
|
|
|
|
- `tickets_create` - Create a ticket
|
|
- `tickets_get` - Get ticket by ID
|
|
- `tickets_list` - List tickets
|
|
- `tickets_search` - Search tickets
|
|
- `tickets_types_list` - List ticket types
|
|
|
|
### Tags
|
|
|
|
- `tags_create` - Create a tag
|
|
- `tags_list` - List all tags
|
|
- `tags_delete` - Delete a tag
|
|
|
|
### Segments
|
|
|
|
- `segments_list` - List segments
|
|
- `segments_get` - Get segment by ID
|
|
|
|
### Events
|
|
|
|
- `events_submit` - Submit a custom event
|
|
|
|
### Messages
|
|
|
|
- `messages_send` - Send in-app, email, or push message
|
|
|
|
### Teams & Admins
|
|
|
|
- `teams_list` - List all teams
|
|
- `teams_get` - Get team by ID
|
|
- `admins_list` - List all admins
|
|
- `admins_get` - Get admin by ID
|
|
|
|
## API Reference
|
|
|
|
This server uses Intercom API v2.11. For detailed API documentation, visit:
|
|
https://developers.intercom.com/docs/build-an-integration/
|
|
|
|
## Rate Limiting
|
|
|
|
The server automatically handles rate limiting (429 responses) with exponential backoff and retry logic.
|
|
|
|
## Development
|
|
|
|
```bash
|
|
# Type check
|
|
npm run typecheck
|
|
|
|
# Build
|
|
npm run build
|
|
|
|
# Watch mode
|
|
npm run dev
|
|
```
|
|
|
|
## License
|
|
|
|
MIT
|