# HeyMark 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.

Every plan includes it, and it doesn't spend your Mark chats. 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.

## Set it up once

Same URL everywhere. Pick your client and follow the four lines.

### Claude Desktop

1. Open Claude, go to Settings, then Connectors.
2. Choose Add custom connector.
3. Paste the connection URL and save.
4. Approve 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. Open ChatGPT settings and go to Apps and Connectors.
2. Turn on developer mode under Advanced settings.
3. Add a new connector with the connection URL.
4. Approve 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.

## What your assistant can do

Read your brand, then plan and update its content, inbox and publishing workflow.

### Read (17)

- `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`: Views, reach, likes, comments and engagement rate for one post.
- `get_post_caption`: The full caption of one post.
- `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_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`: The messages inside one inbox thread.
- `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`: The comments stored on one post.
- `get_team_comments`: The private team discussion on one post.
- `get_post_media_analysis`: The transcript and visual description of a post's media, with its media manager.

### Write (15)

- `create_post`: Create an idea or draft with its caption and planning content.
- `create_team_comment`: Add a private team comment or reply on a post.
- `update_post`: Update an idea or draft's planning content, caption, people or date.
- `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_automation` (Asks first): Change the automatic replies attached to one post.
- `schedule_post` (Asks first): Queue a post for a future date or move an existing schedule.
- `publish_post` (Asks first): Publish to the connected platform right now.
- `delete_post` (Asks first): Delete an idea or a draft for good.
- `reply_to_comment` (Asks first): Answer a comment in public.
- `delete_comment` (Asks first): Remove a comment from the platform.
- `reply_to_conversation` (Asks first): Send a direct message in an inbox thread.

## Nothing goes out without you.

Your assistant can prepare the whole thing. What reaches the public still waits for your word.

- Publishing, scheduling, deleting, replying in public and touching an automation come back as a preview first, and only run once you approve them.
- The connection carries your HeyMark permissions. A brand you can't open in the app, your assistant can't open either.
- Revoke it from your client whenever you want, and the next request stops at the door.
- 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?

No. Every plan includes it, and it doesn't count against your Mark chats or replies: these tools read and write your data, they don't run a model.

### 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.

## Developer and agent resources

- [HeyMark MCP documentation](https://heymark.ai/en/mcp/)
- [llms.txt](https://heymark.ai/llms.txt)
- [Full site content for language models](https://heymark.ai/llms-full.txt)
- MCP protocol endpoint: `POST https://mcp.heymark.ai`
- OAuth protected-resource metadata: [/.well-known/oauth-protected-resource](https://mcp.heymark.ai/.well-known/oauth-protected-resource)
- MCP server card: [/server-card](https://mcp.heymark.ai/server-card)
