1. Create an API token with the MCP ability
1
Open the dashboard
Sign in at app.publishbuddy.com.
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.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 themcp-remote bridge.
Where each config file lives
Where each config file lives
- Claude Code: the CLI command stores the server in your user config. A project-level
.mcp.jsonin the repo root is shared with anyone who clones it, so keep the token in an environment variable there. - Cursor:
.cursor/mcp.jsonin a project, or~/.cursor/mcp.jsonfor every project. - VS Code:
.vscode/mcp.jsonin a workspace. Theinputsblock prompts for the token once and stores it securely. - Windsurf:
~/.codeium/windsurf/mcp_config.json. - Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.jsonon macOS,%APPDATA%\Claude\claude_desktop_config.jsonon Windows. Restart the app after editing.
Claude Desktop on Windows
Claude Desktop on Windows
npx must be launched through cmd on Windows:Authorization:${AUTH_HEADER} without a space on purpose. Claude Desktop splits arguments on spaces, so the space lives inside the environment variable instead.Other clients
Other clients
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: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 anX-Workspace-Id header with that workspace’s UUID (from GET /workspaces on the REST API, or from the workspace switcher URL in the dashboard):
5. Try a real task
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.