Skip to main content

MCP Server

Mixpost ships with a built-in MCP (Model Context Protocol) server that lets AI agents — such as Claude, Cursor, or any MCP-compatible client — manage your workspaces directly. An agent can list your connected social accounts, browse posts, tags and media, and create, schedule, publish, or clean up posts on your behalf, all through a single secure endpoint.

What is MCP?

The Model Context Protocol is an open standard for connecting AI assistants to external tools and data. The Mixpost MCP server exposes a set of tools that an AI agent can call to interact with your instance — no custom integration code required.

What you can do

With the Mixpost MCP server, you can ask your AI assistant to:

  • "Show me everything scheduled for next week"
  • "Draft a post for my X and LinkedIn accounts announcing our new feature"
  • "Write a thread for X about our roadmap and save it as a draft"
  • "Schedule my latest draft for Tuesday at 9am"
  • "Add this post to the publishing queue"
  • "Which social accounts are connected to my Acme workspace?"
  • "Create a 'Launch' tag and apply it to all my draft posts"
  • "Upload this image from a URL and attach it to a new post"
  • "Find my failed posts and tell me what went wrong"
  • "Duplicate last month's announcement and reschedule it for Friday"
  • "Move all the drafts from the old campaign to the trash"
  • "List the videos in my media library"

Authentication

The MCP server authenticates with an access token. To generate one, open Access Tokens from the user menu in your dashboard, click Create, give it a name, and copy the generated token (it is shown only once).

Screenshots:
Access Tokens - 1Access Tokens - 2Access Tokens - 3Access Tokens - 4

Connect your client

The MCP server is exposed over streamable HTTP at a single endpoint on your instance:

https://example.com/<MIXPOST_CORE_PATH>/mcp
warning

Replace <MIXPOST_CORE_PATH> with your specified MIXPOST_CORE_PATH. If you have not altered the MIXPOST_CORE_PATH environment variable, use the default value: mixpost.

Note: For the Lite package, use the value mixpost, if this integration is supported in Lite.

Point your MCP client at that URL and send your access token in the Authorization header. The exact configuration depends on your client.

Add the server with the Claude Code CLI:

claude mcp add --transport http mixpost https://example.com/mixpost/mcp \
--header "Authorization: Bearer <token>"

Verify the connection

Once your client is configured, confirm it works by asking your assistant to list your workspaces. If they come back, the endpoint and token are set up correctly and you can start working in any of them. If nothing happens, see Troubleshooting.

How it works

Everything in Mixpost is organised into workspaces, and almost every tool operates on a single workspace. Because of this, the workflow always starts the same way:

  1. Call list-workspaces to get the uuid of each workspace the token can access.
  2. Pass the chosen uuid as the workspace argument to every other tool.

For publishing, you then resolve the accounts to post to:

  1. Call list-accounts (with the workspace uuid) to get the numeric account IDs.
  2. Call create-post with the same workspace uuid and those account IDs.

Your agent receives these instructions automatically when it connects, so in practice you can simply ask it in natural language — for example, "Draft a post for next Tuesday at 9am on my LinkedIn and X accounts" — and it will chain the right tools together.

See the full Tools reference for everything the server can do.

Roles and permissions

The token owner's role in a workspace determines which tools they can use:

RoleRead (list / get)Create, update, schedule, delete
Viewer
Member
Admin

If a workspace requires post approval, posts scheduled or queued through the MCP server enter the needs approval state instead of being published immediately.

For security, a workspace the token cannot access is reported as "not found" — identical to a workspace that does not exist — so it is impossible to probe for other workspaces.

Timezones

All dates and times are stored in UTC. Most tools accept an optional timezone argument (an IANA identifier such as America/New_York or Europe/Chisinau) that controls how datetimes are interpreted in your input and formatted in the response. When omitted, it falls back to your account's configured timezone, then to UTC. Each response echoes the timezone it used.

Running into issues connecting or using the tools? See Troubleshooting.