Skip to main content
You need a PublishBuddy account on Pro or Business (a 14-day trial works) and at least one connected profile.

1. Create an API token with the MCP ability

1

Open the dashboard

2

Go to User Settings → Login & Security

Click your avatar → User Settings, then open the Login & Security tab.
3

Generate a token

Click Generate API token, give it a name such as claude-code, and tick the MCP (AI clients) ability. Tick the REST abilities too only if the same token will also call the REST API.
4

Copy the value

You see the token once. Store it in a password manager or an environment variable. The examples below assume PUBLISHBUDDY_TOKEN.
Treat the token like a password. Anyone holding it can draft and schedule posts to every profile you can access. Revoke it from the same screen if it leaks.

2. Add the server to your client

The server speaks Streamable HTTP, so clients that support remote MCP servers connect directly. Clients that only launch local (stdio) servers, such as Claude Desktop, connect through the mcp-remote bridge.
  • Claude Code: the CLI command stores the server in your user config. A project-level .mcp.json in the repo root is shared with anyone who clones it, so keep the token in an environment variable there.
  • Cursor: .cursor/mcp.json in a project, or ~/.cursor/mcp.json for every project.
  • VS Code: .vscode/mcp.json in a workspace. The inputs block prompts for the token once and stores it securely.
  • Windsurf: ~/.codeium/windsurf/mcp_config.json.
  • Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows. Restart the app after editing.
npx must be launched through cmd on Windows:
The header is written as Authorization:${AUTH_HEADER} without a space on purpose. Claude Desktop splits arguments on spaces, so the space lives inside the environment variable instead.
Any client that supports remote MCP servers over Streamable HTTP with custom headers can connect: set the URL to https://api.publishbuddy.com/mcp and add an Authorization: Bearer <token> header. Clients that only support OAuth sign-in for remote servers, such as ChatGPT connectors and Claude.ai web connectors, are not supported yet.

3. Verify the connection

Ask your assistant something that needs a tool:
You should see it call list_profiles and reply with your connected accounts. Most clients ask for permission before running a tool the first time. Approve it, and optionally allow the read-only tools permanently so you are only asked when something changes.

4. Choose a workspace (optional)

Requests run against your active workspace, the one you last used in the dashboard. If you belong to several workspaces and want a client pinned to one of them, add an X-Workspace-Id header with that workspace’s UUID (from GET /workspaces on the REST API, or from the workspace switcher URL in the dashboard):
Configure the server twice under different names to switch between workspaces from the same client.

5. Try a real task

The assistant will call get_top_posts, then create_post (which makes a draft), then schedule_post. Creating a post never publishes anything on its own; scheduling or queueing is always a separate call, and your client asks before each one unless you have allowed it.

Troubleshooting

Next

Tool reference

Every tool, its inputs, and its credit cost.

REST API quickstart

The same actions over plain HTTP, for pipelines and integrations.