Connect your AI Agents to Front in minutes

Available tools
list_accounts
List company accounts with optional sorting. Accounts represent companies/organizations in your CRM.
get_account
Get a specific company account by ID, including name, description, domains, and custom fields.
create_account
Create a new company account with name, description, domains, external ID, and custom fields.
update_account
Update a company account's name, description, domains, external ID, or custom fields.
delete_account
Delete a company account permanently. This cannot be undone.
get_account_contacts
Get all contacts associated with a company account.
add_account_contact
Associate a contact with a company account.
remove_account_contact
Remove a contact's association with a company account.
list_teams
List all teams in the workspace, including their inboxes and members.
get_team
Get a specific team by ID, including name, inboxes, and members.
list_channels
List all channels in the workspace (email, twilio, twitter, facebook, intercom, custom, etc.).
get_channel
Get a specific channel by ID, including type, address, send-as, and settings.
update_channel
Update a channel's name or settings. Settings vary by channel type.
get_comment
Get a specific internal comment by ID, including body, author, and attachments.
create_comment
Create an internal comment on a conversation. Comments are team notes not visible to customers.
get_comment_mentions
Get all @mentions in a comment, including mentioned teammates.
list_contacts
List contacts in Front with optional search query. Supports sorting and pagination.
get_contact
Get a specific contact by ID, including all handles, groups, and custom fields.
create_contact
Create a new contact with handles (email, phone, twitter, etc.), name, and custom fields.
update_contact
Update a contact's name, description, avatar, spammer status, links, groups, or custom fields.
delete_contact
Delete a contact permanently. This cannot be undone.
merge_contacts
Merge multiple contacts into a single target contact. Source contacts will be deleted.
get_contact_conversations
Get all conversations associated with a contact.
add_contact_handle
Add a new handle (email, phone, twitter, etc.) to an existing contact.
delete_contact_handle
Remove a handle from a contact. The contact must have at least one handle remaining.
get_contact_notes
Get all notes attached to a contact.
add_contact_note
Add a note to a contact for internal documentation.
list_conversations
List conversations in Front with optional filtering by inbox, tag, status, or assignee. Supports pagination.
get_conversation
Get a specific conversation by ID, including subject, status, assignee, tags, and metadata.
update_conversation
Update a conversation's assignee, inbox, status, or tags. Use status 'archived' to archive, 'open' to reopen.
search_conversations
Search conversations using Front's search syntax. Supports advanced queries like 'from:email@example.com' or 'is:unassigned'.
add_conversation_tag
Add a tag to a conversation for categorization and filtering.
remove_conversation_tag
Remove a tag from a conversation.
get_conversation_messages
Get all messages in a conversation thread, including inbound and outbound messages.
get_conversation_comments
Get internal comments on a conversation (team notes not visible to customers).
get_conversation_followers
Get teammates who are following a conversation for updates.
add_conversation_follower
Add a teammate as a follower to receive notifications about a conversation.
remove_conversation_follower
Remove a teammate from following a conversation.
get_conversation_inboxes
Get all inboxes a conversation is shared with.
list_inboxes
List all inboxes in the workspace, including private and public inboxes.
get_inbox
Get a specific inbox by ID, including name, address, and send-as settings.
create_inbox
Create a new shared inbox with a name and optional teammate assignments.
get_inbox_conversations
Get conversations in a specific inbox with optional search and status filter.
get_inbox_channels
Get all channels connected to a specific inbox (email, chat, social, etc.).
get_inbox_teammates
Get all teammates who have access to a specific inbox.
add_inbox_teammates
Add teammates to an inbox, giving them access to view and respond to conversations.
remove_inbox_teammates
Remove teammates from an inbox, revoking their access to the inbox's conversations.
get_message
Get a specific message by ID, including body, recipients, attachments, and metadata.
send_message
Send a new message through a channel (email, SMS, etc.) to specified recipients.
reply_to_conversation
Reply to an existing conversation. The reply will be sent through the conversation's channel.
import_message
Import an external message into Front with an external ID for deduplication. Creates a new conversation.
list_tags
List all tags in the workspace, including private tags and their visibility settings.
get_tag
Get a specific tag by ID, including name, description, highlight color, and visibility.
create_tag
Create a new tag with name, description, highlight color, and visibility settings.
update_tag
Update a tag's name, description, highlight color, or visibility settings.
delete_tag
Delete a tag permanently. Conversations will keep their tag history.
get_tag_conversations
Get all conversations that have a specific tag applied, with optional search.
list_child_tags
Get all child tags nested under a parent tag.
create_child_tag
Create a new child tag under a parent tag for hierarchical organization.
list_teammates
List all teammates in the workspace, including admins, available status, and blocked status.
get_teammate
Get a specific teammate by ID, including email, username, admin status, and availability.
update_teammate
Update a teammate's username, name, or availability status.
get_teammate_conversations
Get conversations assigned to a specific teammate with optional search and status filter.
get_teammate_inboxes
Get inboxes accessible to a specific teammate.
get_teammate_tags
Get tags accessible to a specific teammate.
validate_credential
Validate Front credentials. Verifies credentials during setup.

How to set up Merge Agent Handler
In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}FAQs on using Merge's Front MCP server
FAQs on using Merge's Front MCP server
What is a Front MCP?
A Front MCP is a server that connects AI agents to your Front workspace through a set of callable tools. Your agents can invoke these tools to read and send messages, manage conversations, update contact records, add tags, and more.
Front offers an official MCP server (in beta). You can also connect to a fully-managed Front MCP server through a third-party platform, like Merge Agent Handler.
How can I use the Front MCP server?
The use cases naturally depend on the agent you've built, but here are a few common ones:
- Automated conversation routing. When a new conversation arrives in a shared inbox, an agent can read the message content, identify the appropriate team or tag based on keywords or sender, and update the conversation assignment without a human stepping in
- Contact enrichment on inbound. When a new contact sends a message in Front, an agent can look up their record, pull account or deal context from a connected CRM, add a note to the contact in Front, and tag the conversation accordingly
- Support escalation workflows. An agent can monitor conversations for escalation signals such as specific keywords or SLA thresholds, add a priority tag, notify the relevant teammate, and post an internal comment summarizing the context
- Weekly inbox health reporting. An agent can query open conversations across inboxes, group them by team or tag, calculate response time metrics, and deliver a structured digest to a Slack channel or email recipient on a set schedule
What are popular tools for Front's MCP server?
Here are some of the most commonly used tools:
<code class="blog_inline-code">list_conversations</code>: retrieves conversations from Front with filtering by inbox, assignee, tag, or status, used by agents that monitor queue health or identify conversations requiring action
<code class="blog_inline-code">search_conversations</code>: runs a full-text search across Front conversations, useful when an agent needs to find prior context about a contact or topic before responding
<code class="blog_inline-code">reply_to_conversation</code>: sends a reply in an existing conversation thread, used by agents that handle routine responses or acknowledgments based on predefined conditions
<code class="blog_inline-code">update_conversation</code>: modifies conversation fields like assignee, status, or inbox, called when an agent needs to route or close a conversation based on its content or age
<code class="blog_inline-code">add_conversation_tag</code>: applies a tag to a conversation, used by agents that categorize inbound messages automatically based on content classification
<code class="blog_inline-code">create_contact</code>: adds a new contact record to Front, typically called when an agent detects a first-time sender who doesn't yet have a record in the workspace
What makes Merge Agent Handler's Front MCP server better than alternative Front MCP servers?
If you're deciding between building your own Front connector or using Merge Agent Handler, here is what tips the balance:
- Enterprise-grade security and DLP. Merge Agent Handler includes built-in data loss prevention controls that let you block or redact sensitive fields before they reach an agent. For Front, this means customer message content, contact handles, and internal comments can be masked even when the agent has broad conversation access
- Managed authentication and credentials. Merge stores and refreshes Front credentials on your behalf. You never hand raw API tokens to an agent or write token rotation logic yourself
- Real-time observability and audit trail. Every tool call against Front is logged with timestamp, tool name, input parameters, and response metadata. Support and ops teams get a complete record of what the agent read, sent, or modified
- Tool Packs and controlled access. Tool Packs let you define exactly which Front tools an agent can access, and pair them with tools from other connectors in a single scoped MCP endpoint. A triage agent can have conversation and tag tools. A reporting agent can have inbox and teammate tools. Each gets only what its use case requires
How can I start using Merge Agent Handler's Front MCP server?
You can take the following steps:
1. Create or log into your Merge Agent Handler account and navigate to Tool Packs.
2. Create a new Tool Pack and enable the Front connector. Select which tools to include. Read and search tools cover most monitoring and reporting use cases, while write tools are available if your agent needs to reply to conversations, update assignments, or manage contacts.
3. Add a Registered User to the Tool Pack. This defines the identity context your agent operates under, and Merge generates a unique MCP URL tied to that user.
4. From the Registered User detail page, complete the Front OAuth flow. Merge handles credential storage and refresh automatically from that point forward.
5. Copy the MCP URL from the Tool Pack detail page and generate an API key under Settings. Both are required to connect your agent.
6. Add the MCP server configuration to your agent or IDE using the MCP URL and API key. Your Front tools will be available through that endpoint immediately.
Ready to try it out?
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now

























