Post from Claude Code
Connect PostWharf to Claude Code and publish or schedule to every network you run. The same MCP server from your terminal, so posting sits beside the rest of your work. Ten of the fourteen networks publish today; Reddit, Discord, Snapchat and WordPress are request-only: PostWharf cannot publish to them yet.
Connect it
claude mcp add --transport http \ wharf https://mcp.postwharf.com/mcp \ --header "Authorization: Bearer $POSTWHARF_KEY"
The key scopes every call to one workspace, so Claude Code can only ever act on the brand you hand it — not on every account you run. Find it in the dashboard under API keys.
Then just ask
"When CI goes green, post the release notes to X and LinkedIn."
The agent drafts and queues; the delivery receipt tells you what actually published, including if a post is removed by the platform afterwards. You keep the approval step.
What it can reach
Twenty-one tools: read the workspace and its channels, describe what each network accepts, connect a channel, upload media and describe an image, create a post, schedule one or a batch, save drafts, list and edit them, publish a draft, edit anything still in the queue, list the queue, cancel, check status, retry the networks that failed, read the receipt feed, and a health check. Full reference.
Where this actually happens
The terminal, in the repository the release is being cut from. This is the one client where publishing can be a step inside something else: cut the release, then announce it, without leaving the shell or reconstructing an hour later what the release contained.
Keep the key out of the repository
Put the workspace key in your environment rather than in a file the repository tracks. A key in a repo is a key in every clone of it, and rotating it afterwards means finding every machine that ever had one. The CLI and the MCP server read the same variable, so one rule covers both. If a post has to go out from CI, give CI its own key — then revoking it costs one build rather than every developer’s setup.