
Company News
AWS Security Hub Adds Socket for Supply Chain Security
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.
@houst-com/front-mcp
Advanced tools
Secure, fully-featured MCP server for the Front Platform API — 26 tools, 200+ actions, OAuth support, configurable policy engine
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):
{
"mcpServers": {
"front": {
"command": "npx",
"args": ["-y", "@houst-com/front-mcp"],
"env": {
"FRONT_API_TOKEN": "your-front-api-token"
}
}
}
}
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:{
"auth": {
"method": "oauth",
"oauth": {
"client_id": "your-client-id",
"client_secret_env": "FRONT_MCP_OAUTH_SECRET",
"redirect_port": 9876,
"scopes": []
}
}
}
{
"mcpServers": {
"front": {
"command": "npx",
"args": ["-y", "@houst-com/front-mcp"],
"env": {
"FRONT_MCP_AUTH_METHOD": "oauth",
"FRONT_MCP_OAUTH_SECRET": "your-oauth-client-secret"
}
}
}
}
npx @houst-com/front-mcp auth to authenticate (opens browser).front-mcp auth # Start OAuth flow
front-mcp auth --status # Check auth state (no token values shown)
front-mcp auth --clear # Remove stored tokens
front-mcp --version # Show version
front-mcp --help # Show usage
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:
{
"defaults": {
"read": "allow",
"write": "allow",
"destructive": "confirm"
},
"overrides": [
{ "tool": "conversations", "action": "delete", "decision": "deny" },
{ "tool": "tags", "action": "*", "decision": "allow" }
]
}
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 |
git clone https://github.com/wearehoust/front-mcp.git
cd front-mcp
npm install
npm test # 519 tests
npm run lint # ESLint strict
npm run type-check # TypeScript strict
npm run build # Compile to dist/
npm test # Unit + integration tests
npm run test:watch # Watch mode
npm run test:coverage # Coverage report
npm run smoke # Smoke test (builds, starts, verifies 26 tools)
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
FAQs
Secure, fully-featured MCP server for the Front Platform API — 26 tools, 200+ actions, OAuth support, configurable policy engine
We found that @houst-com/front-mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.

Research
/Security News
Popular npm packages keyv and cacheable compromised.

Security News
A misconfiguration gave three Anthropic models internet access, and one, believing it was in a simulation, shipped a credential-stealing package to PyPI.