The posting layer you can hand to an agent.
Same clip. Six accounts.
One click.
Publishing to 6 channels…

Compose once, schedule, and publish everywhere.

Every account.
One post.

No card required · Connect your first 3 accounts in under a minute

postwharf — new post
4 of 12 channels selected
One upload

Every format, cut automatically

Drop a clip once. PostWharf reframes it for vertical, square and landscape, and writes a caption per network.

How it works

From draft to published in five steps

Connect your accounts once. Everything after that is one composer, one queue, one place to look when something breaks.

1

Connect accounts

OAuth into every network once. Tokens refresh themselves in the background.

2

Group by brand

Workspaces keep each brand's channels, drafts and queue cleanly separated.

3

Compose once

Write it once, then tune per-platform copy, crops and hashtags without retyping.

4

Schedule or ship

Publish immediately or drop it in a recurring slot. Retries are automatic.

5

Confirm it landed

Every post is verified live and links back. Failures alert you instead of going silent.

Hand the whole thing to your agent

PostWharf ships a CLI, a REST API and an MCP server. Point Claude at your workspace and it can draft, schedule and publish without you opening a tab.

$ npm i -g postwharf && wharf auth Copy
Claude CodeMCP clients Cron / n8nYour own scripts
Developers

Four ways in, one queue behind them

However you trigger a post — terminal, script, agent or dashboard — it lands in the same queue with the same delivery guarantees.

API

Workspace REST API

One key per workspace. Upload media, create posts, target any set of channels, read back the live URL.

POST /v1/posts
{ "text": "…", "channels": ["x_kevin","li_rm"] }
MCP

MCP server

Drops straight into Claude Code. Your agent sees your channels as tools and posts with your approval.

claude mcp add wharf -- wharf mcp
CLI

Command line

Pipe a caption from anywhere. Good for cron, good for a Studio export hook, good for muscle memory.

wharf post --all-brands \
  --media clip.mp4 --at "tue 9am"

Delivery receipts

The part every scheduler gets wrong. Each post is re-checked after publish, and a failure pings you.

wharf status --since 7d
✓ 41 live   ⚠ 1 retrying   ✗ 0 failed
Why it exists

Built because the alternatives bill per channel

Run six brands across five networks and the mainstream tools want $120–150 a month for the privilege.

FAQ

The questions that actually matter

Platforms

Everywhere you post

Text, image, carousel and video — including Reels, Shorts and TikTok — from the same composer.