Social posting for AI agents. A tiny command-line wrapper around the posthell MCP server, so an agent (Claude Code, OpenClaw, Cursor, or any tool that can run a shell command) can shape notes into posts, queue drafts, read your growth, and - when you allow it - publish to your non-X networks.
It is a thin proxy: every command hits the same /api/mcp endpoint an MCP client
would, with the same per-key auth and the same safety rules. The CLI adds no new
permissions of its own.
The npm package is posthell-cli; it installs a command called posthell.
Run it with npx (no install):
export PH_API_KEY=ph_your_key_here # from posthell Settings -> Agent access
npx posthell-cli postsOr install it globally, then use the posthell command:
npm install -g posthell-cli
posthell posts-
posthell draftnever publishes. It queues a draft you approve in the dashboard. -
posthell publishonly works if you flipped the key to Publishing in posthell Settings, and it only sends to your non-X networks. X is always saved as a draft for you to approve, because X posts cost money. The server enforces this - the CLI cannot override it.
| Variable | Purpose |
|---|---|
PH_API_KEY |
Your ph_... key from posthell Settings -> Agent access (required). |
PH_API_URL |
Override the endpoint. Defaults to https://www.posthell.com/api/mcp. |
posthell shape <notes> Turn rough notes into 2-3 post angles (uses your AI quota)
posthell draft <text> Queue a DRAFT for you to approve (never publishes)
posthell publish <text> Publish to your non-X networks (needs publishing enabled)
posthell posts List your recent posts and drafts
posthell growth Follower growth per network + where posting matters most
posthell accounts List your connected networks
posthell help | version
-c, --content <text> Post text (or pass it as the trailing argument)
-p, --platforms <list> Comma-separated, e.g. linkedin,threads,bluesky
-s, --schedule <iso> ISO 8601 time (default: now, for publish)
--status <status> Filter posts: draft|scheduled|posted|failed|partly_posted
-n, --limit <n> Max posts to list (default 15)
# Draft ideas from what you shipped
posthell shape "shipped dark mode today, three users had asked for it"
# Queue a draft to specific networks (you approve it later)
posthell draft "Dark mode is live." -p linkedin,threads
# Publish for real to LinkedIn now (key must have Publishing enabled)
posthell publish "Dark mode is live." -p linkedin
# Schedule for a specific time
posthell publish "Weekly build update ->" -p linkedin,bluesky -s 2026-07-08T15:00:00Z
# See what is queued, and where you are growing
posthell posts --status draft
posthell growthEvery command prints JSON on stdout (parse it with jq); errors go to stderr with a
non-zero exit code.
Any agent that can run shell commands can use this. Set PH_API_KEY in the agent's
environment and let it call posthell. For agents that auto-discover skills (OpenClaw,
Claude Code), this package ships a SKILL.md describing the commands and the
per-network rules.
See RECIPES.md for copy-paste setups: a daily build-in-public heartbeat, a pure-cron scheduled post, publish-everywhere-draft-X, a weekly growth recap, and draft-only mode.
Full docs: https://www.posthell.com/mcp