
List company accounts with optional sorting. Accounts represent companies/organizations in your CRM.
Get a specific company account by ID, including name, description, domains, and custom fields.
Create a new company account with name, description, domains, external ID, and custom fields.
Update a company account's name, description, domains, external ID, or custom fields.
Delete a company account permanently. This cannot be undone.
Get all contacts associated with a company account.
Associate a contact with a company account.
Remove a contact's association with a company account.
List all teams in the workspace, including their inboxes and members.
Get a specific team by ID, including name, inboxes, and members.
List all channels in the workspace (email, twilio, twitter, facebook, intercom, custom, etc.).
Get a specific channel by ID, including type, address, send-as, and settings.
Update a channel's name or settings. Settings vary by channel type.
Get a specific internal comment by ID, including body, author, and attachments.
Create an internal comment on a conversation. Comments are team notes not visible to customers.
Get all @mentions in a comment, including mentioned teammates.
List contacts in Front with optional search query. Supports sorting and pagination.
Get a specific contact by ID, including all handles, groups, and custom fields.
Create a new contact with handles (email, phone, twitter, etc.), name, and custom fields.
Update a contact's name, description, avatar, spammer status, links, groups, or custom fields.
Delete a contact permanently. This cannot be undone.
Merge multiple contacts into a single target contact. Source contacts will be deleted.
Get all conversations associated with a contact.
Add a new handle (email, phone, twitter, etc.) to an existing contact.
Remove a handle from a contact. The contact must have at least one handle remaining.
Get all notes attached to a contact.
Add a note to a contact for internal documentation.
List conversations in Front with optional filtering by inbox, tag, status, or assignee. Supports pagination.
Get a specific conversation by ID, including subject, status, assignee, tags, and metadata.
Update a conversation's assignee, inbox, status, or tags. Use status 'archived' to archive, 'open' to reopen.
Search conversations using Front's search syntax. Supports advanced queries like 'from:email@example.com' or 'is:unassigned'.
Add a tag to a conversation for categorization and filtering.
Remove a tag from a conversation.
Get all messages in a conversation thread, including inbound and outbound messages.
Get internal comments on a conversation (team notes not visible to customers).
Get teammates who are following a conversation for updates.
Add a teammate as a follower to receive notifications about a conversation.
Remove a teammate from following a conversation.
Get all inboxes a conversation is shared with.
List all inboxes in the workspace, including private and public inboxes.
Get a specific inbox by ID, including name, address, and send-as settings.
Create a new shared inbox with a name and optional teammate assignments.
Get conversations in a specific inbox with optional search and status filter.
Get all channels connected to a specific inbox (email, chat, social, etc.).
Get all teammates who have access to a specific inbox.
Add teammates to an inbox, giving them access to view and respond to conversations.
Remove teammates from an inbox, revoking their access to the inbox's conversations.
Get a specific message by ID, including body, recipients, attachments, and metadata.
Send a new message through a channel (email, SMS, etc.) to specified recipients.
Reply to an existing conversation. The reply will be sent through the conversation's channel.
Import an external message into Front with an external ID for deduplication. Creates a new conversation.
List all tags in the workspace, including private tags and their visibility settings.
Get a specific tag by ID, including name, description, highlight color, and visibility.
Create a new tag with name, description, highlight color, and visibility settings.
Update a tag's name, description, highlight color, or visibility settings.
Delete a tag permanently. Conversations will keep their tag history.
Get all conversations that have a specific tag applied, with optional search.
Get all child tags nested under a parent tag.
Create a new child tag under a parent tag for hierarchical organization.
List all teammates in the workspace, including admins, available status, and blocked status.
Get a specific teammate by ID, including email, username, admin status, and availability.
Update a teammate's username, name, or availability status.
Get conversations assigned to a specific teammate with optional search and status filter.
Get inboxes accessible to a specific teammate.
Get tags accessible to a specific teammate.
Validate Front credentials. Verifies credentials during setup.

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}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.
The use cases naturally depend on the agent you've built, but here are a few common ones:
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 workspaceIf you're deciding between building your own Front connector or using Merge Agent Handler, here is what tips the balance:
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.
Yes, Agent Handler for Employees lets your employees connect Claude, ChatGPT, Microsoft Copilot, Cursor, and other MCP-compatible AI tools to Front without bypassing IT governance.
Instead of setting up direct connections with personal credentials that IT can't monitor or revoke, each employee authenticates through Agent Handler and gets individual credentials tied to their identity.
IT also provisions access by role or group via SCIM. A support agent, for example, gets Front access to manage and respond to conversations, Zendesk to cross-reference open tickets, and Slack to coordinate with the escalation team; while a customer success manager gets Front access to review account communication history, Salesforce to pull CRM context, and Google Calendar to schedule follow-up meetings.
Every tool call an employee's AI makes to Front is also inspected against your DLP rules and logged to a searchable audit trail, giving security teams full visibility into what data was accessed and by whom.
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now