MCP server for Front: conversations, contacts, messages, tags, and inbox workflows.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Use Front from any MCP-compatible client. Search conversations, manage contacts, send messages, tag, assign, and automate inbox workflows β 26 tools, 172 actions.
Get a Front API token from Settings > Developers > API tokens.
Add to your Claude Code settings (~/.claude/settings.json):
Search for a conversation:
"Search Front conversations about billing issues"
Inspect a thread:
"Get the messages in conversation cnv_abc123"
Manage contacts:
"List contacts and find the one with email alice@example.com"
Tag and assign:
"Tag conversation cnv_abc123 with 'urgent' and assign it to teammate tea_xyz"
Draft a reply:
"Create a draft reply to conversation cnv_abc123 saying we'll follow up tomorrow"
OAuth provides automatic token refresh and better security than API tokens.
https://localhost:9876/callback.~/.front-mcp/config.json:npx @houst-com/front-mcp auth to authenticate (opens browser).The MCP server needs Front API permissions matching the actions you want to use:
| Permission | Required for |
|---|---|
| Read | All list/get/search actions |
| Write | create, update, assign, add, merge, reply |
| Delete | delete, remove actions |
| Send | messages.create, messages.reply |
For OAuth, configure these in your Front app under Features > OAuth > Resource permissions. For API tokens, permissions are set when creating the token.
| Tool | Actions |
|---|---|
accounts | list, get, create, update, delete, list_contacts, add_contact, remove_contact |
analytics | create_export, get_export, create_report, get_report |
channels | list, get, update, validate, create, list_for_teammate, list_for_team |
comments | list, get, create, update, list_mentions, reply |
contact_groups | list, create, delete, list_contacts, add_contacts, remove_contacts |
contact_lists | list, create, delete, list_contacts, add_contacts, remove_contacts |
contact_notes | list, create |
contacts | list, get, create, update, delete, merge, list_conversations, add_handle, remove_handle |
conversations | list, get, search, create, update, delete, assign, list_events, list_followers, add_followers, remove_followers, list_inboxes, add_link, remove_links, list_messages, update_reminders, add_tag, remove_tag |
custom_fields | list_for_accounts, list_for_contacts, list_for_conversations, list_for_inboxes, list_for_links, list_for_teammates |
drafts | list, create, create_reply, update, delete |
events | list, get |
inboxes | list, get, create, list_channels, list_conversations, list_access, grant_access, revoke_access |
knowledge_bases | list, get, create, update, list_categories, list_articles, get_article, create_article, update_article, delete_article, get_category, create_category, update_category, delete_category |
links | list, get, create, update, list_conversations |
message_template_folders | list, get, create, update, delete, list_children, create_child |
message_templates | list, get, create, update, delete |
messages | get, create, reply, import, receive_custom, get_seen_status, mark_seen |
rules | list, get, list_for_teammate, list_for_team |
shifts | list, get, create, update, list_teammates, add_teammates, remove_teammates |
signatures | list, get, update, delete, create_for_teammate, create_for_team |
tags | list, get, create, update, delete, list_children, create_child, list_conversations |
teammate_groups | list, get, create, update, delete, list_inboxes, add_inboxes, remove_inboxes, list_teammates, add_teammates, remove_teammates, list_teams, add_teams, remove_teams |
teammates | list, get, update, list_conversations, list_inboxes |
teams | list, get, add_teammates, remove_teammates |
token_identity | get |
See docs/TOOL_REFERENCE.md for the complete reference with policy tiers per action.
Every action is classified into a tier with a default decision:
| Tier | Default | Examples |
|---|---|---|
read | allow | list, get, search |
write | confirm | create, update, assign |
destructive | deny | delete, remove |
Write actions require a two-step confirmation: the first call returns a prompt, the second call with confirm: true executes. Destructive actions are denied by default.
Create ~/.front-mcp/policy.json:
Override precedence: specific action > tool wildcard > tier default.
| Variable | Required | Description |
|---|---|---|
FRONT_API_TOKEN | Yes (unless OAuth) | Front API token |
FRONT_MCP_AUTH_METHOD | No | oauth or api_token (default: api_token) |
FRONT_MCP_OAUTH_SECRET | Yes (if OAuth) | OAuth client secret |
FRONT_MCP_LOG_LEVEL | No | error, warn, info, debug (default: info) |
FRONT_MCP_POLICY_FILE | No | Path to custom policy JSON file |
The project includes 519 unit/integration tests and a 172-action live API test script (scripts/live-test-full.js).
package.json and server.jsonCHANGELOG.mdgit commit -m "chore: release vX.Y.Z"git tag vX.Y.Zgit push origin main --tagsNPM_TOKEN secret)mcp-publisher publishSee SECURITY.md for vulnerability reporting.
See CONTRIBUTING.md for setup, code standards, and PR process.
MIT
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/front-mcp)<a href="https://allmcps.com/mcp/front-mcp"><img src="https://allmcps.com/api/badge/front-mcp?style=directory" alt="Front MCP on AllMCPs" /></a>