Skip to main content
Glama

Frontapp MCP Server

by zqushair
FRONTAPP_API_ENDPOINTS.md26.8 kB
# Complete Frontapp API Endpoints Reference This document provides a comprehensive list of all available Frontapp API endpoints that can be incorporated into the MCP Server. **Last Updated**: 2025-10-21 **API Base URL**: `https://api2.frontapp.com` **Documentation**: https://dev.frontapp.com/reference/introduction --- ## Current Implementation Status The current MCP server ([frontapp_mcp.ts](frontapp_mcp.ts)) implements **23 tools** covering these areas: - ✅ Conversations (list, get, search, update) - ✅ Messages (list, get, send, reply) - ✅ Contacts (list, get, create, update) - ✅ Teammates (list, get) - ✅ Tags (list, create) - ✅ Inboxes (list, get) - ✅ Comments (list, add) - ⚠️ Analytics (basic get only) **Coverage**: ~15-20% of total API surface area --- ## 1. Accounts (8 endpoints) ❌ NOT IMPLEMENTED | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/accounts` | List accounts | ❌ | | POST | `/accounts` | Create account | ❌ | | GET | `/accounts/{id}` | Get account | ❌ | | PATCH | `/accounts/{id}` | Update account | ❌ | | DELETE | `/accounts/{id}` | Delete account | ❌ | | GET | `/accounts/{id}/contacts` | List account contacts | ❌ | | POST | `/accounts/{id}/contacts` | Add contact to account | ❌ | | DELETE | `/accounts/{id}/contacts` | Remove contact from account | ❌ | **Use Cases**: Managing company/customer accounts, associating contacts with accounts --- ## 2. Analytics (4 endpoints) ⚠️ PARTIALLY IMPLEMENTED | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | POST | `/analytics/exports` | Create analytics export | ❌ | | GET | `/analytics/exports/{id}` | Get analytics export | ❌ | | POST | `/analytics/reports` | Create analytics report | ❌ | | GET | `/analytics/reports/{id}` | Get analytics report | ❌ | | GET | `/analytics` | Get analytics (basic) | ✅ | **Use Cases**: Generate detailed reports on team performance, response times, message volumes **Note**: Current implementation only has basic analytics endpoint. Need to add export/report creation and retrieval. --- ## 3. Attachments (4 endpoints) ❌ NOT IMPLEMENTED | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/comments/{comment_id}/attachments/{attachment_id}/download` | Download comment attachment | ❌ | | GET | `/messages/{message_id}/attachments/{attachment_id}/download` | Download message attachment | ❌ | | GET | `/message_templates/{template_id}/attachments/{attachment_id}/download` | Download template attachment | ❌ | | GET | `/download/{attachment_id}` | Download attachment | ❌ | **Use Cases**: Download files attached to messages, comments, or templates **Important**: Downloading attachments counts against API rate limits --- ## 4. Channels (11 endpoints) ❌ NOT IMPLEMENTED ### Core Channel Operations | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/channels` | List channels | ❌ | | POST | `/channels` | Create channel | ❌ | | GET | `/channels/{id}` | Get channel | ❌ | | PATCH | `/channels/{id}` | Update channel | ❌ | | POST | `/channels/{id}/validate` | Validate channel | ❌ | | GET | `/teammates/{id}/channels` | List teammate channels | ❌ | | GET | `/teams/{id}/channels` | List team channels | ❌ | ### Channel API (Message Sync) | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | POST | `/channels/{id}/inbound_messages` | Sync inbound message | ❌ | | POST | `/channels/{id}/outbound_messages` | Sync outbound message | ❌ | | PUT | `/channels/{id}/messages/{msg_id}/status` | Update external message status | ❌ | ### Application Message Templates | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | PUT | `/channels/{id}/application_message_templates` | Sync application message template | ❌ | **Use Cases**: Manage communication channels (email, SMS, social media), sync messages with external systems **Channel Types**: SMTP, IMAP, Twilio, Twitter, Facebook, Custom --- ## 5. Comments (6 endpoints) ⚠️ PARTIALLY IMPLEMENTED | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/comments/{id}` | Get comment | ⚠️ (via conversation) | | PATCH | `/comments/{id}` | Update comment | ❌ | | GET | `/comments/{id}/mentions` | List comment mentions | ❌ | | GET | `/conversations/{id}/comments` | List conversation comments | ✅ | | POST | `/conversations/{id}/comments` | Add comment | ✅ | | POST | `/comments/{id}/replies` | Add comment reply | ❌ | **Use Cases**: Internal team discussions on conversations **Note**: Comments are called "discussions" in the Front UI --- ## 6. Contacts (14 endpoints) ⚠️ PARTIALLY IMPLEMENTED ### Core Operations | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/contacts` | List contacts | ✅ | | POST | `/contacts` | Create contact | ✅ | | GET | `/contacts/{id}` | Get contact | ✅ | | PATCH | `/contacts/{id}` | Update contact | ✅ | | DELETE | `/contacts/{id}` | Delete contact | ❌ | | POST | `/contacts/merge` | Merge contacts | ❌ | ### Contact Relationships | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/contacts/{id}/conversations` | List contact conversations | ❌ | | GET | `/contacts/{id}/notes` | List notes | ❌ | | POST | `/contacts/{id}/notes` | Add note | ❌ | ### Contact Handles | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | POST | `/contacts/{id}/handles` | Add contact handle | ❌ | | DELETE | `/contacts/{id}/handles` | Delete contact handle | ❌ | ### Scope-Specific | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/teammates/{id}/contacts` | List teammate contacts | ❌ | | POST | `/teammates/{id}/contacts` | Create teammate contact | ❌ | | GET | `/teams/{id}/contacts` | List team contacts | ❌ | **Use Cases**: Manage customer/contact information, track conversation history **Special Feature**: Contacts support aliases like `alt:email:user@example.com` --- ## 7. Contact Groups (10 endpoints) ❌ DEPRECATED | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/contact_groups` | List groups | ❌ Deprecated | | POST | `/contact_groups` | Create group | ❌ Deprecated | | DELETE | `/contact_groups/{id}` | Delete group | ❌ Deprecated | | GET | `/contact_groups/{id}/contacts` | List contacts in group | ❌ Deprecated | | POST | `/contact_groups/{id}/contacts` | Add contacts to group | ❌ Deprecated | | DELETE | `/contact_groups/{id}/contacts` | Remove contacts from group | ❌ Deprecated | | GET | `/teammates/{id}/contact_groups` | List teammate groups | ❌ Deprecated | | POST | `/teammates/{id}/contact_groups` | Create teammate group | ❌ Deprecated | | GET | `/teams/{id}/contact_groups` | List team groups | ❌ Deprecated | | POST | `/teams/{id}/contact_groups` | Create team group | ❌ Deprecated | **⚠️ DEPRECATED**: Use Contact Lists instead --- ## 8. Contact Lists (10 endpoints) ❌ NOT IMPLEMENTED | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/contact_lists` | List contact lists | ❌ | | POST | `/contact_lists` | Create contact list | ❌ | | DELETE | `/contact_lists/{id}` | Delete contact list | ❌ | | GET | `/contact_lists/{id}/contacts` | List contacts in list | ❌ | | POST | `/contact_lists/{id}/contacts` | Add contacts to list | ❌ | | DELETE | `/contact_lists/{id}/contacts` | Remove contacts from list | ❌ | | GET | `/teammates/{id}/contact_lists` | List teammate lists | ❌ | | POST | `/teammates/{id}/contact_lists` | Create teammate list | ❌ | | GET | `/teams/{id}/contact_lists` | List team lists | ❌ | | POST | `/teams/{id}/contact_lists` | Create team list | ❌ | **Use Cases**: Organize contacts into lists for segmentation and targeting **Replaces**: Contact Groups (deprecated) --- ## 9. Conversations (19 endpoints) ⚠️ PARTIALLY IMPLEMENTED ### Core Operations | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/conversations` | List conversations | ✅ | | POST | `/conversations` | Create discussion conversation | ❌ | | GET | `/conversations/search` | Search conversations | ✅ | | GET | `/conversations/{id}` | Get conversation | ✅ | | PATCH | `/conversations/{id}` | Update conversation | ✅ | | PUT | `/conversations/{id}/assignee` | Update assignee | ❌ | ### Conversation Events & Followers | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/conversations/{id}/events` | List events | ❌ | | GET | `/conversations/{id}/followers` | List followers | ❌ | | POST | `/conversations/{id}/followers` | Add followers | ❌ | | DELETE | `/conversations/{id}/followers` | Delete followers | ❌ | ### Conversation Relationships | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/conversations/{id}/inboxes` | List inboxes | ❌ | | POST | `/conversations/{id}/links` | Add link | ❌ | | DELETE | `/conversations/{id}/links` | Remove links | ❌ | ### Messages & Tags | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/conversations/{id}/messages` | List messages | ✅ | | POST | `/conversations/{id}/messages` | Create message reply | ✅ (via reply) | | PATCH | `/conversations/{id}/reminders` | Update reminders | ❌ | | POST | `/conversations/{id}/tags` | Add tag | ❌ | | DELETE | `/conversations/{id}/tags` | Remove tag | ❌ | ### Comments | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/conversations/{id}/comments` | List comments | ✅ | | POST | `/conversations/{id}/comments` | Add comment | ✅ | **Use Cases**: Full conversation lifecycle management, collaboration, tagging, linking **Search Syntax**: - `status:open` / `status:archived` - `tag:urgent` - `assignee:me` / `is:unassigned` - `inbox:support` - `after:2024-01-01` / `before:2024-12-31` - Combine with `AND`, `OR` --- ## 10. Custom Fields (7 endpoints) ❌ NOT IMPLEMENTED | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/accounts/custom_fields` | List account custom fields | ❌ | | GET | `/contacts/custom_fields` | List contact custom fields | ❌ | | GET | `/conversations/custom_fields` | List conversation custom fields | ❌ | | GET | `/custom_fields` | List all custom fields | ❌ | | GET | `/inboxes/custom_fields` | List inbox custom fields | ❌ | | GET | `/links/custom_fields` | List link custom fields | ❌ | | GET | `/teammates/custom_fields` | List teammate custom fields | ❌ | **Use Cases**: Retrieve custom field definitions and values **Supported Types**: string, boolean, datetime, number, teammate, inbox, enum **Note**: API only supports listing fields and updating values (no field creation via API) --- ## 11. Drafts (5 endpoints) ❌ NOT IMPLEMENTED | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | POST | `/drafts` | Create draft | ❌ | | GET | `/conversations/{id}/drafts` | List conversation drafts | ❌ | | POST | `/channels/{id}/drafts` | Create draft reply | ❌ | | DELETE | `/drafts/{id}` | Delete draft | ❌ | | PATCH | `/drafts/{id}` | Edit draft | ❌ | **Use Cases**: Manage draft messages before sending **Important**: Editing/deleting drafts requires a `version` field to prevent conflicts (returns 409 if version mismatch) --- ## 12. Events (2 endpoints) ❌ NOT IMPLEMENTED | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/events` | List events | ❌ | | GET | `/events/{id}` | Get event | ❌ | **Use Cases**: Audit log, activity tracking, webhook alternative **Search Parameters**: - Event types (array) - Date range (`before`, `after` timestamps) - Inbox filtering **Special Feature**: Event IDs are sequential and chronologically ordered (base 36 after `evt_` prefix) --- ## 13. Inboxes (10 endpoints) ⚠️ PARTIALLY IMPLEMENTED ### Core Operations | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/inboxes` | List inboxes | ✅ | | POST | `/inboxes` | Create inbox | ❌ | | GET | `/inboxes/{id}` | Get inbox | ✅ | ### Inbox Relationships | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/inboxes/{id}/channels` | List inbox channels | ❌ | | GET | `/inboxes/{id}/conversations` | List inbox conversations | ❌ | ### Access Control | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/inboxes/{id}/access` | List inbox access | ❌ | | POST | `/inboxes/{id}/access` | Add inbox access | ❌ | | DELETE | `/inboxes/{id}/access` | Remove inbox access | ❌ | ### Team Inboxes | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/teams/{id}/inboxes` | List team inboxes | ❌ | | POST | `/teams/{id}/inboxes` | Create team inbox | ❌ | **Use Cases**: Inbox management, access control, team organization **Definition**: An inbox is a container of messages; channels post messages into inboxes --- ## 14. Knowledge Bases (14+ endpoints) ❌ NOT IMPLEMENTED ### Knowledge Base Operations | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/knowledge_bases` | List knowledge bases | ❌ | | POST | `/knowledge_bases` | Create knowledge base | ❌ | | GET | `/knowledge_bases/{id}` | Get knowledge base | ❌ | | GET | `/knowledge_bases/{id}/default` | Get KB with default locale | ❌ | | PATCH | `/knowledge_bases/{id}/default` | Update KB in default locale | ❌ | | PATCH | `/knowledge_bases/{id}/locales/{locale}` | Update KB in specific locale | ❌ | ### Category Operations | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/knowledge_bases/{id}/categories` | List categories | ❌ | | POST | `/knowledge_bases/{id}/categories` | Create category (default locale) | ❌ | | GET | `/knowledge_base_categories/{id}` | Get category | ❌ | | DELETE | `/knowledge_base_categories/{id}` | Delete category | ❌ | ### Article Operations | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/knowledge_bases/{id}/articles` | List articles | ❌ | | POST | `/knowledge_bases/{id}/articles` | Create article (default locale) | ❌ | | GET | `/knowledge_base_articles/{id}` | Get article | ❌ | | DELETE | `/knowledge_base_articles/{id}` | Delete article | ❌ | **Use Cases**: Help center content management, multilingual knowledge bases **Special Feature**: Full multilingual support with per-locale content --- ## 15. Links (5 endpoints) ❌ NOT IMPLEMENTED | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/links` | List links | ❌ | | POST | `/links` | Create link | ❌ | | GET | `/links/{id}` | Get link | ❌ | | PATCH | `/links/{id}` | Update link | ❌ | | GET | `/links/{id}/conversations` | List link conversations | ❌ | **Use Cases**: Connect Front conversations with external systems (CRM, ticketing, project management) **Definition**: Links associate Front conversations with external URLs and resources --- ## 16. Messages (7 endpoints) ⚠️ PARTIALLY IMPLEMENTED | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | POST | `/channels/{id}/incoming_messages` | Receive custom messages | ❌ | | POST | `/channels/{id}/messages` | Create message | ✅ (via send_message) | | POST | `/conversations/{id}/messages` | Create message reply | ✅ (via reply) | | POST | `/channels/{id}/import` | Import message | ❌ | | GET | `/messages/{id}` | Get message | ✅ | | GET | `/messages/{id}/seen` | Get message seen status | ❌ | | POST | `/messages/{id}/seen` | Mark message seen | ❌ | **Use Cases**: Message management, read receipts, message import **Message Types**: Email, SMS, WhatsApp, social media, custom channels **Special Note**: Creating a message returns a `message_uid` (202 response), not the final `message_id` **URL Pattern**: `https://app.frontapp.com/open/{message_id}` to open in Front UI --- ## 17. Message Templates & Folders (18 endpoints) ❌ NOT IMPLEMENTED ### Template Folder Operations | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/message_template_folders` | List folders | ❌ | | POST | `/message_template_folders` | Create folder | ❌ | | GET | `/message_template_folders/{id}` | Get folder | ❌ | | PATCH | `/message_template_folders/{id}` | Update folder | ❌ | | DELETE | `/message_template_folders/{id}` | Delete folder | ❌ | | GET | `/message_template_folders/{id}/children` | Get child folders | ❌ | | POST | `/message_template_folders/{id}/children` | Create child folder | ❌ | | GET | `/teammates/{id}/message_template_folders` | List teammate folders | ❌ | | POST | `/teammates/{id}/message_template_folders` | Create teammate folder | ❌ | | GET | `/teams/{id}/message_template_folders` | List team folders | ❌ | ### Message Template Operations | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/message_templates` | List templates | ❌ | | POST | `/message_templates` | Create template | ❌ | | GET | `/message_templates/{id}` | Get template | ❌ | | PATCH | `/message_templates/{id}` | Update template | ❌ | | DELETE | `/message_templates/{id}` | Delete template | ❌ | | GET | `/message_templates/{id}/children` | Get child templates | ❌ | | POST | `/message_templates/{id}/children` | Create child template | ❌ | **Use Cases**: Canned responses, template management, team productivity **Scope Levels**: Company, teammate, team --- ## 18. Rules (5 endpoints) ❌ NOT IMPLEMENTED | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/rules` | List all company rules | ❌ | | GET | `/rules` | List rules | ❌ | | GET | `/rules/{id}` | Get rule | ❌ | | GET | `/teammates/{id}/rules` | List teammate rules | ❌ | | GET | `/teams/{id}/rules` | List team rules | ❌ | **Use Cases**: View automation rules, understand rule logic **Definition**: Rules are conditions that trigger automatic actions **Note**: API provides human-readable versions of rule conditions and actions **Limitation**: API is read-only for rules (no creation/modification) --- ## 19. Shifts (10 endpoints) ❌ NOT IMPLEMENTED | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/shifts` | List shifts | ❌ | | POST | `/shifts` | Create shift | ❌ | | GET | `/shifts/{id}` | Get shift | ❌ | | PATCH | `/shifts/{id}` | Update shift | ❌ | | GET | `/shifts/{id}/teammates` | List shift teammates | ❌ | | POST | `/shifts/{id}/teammates` | Add teammates to shift | ❌ | | DELETE | `/shifts/{id}/teammates` | Remove teammates from shift | ❌ | | GET | `/teammates/{id}/shifts` | List teammate shifts | ❌ | | GET | `/teams/{id}/shifts` | List team shifts | ❌ | | POST | `/teams/{id}/shifts` | Create team shift | ❌ | **Use Cases**: Schedule management, availability tracking, timezone coverage **Definition**: Shifts are recurring time intervals assigned to teammates; Front automatically manages availability status when shifts start/end --- ## 20. Signatures (8 endpoints) ❌ NOT IMPLEMENTED | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/signatures/{id}` | Get signature | ❌ | | PATCH | `/signatures/{id}` | Update signature | ❌ | | DELETE | `/signatures/{id}` | Delete signature | ❌ | | GET | `/teammates/{id}/signatures` | List teammate signatures | ❌ | | POST | `/teammates/{id}/signatures` | Create teammate signature | ❌ | | GET | `/teams/{id}/signatures` | List team signatures | ❌ | | POST | `/teams/{id}/signatures` | Create team signature | ❌ | **Use Cases**: Email signature management at individual and team level **Scope Levels**: Individual teammate, team --- ## 21. Tags (14 endpoints) ⚠️ PARTIALLY IMPLEMENTED | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/tags` | List company tags | ✅ (via list_tags) | | POST | `/tags` | Create company tag | ✅ (via create_tag) | | GET | `/tags/{id}` | Get tag | ❌ | | PATCH | `/tags/{id}` | Update tag | ❌ | | DELETE | `/tags/{id}` | Delete tag | ❌ | | GET | `/tags/{id}/children` | List tag children | ❌ | | POST | `/tags/{id}/children` | Create child tag | ❌ | | GET | `/tags/{id}/conversations` | List tagged conversations | ❌ | | GET | `/teammates/{id}/tags` | List teammate tags | ❌ | | POST | `/teammates/{id}/tags` | Create teammate tag | ❌ | | GET | `/teams/{id}/tags` | List team tags | ❌ | | POST | `/teams/{id}/tags` | Create team tag | ❌ | **Use Cases**: Conversation categorization, organization, reporting **Features**: - Color highlighting - Parent-child relationships (nested tags) - Private vs shared tags **Colors**: grey, pink, red, orange, yellow, green, light-blue, blue, purple --- ## 22. Teammates (5 endpoints) ⚠️ PARTIALLY IMPLEMENTED | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/teammates` | List teammates | ✅ | | GET | `/teammates/{id}` | Get teammate | ✅ | | PATCH | `/teammates/{id}` | Update teammate | ❌ | | GET | `/teammates/{id}/conversations` | List assigned conversations | ❌ | | GET | `/teammates/{id}/inboxes` | List teammate inboxes | ❌ | **Use Cases**: Team member management, assignment tracking **Definition**: A teammate is a Front user, a member of your company **Status Tracking**: `is_available` boolean indicates current availability --- ## 23. Teams / Workspaces (4 endpoints) ❌ NOT IMPLEMENTED | Method | Endpoint | Description | Status | |--------|----------|-------------|--------| | GET | `/teams` | List teams | ❌ | | GET | `/teams/{id}` | Get team | ❌ | | POST | `/teams/{id}/teammates` | Add teammates to team | ❌ | | DELETE | `/teams/{id}/teammates` | Remove teammates from team | ❌ | **Use Cases**: Team/workspace organization, member management **Note**: "Teams" in the API = "Workspaces" in the Front UI (API name is historical) --- ## Summary Statistics | Category | Total Endpoints | Implemented | Percentage | |----------|----------------|-------------|------------| | **Accounts** | 8 | 0 | 0% | | **Analytics** | 4 | 1 | 25% | | **Attachments** | 4 | 0 | 0% | | **Channels** | 11 | 0 | 0% | | **Comments** | 6 | 2 | 33% | | **Contacts** | 14 | 4 | 29% | | **Contact Groups** | 10 | 0 | 0% (Deprecated) | | **Contact Lists** | 10 | 0 | 0% | | **Conversations** | 19 | 7 | 37% | | **Custom Fields** | 7 | 0 | 0% | | **Drafts** | 5 | 0 | 0% | | **Events** | 2 | 0 | 0% | | **Inboxes** | 10 | 2 | 20% | | **Knowledge Bases** | 14 | 0 | 0% | | **Links** | 5 | 0 | 0% | | **Messages** | 7 | 3 | 43% | | **Templates/Folders** | 18 | 0 | 0% | | **Rules** | 5 | 0 | 0% | | **Shifts** | 10 | 0 | 0% | | **Signatures** | 8 | 0 | 0% | | **Tags** | 14 | 2 | 14% | | **Teammates** | 5 | 2 | 40% | | **Teams** | 4 | 0 | 0% | | **TOTAL** | **~200** | **23** | **~12%** | --- ## Priority Recommendations for Implementation ### High Priority (Common Use Cases) 1. **Drafts** - Essential for message composition workflow 2. **Events** - Critical for audit logs and activity tracking 3. **Tags (complete)** - Tag operations on conversations, hierarchical tags 4. **Conversation Operations (complete)** - Assignees, followers, links, reminders 5. **Contact Lists** - Modern replacement for deprecated Contact Groups 6. **Message Templates** - High-impact productivity feature ### Medium Priority (Power User Features) 1. **Channels** - Required for multi-channel management 2. **Teams/Workspaces** - Organization and permissions 3. **Accounts** - B2B/customer account management 4. **Links** - CRM and external system integration 5. **Custom Fields** - Extended data capture 6. **Analytics (complete)** - Full reporting capabilities ### Lower Priority (Specialized Features) 1. **Knowledge Bases** - Help center management 2. **Shifts** - Schedule/coverage management 3. **Signatures** - Email formatting 4. **Rules** - Read-only, for automation visibility 5. **Attachments** - Specialized download operations ### Skip - **Contact Groups** - Deprecated, use Contact Lists instead --- ## Implementation Notes ### Authentication - Bearer token via `Authorization: Bearer {token}` header - Token from environment variable `FRONTAPP_API_TOKEN` - Get tokens from Front Settings → Developers → API tokens ### Pagination - Most list endpoints support `limit` (max 100, default 50) and `page_token` - Use `pagination.next` from response for next page ### Rate Limiting - Attachment downloads count against rate limits - Standard rate limits apply to all endpoints ### Error Handling - Axios errors include `error.response.data.message` - Draft operations require `version` field (409 conflict if mismatch) - Some operations return 202 Accepted with UIDs instead of final IDs ### Special Features - **Contact Aliases**: `alt:email:user@example.com`, `alt:phone:+1234567890` - **Event IDs**: Sequential, base-36 encoded (chronologically ordered) - **Message URLs**: `https://app.frontapp.com/open/{message_id}` --- ## Next Steps To expand the MCP server coverage: 1. **Phase 1** (High-value additions): Drafts, Events, Complete Tags, Contact Lists 2. **Phase 2** (Operational essentials): Channels, Teams, Complete Conversations 3. **Phase 3** (Extended capabilities): Accounts, Links, Custom Fields, Templates 4. **Phase 4** (Specialized features): Knowledge Bases, Shifts, Signatures, Analytics Reports Each endpoint should follow the existing pattern: - Add tool definition to `ListToolsRequestSchema` - Add case to `CallToolRequestSchema` switch - Implement private method for API call - Handle errors consistently --- ## References - **API Documentation**: https://dev.frontapp.com/reference/introduction - **Base URL**: `https://api2.frontapp.com` - **Authentication**: OAuth 2.0 or API Token - **Current Implementation**: [frontapp_mcp.ts](frontapp_mcp.ts) - **Project Documentation**: [CLAUDE.md](CLAUDE.md)

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zqushair/Frontapp-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server