HeyMark

HeyMark's social media MCP server: run your brand from Claude or ChatGPT.

HeyMark's MCP server hands your assistant the real thing: your calendar, your inbox, your numbers. Ask for the week's drafts, move a post, reply to a comment, without leaving the conversation.

Connection URL

https://mcp.heymark.ai

Paste it into any MCP client that supports OAuth. You sign in with your own HeyMark account, so your assistant sees what you see and nothing else.

MCP access is free on every plan. Product actions retain their plan limits and AI credit costs; your client may charge separately.

Set it up once

Same URL everywhere. Connect your client, sign in, then ask it to list your brands.

Codex

Run this in your terminal.

codex mcp add heymark --url https://mcp.heymark.ai

If authorization is still needed, run codex mcp login heymark. Approve access in the browser, then ask Codex to list your brands.

Claude Desktop

  1. 1Open Claude, go to Settings, then Connectors.
  2. 2Choose Add custom connector.
  3. 3Paste the connection URL and save.
  4. 4Approve the access when HeyMark opens in your browser.

Claude Code

Run this in your terminal.

claude mcp add --transport http heymark https://mcp.heymark.ai

The first time you use it, your browser opens HeyMark to approve the access.

ChatGPT

  1. 1Open ChatGPT settings and go to Apps and Connectors.
  2. 2Turn on developer mode under Advanced settings.
  3. 3Add a new connector with the connection URL.
  4. 4Approve the access when HeyMark opens.

ChatGPT only runs actions, such as creating or publishing, while developer mode is on.

Compatible MCP clients use the same URL. There are no keys to generate and no application to register: your client registers itself the first time it connects.

Walkthrough: publish from a coding agent

What your assistant can do

Read your brand, then manage content, inbox, automations and reports. Use tools/list for the current schemas and the tools available to your permissions and client.

Read

36 tools
search
Find posts across the brands you can access.
fetch
Read the complete stored document for a search result.
list_brands
The brands your account can reach, and your role in each.
get_brand_context
A brand's identity, connected accounts, recent posts and recent content.
list_posts
The calendar: what is an idea, a draft, scheduled or published.
get_post_insights
Read views, reach, likes, comments and engagement for one post.
get_post_caption
Read the full caption of one post.
get_post_context
Read selected post details, saved settings and media import state.
get_post_planning_content
The complete stored idea, notes and video scripts for one post, in their original order.
get_post_tags
The planning labels assigned to one post.
get_account_overview
Connected accounts with followers, connection status and last sync.
list_automations
Your DM and comment automations, and whether each one is on.
get_automation
Read the saved configuration of one automation.
get_analytics_report
Read report overview, metrics, daily series, top posts and demographics in pages.
get_report_share
Read the current report sharing link and settings.
list_calendar_shares
List the brand's calendar sharing links.
get_automation_activations
Read activation switches by account and automation category.
get_dm_automation_settings
Read the brand's AI direct-message settings.
preview_comment_backlog
Preview stored comments eligible for an automation run.
get_comment_backlog_run
Read a comment processing run's progress and outcome.
list_comment_backlog_runs
Page through comment processing history.
get_inbox_overview
Unread counts and the conversations waiting on an answer.
list_inbox_messages
The brand inbox history across conversations, newest first.
get_conversation_messages
Page through the full message history of one inbox conversation.
list_inbox_conversations
Page through inbox conversations with supported filters.
list_inbox_escalations
List conversations escalated for human attention.
get_analytics_overview
The last N days: follower trend, totals against the previous period, top posts.
get_audience_demographics
Age, gender, country and city of the people who follow you.
get_post_comments
Page through stored public comments, including hidden state.
get_comment_moderation_settings
Read automatic comment moderation settings.
list_comment_moderations
Page through comments awaiting moderation.
get_team_comments
The private team discussion on one post.
list_brand_members
List brand members eligible for post assignment.
get_post_activity
Read a post's activity history.
get_post_media_analysis
Read stored media analysis, with continuation for long text.
open_post_media_manager
Open the media picker in clients that support inline MCP apps.

Write

49 tools
enable_report_shareAsks first
Enable a public report link after approval.
disable_report_share
Disable the public report link.
create_calendar_shareAsks first
Create a calendar link with dates, timezone and access settings.
revoke_calendar_share
Revoke access through a calendar link.
regenerate_calendar_shareAsks first
Replace a calendar link and invalidate its old URL.
create_automationAsks first
Create a brand-wide comment or direct-message automation.
update_automationAsks first
Update a brand-wide automation's saved configuration.
set_automation_activeAsks first
Enable or pause a brand-wide automation.
delete_automationAsks first
Delete a brand-wide automation after approval.
set_automation_activationAsks first
Change an account's supported automation activation.
update_dm_automation_settingsAsks first
Update the brand's AI direct-message settings.
start_comment_backlogAsks first
Start processing the approved set of existing comments.
mark_conversation_read
Mark a conversation as read.
set_conversation_tag
Assign or clear a conversation label.
pause_conversation
Pause AI replies in a conversation.
resume_conversationAsks first
Resume AI replies after approval.
resolve_inbox_escalationAsks first
Resolve an escalation with the approved follow-up behavior.
set_conversation_reactionAsks first
Add or remove a supported message reaction.
sync_inbox
Request an inbox sync and read the returned result.
set_comment_hiddenAsks first
Hide or show a supported public comment.
set_comment_reactionAsks first
Add or remove a supported public-comment reaction.
update_comment_moderation_settingsAsks first
Update automatic comment moderation settings.
resolve_comment_moderation
Resolve a moderation item without deleting its platform comment.
delete_moderated_commentAsks first
Delete a moderated comment from the platform after approval.
acknowledge_post_activity
Acknowledge the activity you have read.
set_post_assignee
Assign or unassign a brand member from a post.
update_post_planning
Edit internal planning, including on scheduled or published posts.
update_team_comment
Edit your own private team comment.
delete_team_comment
Delete your own private team comment.
set_team_comment_reaction
Add or remove a reaction on a team comment.
prepare_post_media_upload
Get a resumable upload grant and instructions for a local file.
attach_post_media
Attach an uploaded file by its returned storage path.
contribute_brand_profile_contextAsks first
Save approved additions or corrections to brand context.
create_post
Create planning content. Scheduling and publishing are separate actions.
duplicate_post
Copy a saved post into planning, preserving compatible media and settings.
create_team_comment
Add a private team comment or reply on a post.
update_post
Edit draft content, destinations, media order, covers and platform settings.
update_post_tags
Add, remove or create planning labels on a post.
upload_post_cover
Open the image picker for a Reel or TikTok video cover.
move_post_status
Move a post to a planning status from the brand's board.
reschedule_post
Move the planning date of an idea or draft.
unschedule_post
Pull a post back out of the queue.
update_post_automationAsks first
Change the automatic replies attached to one post.
schedule_post
Queue a post for a future date or move an existing schedule.
publish_postAsks first
Publish to the connected platform right now.
delete_postAsks first
Delete an idea or a draft for good.
reply_to_commentAsks first
Answer a comment in public.
delete_commentAsks first
Remove a comment from the platform.
reply_to_conversationAsks first
Send a direct message in an inbox thread.

Know what each action changes.

Read tools inspect state. Direct writes execute immediately. Actions marked Asks first require an approved preview.

  • Publishing now, platform replies and confirmed automation changes return a preview first. Scheduling executes directly and can publish later, so approve the date and content before requesting it.
  • Your brand permissions and content, inbox or analytics access apply to every call. Suspended workspace billing can pause access.
  • Disconnect or revoke access when needed. This does not cancel posts already scheduled or automations already enabled.
  • 60 tool calls a minute, so nothing on the other end can hammer your accounts.

For MCP client authors

Streamable HTTP, OAuth 2.1, discovery in the standard place. If your client follows the spec, there is nothing here to configure.

Endpoint
POST https://mcp.heymark.ai
Transport
Streamable HTTP, stateless
Authorization
OAuth 2.1 with PKCE, bearer token in the header
OAuth discovery
/.well-known/oauth-protected-resource
Registration
Dynamic, no manual client_id
Grants
authorization_code, refresh_token
Rate limit
60 tool calls per minute

Before you connect

Does it cost extra?
HeyMark does not charge a daily MCP fee. Product limits and any metered AI work still apply, including automated AI replies. Your MCP client may have its own subscription or usage charges.
Does it reach all my brands?
Every brand your account can read. Your assistant lists them and you choose; if you only have one, it's already chosen.
What happens if I disconnect it?
Only the access goes away. Your scheduled posts, automations and conversations stay exactly where they were.
Is there a REST API too?
Not yet. MCP is the way in today, and it covers reading and writing alike.

Connect it and ask it something.

Copy the URL, paste it into your client, approve the access. Then ask how last week went.