The Heymarket MCP server is in beta. Endpoints, tools, and authentication may change. Try it on a non-critical team first and share feedback with Heymarket.
Outbound outreach and triage release
The tool surface grew from 12 to 34 tools. New in this release:
- Supervised broadcasts - draft a campaign to a list, review the recipient count, and submit it for human approval before anything sends
- Contact lists - create and manage the lists broadcasts send to
- Templates and team members - discover message templates and look up teammates
- Triage and search - list and count conversations across inboxes, full-text search over message bodies, and a conversation activity timeline
- Richer contact search - filter by tags, custom fields, lists, opt-out status, and assigned user
- Token creation opened to members - any team member (not just admins) can now create a Personal Access Token
What you can do
Once a client is connected, you can ask it to:- Browse inboxes - list the inboxes you belong to and look up inbox details
- Manage contacts - create, retrieve, update, delete, and search contacts, including by tag, custom field, list, opt-out status, or assigned user
- Send messages - send a message to a contact through an inbox
- Read and search history - pull a conversation’s message history or full-text search message bodies across your inboxes
- Triage conversations - list conversations longest-waiting first, count them by assignee, inbox, or status, and see a conversation’s assignment history
- Work conversations - assign a conversation to a team member or transfer it to another inbox
- Run broadcasts with approval - build an audience list, draft a broadcast, and submit it for a human admin to approve before it sends
Endpoint and transport
Connect your client to the Heymarket MCP server at:mcp-remote bridge, which runs the remote server as a local command.
Authentication
The MCP server authenticates each request with a Personal Access Token (PAT). A PAT is a long-lived credential scoped to one team member and one team. Every MCP request sends it as a bearer token:Create a Personal Access Token
You create a PAT from your profile in the Heymarket app. Any team member with a role of member or higher can create one; contacts and guests cannot.1
Open your profile
Log in to Heymarket, click your avatar in the bottom-left to open the account dropdown, and select Profile.
2
Scroll to Personal Access Tokens
On your profile page, scroll down past About and Two-Factor Authentication to the Personal Access Tokens section. Any existing tokens are listed here with their name, team, masked token value, creation date, and last-used timestamp.
3
Click Generate token
Click the Generate token button in the top-right of that section.
4
Fill in the token details
In the Generate personal access token modal:
- Token name - enter something descriptive, such as
Claude Desktop on laptop, so you recognize its purpose later. - Team - select the team the token should be scoped to. Each token is tied to exactly one team, and teams you already hold a token for are disabled in the dropdown — you can only hold one active token per team.
5
Generate and copy the token
Click Generate token. A Token created confirmation appears showing the token name, team, and the full token value starting with
hm_pat_. Click Copy right away — the full value is not shown again after you close the dialog.6
Store it and close
Paste the token somewhere secure — a password manager, or directly into the
HEYMARKET_PAT value of your MCP client configuration (covered in Connect a client) — then click Done.Token scope and limits
- One team per token. A PAT grants access to the single team it was created in, using your role and inbox access in that team.
- Member access required. You need a role of member or higher to create a token and use the tools. Contacts and guests cannot access team data through MCP. A token acts at your role:
approve_broadcastadditionally requires an admin or owner role. - One active token per team member. Each member can hold one active PAT per team. To replace a token, revoke the old one first, then create a new one.
- No expiry. A PAT stays valid until you revoke it. Revoke it from the Personal Access Tokens section of your profile if a device is lost or a team member leaves. Revocation takes effect on the next request.
Connect a client
Add the Heymarket server to your client’s MCP configuration, then restart the client. Replacehm_pat_REPLACE_WITH_YOUR_TOKEN with the token you created.
Clients that run the mcp-remote bridge need Node.js 18 or later so they can invoke npx.
- Claude Desktop
- Claude Code
- Cursor
- Other clients
Open your Keep the token in
claude_desktop_config.json file:Add the
heymarket server, then fully quit and reopen Claude Desktop:env rather than inline in args so it does not appear in process listings. After restarting, open a new chat and look for the tools indicator listing the Heymarket tools.Available tools
The server advertises 34 tools. Your client discovers them automatically after it connects. All tools require a role of member or higher;approve_broadcast requires admin or owner.
Inboxes
Conversations
Messages
Contacts
Lists
Templates and team members
Broadcasts
Tools that write data run only with your approval. Most MCP clients ask before invoking a tool that sends a message or changes a contact, list, or conversation, unless you allow that tool for the session.
How broadcasts stay supervised
Every broadcast sent through MCP requires human approval — an AI agent cannot mass-message on its own. The flow has three gates:1
Draft
create_broadcast creates a draft and sends nothing. It returns the recipient count with opted-out contacts already filtered, sample recipients, and a preview of the message so a person can review what would go out.2
Confirm the count
send_broadcast requires expected_recipient_count to match the count shown on the draft. If the live count has changed — for example, contacts opted out since drafting — the call is rejected with the new count, forcing a fresh review. On success the broadcast moves to pending approval; still nothing sends.3
Human approval
A team admin or owner approves the pending broadcast with
approve_broadcast (or rejects it with cancel_broadcast, which returns it to draft). Only after approval does the broadcast send.create_broadcast and create_list accept an optional idempotency_key, and resubmitting or re-approving an already-processed broadcast returns success with idempotent_replay: true instead of acting twice.
Prompts
The server also publishes two MCP prompts — guided workflows your client can offer alongside the tools:launch_campaign- walks the client through building an audience, composing a message, creating a draft broadcast, reviewing the filtered recipient count with you, and submitting it for approvalreview_pending_broadcast- renders a pre-send review of a broadcast awaiting approval: recipients, message, and the exact approval step. Run it before approving.
Rate limits
Repeated authentication failures are throttled. After about 30 failed attempts in a minute, the server returns HTTP429 Too Many Requests. This usually means the token is wrong or revoked, rather than that you are sending too many valid requests. Fix the token, then wait for the throttle window to pass before retrying.
Security best practices
- Store the token only in your MCP client configuration. Do not commit it to source control or paste it into shared documents.
- A PAT acts as your account’s access for the team it was created in, at your role. Anyone with the token can act as you in that team.
- Revoke a token immediately from the Personal Access Tokens section of your profile when a device is lost, a team member leaves, or you suspect the token leaked. Revocation takes effect on the next request.
- Rotate a token by revoking the old one and creating a new one. There is no separate refresh step.
Troubleshooting
The client does not show the Heymarket tools
The client does not show the Heymarket tools
Confirm the configuration file is valid JSON and points to
https://mcp.heymarket.com/mcp. Most clients read MCP configuration only at startup, so fully quit and reopen the client after editing it. In Claude Desktop, check Settings > Developer for MCP server startup errors.Requests return 429 Too Many Requests
Requests return 429 Too Many Requests
Too many authentication attempts failed in a short window. This is almost always a bad or revoked token. Stop retrying with the failing token, fix it, then wait for the throttle window to pass before trying again.
Creating a token is blocked
Creating a token is blocked
Creating a Personal Access Token requires a role of member or higher — contacts and guests cannot create one — and each member can hold only one active token per team. If creation is blocked, revoke your existing token for that team first, or ask a team admin to grant the needed role.