6.4 KiB
6.4 KiB
Intercom MCP Server - Tools Summary
Total Tools: 71
All tool files have been successfully created under src/tools/ with proper Zod validation schemas and MCP tool definitions.
Tool Files (12)
1. contacts.ts (10 tools)
intercom_list_contacts- List all contacts with cursor paginationintercom_get_contact- Retrieve a specific contact by IDintercom_create_contact- Create a new contact (user or lead)intercom_update_contact- Update an existing contactintercom_delete_contact- Permanently delete a contactintercom_search_contacts- Search contacts using filtersintercom_scroll_contacts- Scroll through all contacts (large datasets)intercom_merge_contacts- Merge one contact into anotherintercom_archive_contact- Archive a contactintercom_unarchive_contact- Unarchive a contact
2. conversations.ts (11 tools)
intercom_list_conversations- List all conversationsintercom_get_conversation- Retrieve a specific conversation with partsintercom_create_conversation- Create a new conversationintercom_search_conversations- Search conversations using filtersintercom_reply_conversation- Reply with comment or noteintercom_assign_conversation- Assign to admin or teamintercom_close_conversation- Close a conversationintercom_open_conversation- Reopen a conversationintercom_snooze_conversation- Snooze until specific timeintercom_tag_conversation- Add a tag to conversationintercom_untag_conversation- Remove a tag from conversation
3. companies.ts (7 tools)
intercom_list_companies- List all companiesintercom_get_company- Retrieve a specific companyintercom_create_company- Create a new companyintercom_update_company- Update an existing companyintercom_scroll_companies- Scroll through all companiesintercom_attach_contact_to_company- Link contact to companyintercom_detach_contact_from_company- Unlink contact from company
4. articles.ts (5 tools)
intercom_list_articles- List all help center articlesintercom_get_article- Retrieve a specific articleintercom_create_article- Create a new articleintercom_update_article- Update an existing articleintercom_delete_article- Permanently delete an article
5. help-center.ts (10 tools)
intercom_list_help_centers- List all help centersintercom_get_help_center- Retrieve a specific help centerintercom_list_collections- List all collectionsintercom_get_collection- Retrieve a specific collectionintercom_create_collection- Create a new collectionintercom_update_collection- Update an existing collectionintercom_delete_collection- Delete a collectionintercom_list_sections- List sections in a collectionintercom_get_section- Retrieve a specific sectionintercom_create_section- Create a new section
6. tickets.ts (7 tools)
intercom_list_tickets- List all ticketsintercom_get_ticket- Retrieve a specific ticketintercom_create_ticket- Create a new ticketintercom_update_ticket- Update an existing ticketintercom_search_tickets- Search tickets using filtersintercom_list_ticket_types- List available ticket typesintercom_get_ticket_type- Retrieve ticket type with attributes
7. tags.ts (8 tools)
intercom_list_tags- List all tagsintercom_get_tag- Retrieve a specific tagintercom_create_tag- Create a new tagintercom_delete_tag- Delete a tagintercom_tag_contact- Apply tag to contactintercom_untag_contact- Remove tag from contactintercom_tag_company- Apply tag to companyintercom_untag_company- Remove tag from company
8. segments.ts (2 tools)
intercom_list_segments- List all segmentsintercom_get_segment- Retrieve a specific segment
9. events.ts (2 tools)
intercom_submit_event- Submit a data event for a userintercom_list_event_summaries- List event summaries for user/company
10. messages.ts (4 tools)
intercom_send_message- Send in-app, email, or push messageintercom_send_inapp_message- Send in-app message (shortcut)intercom_send_email_message- Send email message (shortcut)intercom_send_push_message- Send push notification (shortcut)
11. teams.ts (2 tools)
intercom_list_teams- List all teamsintercom_get_team- Retrieve a specific team
12. admins.ts (3 tools)
intercom_list_admins- List all adminsintercom_get_admin- Retrieve a specific adminintercom_set_admin_away- Set admin away mode status
Technical Details
Architecture
- Each tool file exports
getTools(client: IntercomClient)function - Returns array of objects with
definition(MCP Tool) andhandler(async function) - All inputs validated using Zod schemas
- Consistent naming:
intercom_verb_noun
Index File
src/tools/index.ts provides:
getAllTools(client)- Returns all 71 tools with handlersgetToolDefinitions(client)- Returns only MCP tool definitionsgetToolHandler(client, toolName)- Returns specific tool handler
Intercom API Features Covered
- ✅ Contacts (list, get, create, update, delete, search, scroll, merge, archive)
- ✅ Conversations (list, get, create, search, reply, assign, close, open, tag)
- ✅ Companies (list, get, create, update, scroll, attach/detach contacts)
- ✅ Articles (list, get, create, update, delete)
- ✅ Help Center (collections, sections)
- ✅ Tickets (list, get, create, update, search, types)
- ✅ Tags (list, get, create, delete, tag/untag contacts and companies)
- ✅ Segments (list, get)
- ✅ Events (submit, list summaries)
- ✅ Messages (in-app, email, push)
- ✅ Teams (list, get)
- ✅ Admins (list, get, away mode)
TypeScript Compilation
✅ All files pass npx tsc --noEmit with no errors
Usage Example
import { getAllTools } from './tools/index.js';
import { IntercomClient } from './clients/intercom.js';
const client = new IntercomClient({ accessToken: 'your-token' });
const tools = getAllTools(client);
// Register tools with MCP server
tools.forEach(({ definition, handler }) => {
server.registerTool(definition, handler);
});
Next Steps
To integrate these tools into the main server:
- Update
src/server.tsto usegetAllTools()from./tools/index.js - Replace the manual tool registration with the modular approach
- Test each tool category with real Intercom API calls