# Front MCP

> Front MCP Server manages shared inboxes across email, SMS, and social platforms. It lets your AI client treat your team's customer communication like a single stream, allowing you to organize, track, and reply to conversations without jumping between different communication apps.

## Overview
- **Category:** communication-messaging
- **Price:** Free
- **Tags:** shared-inbox, team-collaboration, email-management, customer-operations, conversation-tracking, unified-inbox

## Description

**Front MCP Server** gives your AI client full control over your team's shared inboxes across email, SMS, and social platforms. It treats all customer communication—emails, chats, and texts—like a single stream. You use this server to organize, track, and reply to conversations without switching between different apps. 

**Search and Triage Customer Threads**
Your agent finds specific conversations by running a search query or checking a date range using `search_conversations_by_query`. It can also change a conversation's status—marking it open, archived, or spam—with `update_conversation_status`. 

**Compile Full Message History**
Your agent gets the full message thread, including metadata, for any conversation using `list_conversation_messages`. You can then read the complete text and metadata of any single message with `get_message_content`. 

**Send Targeted Replies**
When you need to respond, your agent replies to an existing conversation thread using `reply_to_conversation`, sending the message through the unified AI interface. 

**View and Manage Shared Inboxes**
It lets your agent list all team shared inboxes configured in Front with `list_shared_inboxes`, and it lists all communication channels—email, chat, and SMS—that are currently active via `list_active_channels`. 

**Gather Contact Details**
Your agent pulls specific contact details for a person using `get_contact_info`, and it can retrieve a full list of all contacts managed by the team with `list_team_contacts`. 

**Coordinate Team Workflow**
Use the agent to list all current team conversations in the shared inboxes with `list_conversations`. You can also get conversation details to coordinate internal routing and workload distribution. 

**Check System Status**
Your agent checks the connection status to the Front API with `get_api_status`.

## Tools

### get_api_status
Checks the connection status to the Front API.

### get_contact_info
Retrieves detailed contact information for a specific person.

### get_conversation_details
Gets metadata and details for a single customer conversation thread.

### get_message_content
Reads the full text and metadata of a single message.

### list_active_channels
Lists all communication channels (email, chat, SMS) that are currently active.

### list_conversation_messages
Retrieves the entire message history for a given conversation ID.

### list_conversations
Lists all current team conversations in the shared inboxes.

### list_shared_inboxes
Lists all team shared inboxes configured in Front.

### list_team_contacts
Retrieves a list of all contacts managed by the team.

### reply_to_conversation
Sends a message reply to a specified conversation thread.

### search_conversations_by_query
Finds conversations based on a specific search query or criteria.

### update_conversation_status
Changes the status of a conversation thread (e.g., open to resolved).

## Prompt Examples

**Prompt:** 
```
List all open conversations in my shared inbox.
```

**Response:** 
```
I've retrieved 5 open conversations. Notable threads include 'Issue with pricing' (ID: cnv_123) and 'New feature request' (ID: cnv_456). Which one should I provide details for?
```

**Prompt:** 
```
Show me the message history for conversation 'cnv_123'.
```

**Response:** 
```
Scanning cnv_123... I found 4 messages. The latest was an email from 'John Doe' asking about Enterprise discounts. Would you like the full content of the last message?
```

**Prompt:** 
```
Reply to conversation 'cnv_123' saying 'I will check that for you right now'.
```

**Response:** 
```
Done! I've sent your reply to conversation cnv_123. The customer will see your message in their inbox immediately.
```

## Capabilities

### Search and Triage Customer Threads
Find specific conversations by keywords or date range, and then update their status (e.g., open, archived, spam) using `search_conversations_by_query` and `update_conversation_status`.

### Compile Full Message History
Retrieve the full message thread, including metadata, for any conversation using `list_conversation_messages` and `get_message_content`.

### Send Targeted Replies
Reply to an existing conversation thread using `reply_to_conversation`, sending the message from the unified AI interface.

### View and Manage Shared Inboxes
List all team inboxes and active communication channels using `list_shared_inboxes` and `list_active_channels`.

### Gather Contact Details
Get specific contact information and list all team contacts using `get_contact_info` and `list_team_contacts`.

### Coordinate Team Workflow
Use the agent to list team contacts and get conversation details to coordinate internal routing and workload distribution.

## Use Cases

### The Billing Team Needs to Close a Stale Ticket
A customer complained about a charge two weeks ago, but the ticket is still marked 'open' in the shared inbox. The agent runs `search_conversations_by_query` to find the thread. Then, it uses `get_conversation_details` to confirm the customer's name, and finally, it runs `update_conversation_status` to mark it as resolved, closing the loop.

### The CSM Needs Full Context on a High-Value Client
A high-value client calls with an issue. The agent first runs `list_conversations` to get the ID. Then, it uses `list_conversation_messages` to pull the full history. Finally, it uses `get_contact_info` to verify the client's current details before replying.

### The Ops Lead Needs to Know Which Channels Are Failing
The operations lead needs to check if SMS or chat is having issues. The agent calls `list_active_channels` to get a real-time list of all communication streams. This lets the lead verify operational status without logging into multiple vendor dashboards.

### The Support Agent Needs to Send a Reply After Research
A customer asks a complex question. The agent first uses `get_message_content` to pull the specific details from the last message. It then uses `reply_to_conversation` to send the answer, keeping the entire exchange contained within the unified inbox.

## Benefits

- See the full picture of customer interactions. By calling `list_conversation_messages` and `get_message_content`, you get the entire history, not just the last message. You track sentiment and full context.
- Stop bouncing between apps. `list_active_channels` lets your agent monitor email, chat, and SMS from one place. You don't have to check three different dashboards.
- Keep your team organized. Use `list_shared_inboxes` to see all team inboxes. You can then use `list_conversations` to view the threads inside them.
- Handle tickets at scale. With `search_conversations_by_query`, your agent finds and filters high-volume threads instantly, letting your team focus on the hard stuff.
- Close loops quickly. Use `update_conversation_status` to mark a ticket as resolved or archived. The agent handles the status change, keeping your records clean.
- Get contact info fast. Call `get_contact_info` or `list_team_contacts` to pull customer data and ensure your agent has the latest details before replying.

## How It Works

The bottom line is, your AI client talks directly to Front's backend, so you never leave the chat to manage your shared inboxes.

1. Get your API Token from Front (Settings > Developers > API Tokens).
2. Connect your AI client (Claude, Cursor, etc.) to the MCP Server using that token.
3. Tell your AI agent what you need (e.g., 'List all open conversations for the billing team'). The agent runs the relevant tools, and you get the answer in the chat.

## Frequently Asked Questions

**How do I use the `get_message_content` tool with Front MCP Server?**
You ask your agent to 'Read the last message from the client.' The agent calls `get_message_content` for the specific conversation ID and returns the full text and metadata. This is how you confirm who said what.

**Can I use `list_shared_inboxes` to see all my team's mailboxes?**
Yes. The `list_shared_inboxes` tool lists all team inboxes configured in Front. This lets your agent know what communication pools exist for your team to manage.

**What is the difference between `list_conversations` and `search_conversations_by_query`?**
Listing conversations (`list_conversations`) shows the current pool of threads. Searching (`search_conversations_by_query`) finds threads based on specific keywords, dates, or criteria across the whole system.

**How does `reply_to_conversation` work?**
You instruct your agent to reply to a conversation ID and provide the text. The agent uses `reply_to_conversation` to send the message through the unified system.

**Does Front MCP Server help with SMS messages?**
Yes. The server monitors multiple channels, including SMS, so your agent can pull message history and manage conversations regardless of whether the original message was an email or a text.

**How do I use `get_contact_info` to find a customer's details?**
The `get_contact_info` tool fetches all structured data about a contact. You can pass an email address or name to get their full profile, including phone numbers and associated team members.

**What is the purpose of the `update_conversation_status` tool?**
This tool changes the status of a specific conversation. You use it to mark threads as 'archived,' 'spam,' or 'open' directly through your agent, keeping your shared inbox accurate.

**Can I list all active channels using `list_active_channels`?**
Yes, `list_active_channels` retrieves a list of every communication source connected to your account. This helps your agent see if Email, Chat, or SMS streams are currently active for monitoring.

**How do I create an API Token in Front?**
Log in to Front, go to **Settings** > **Developers** > **API Tokens**, and click **Create Token**. Ensure you select the appropriate scopes for your needs.

**Can I search for conversations by status?**
Yes! The `list_conversations` tool allows you to filter results by statuses like 'open', 'archived', 'deleted', or 'spam'.

**How do I send a reply via AI?**
Use the `reply_to_conversation` tool by providing the `conversationId` and your message body. You can also specify an `author_id` to send as a specific teammate.