OpenClaw: Create and Publish Social Media Posts
OpenClaw is the agent you text. That makes it the most natural way to run social media from your phone: send “post the new menu photo on Instagram tomorrow at 8” from WhatsApp, and the agent on your computer does the rest. Add a media generator and a publishing tool, and it can create the visual too.
The core flow is the same as in my Claude guide. What is different with OpenClaw is the CLI setup, one transport gotcha, and the fact that it runs where your files are.
You text, OpenClaw works, PostSider publishes
OpenClaw sits between your chat app and your tools. The generator makes the media, PostSider stores it and publishes it.
Add the servers with openclaw mcp set
OpenClaw stores outbound MCP servers under mcp.servers in ~/.openclaw/openclaw.json. The CLI writes that for you, one JSON object per server.
# PostSider: hosted MCP, OAuth
openclaw mcp set postsider '{"url":"https://mcp.postsider.com/mcp","transport":"streamable-http","auth":"oauth"}'
# fal.ai: official hosted fal MCP, sign in with your fal account
openclaw mcp set fal '{"url":"https://mcp.fal.ai/mcp-relay","transport":"streamable-http","auth":"oauth"}'
# Higgsfield (optional): hosted MCP, uses your plan credits
openclaw mcp set higgsfield '{"url":"https://mcp.higgsfield.ai/mcp","transport":"streamable-http","auth":"oauth"}'
Then log in and probe each one:
openclaw mcp login postsider
openclaw mcp doctor postsider --probe
OpenClaw loads MCP servers when the gateway starts, so restart the gateway after adding them. The details are in OpenClaw’s docs on MCP transports and OAuth and connecting MCP servers. For Higgsfield, its help center also offers a CLI that OpenClaw can install instead of the MCP route.
The gotcha: set the transport. If you leave transport out, OpenClaw falls back to SSE. PostSider, fal.ai and Higgsfield speak Streamable HTTP, so the connection fails with an error that does not say why. Setting "transport":"streamable-http" fixes it. ("http" also works; OpenClaw normalizes it.)
On a server without a browser, swap OAuth for key-based endpoints and keep the keys in environment variables:
openclaw mcp set postsider '{"url":"https://api.postsider.com/mcp","transport":"streamable-http","headers":{"Authorization":"Bearer ${POSTSIDER_API_KEY}"}}'
openclaw mcp set fal '{"url":"https://mcp.fal.ai/mcp","transport":"streamable-http","headers":{"Authorization":"Bearer ${FAL_KEY}"}}'
The PostSider key is under Settings, then Developers, then Public API. It can publish to every connected account, so never paste it into a chat or commit it.
Hide the tools a personal agent should not have
OpenClaw supports include and exclude filters per server. A social media helper needs to create posts, not delete them or stop all publishing.
Exclude postsider_delete_post, postsider_delete_media, postsider_pause_publishing and postsider_disconnect_channel in the PostSider server’s tool filter. An agent you text from a bar at midnight should not have a “pause the whole organization” button within reach. Check openclaw mcp doctor postsider afterwards to confirm the tool list.
Two ways in: a generated image or a photo you send
OpenClaw can post media from two sources, and the PostSider tool differs for each. Generated files come with a public link. Photos you text it are local files on the machine.
Generated media. fal.ai or Higgsfield returns a URL. OpenClaw calls postsider_upload_media_from_url, PostSider copies the file into its media library and returns an id and path. Do it every time: generator links are temporary, and fal’s results carry a note that source URLs may expire.
Your own photo. The picture you sent from WhatsApp lands as a file where OpenClaw runs. Because OpenClaw has a shell, it can use PostSider’s upload-from-machine flow: postsider_prepare_upload returns an upload command, the agent runs it for that file, and postsider_finalize_upload registers it. This is the route chat-only apps cannot take.
The seven steps under every message
However short your text, OpenClaw runs the same sequence:
- Brief: your message, sometimes with a photo.
- Generate: fal.ai or Higgsfield, only if you did not send media.
- Review: OpenClaw sends you the image or video link to check on your phone.
- Store:
postsider_upload_media_from_urlfor generated files, the prepare/finalize upload pair for local ones. - Rules:
postsider_get_channel_rules. Instagram needs apost_type, TikTok a privacy level and its interaction switches, YouTube a title, X a reply setting. - Draft:
postsider_create_postwithtype: draft. - Read back:
postsider_get_post, and a short summary to your chat.
One warning: PostSider publishes to TikTok with direct posting, so a scheduled TikTok post goes live when it fires, with no TikTok inbox step. Keep TikTok posts as drafts until you have watched the clip.
File limits (images up to 10 MB, MP4 up to 500 MB, MOV and WebM only on TikTok) and a fal.ai cost chart are in the Claude guide.
Messages that work
OpenClaw is chat-first, so short, explicit messages work best. Name the networks, the time and “draft”.
[photo] Instagram + Facebook post tomorrow 8:00, caption in our usual tone,
max 150 characters. Draft only, send me the summary.
Make a 4:5 image with fal.ai for this week's offer: OFFER.
Black and white, no text in the image. Send it to me first.
If I say ok, draft it for Instagram and LinkedIn at the next free slots.
Every Monday at 9, ask me for 3 topics, generate one image per topic
with fal.ai, and create PostSider drafts in the next free slots.
Never schedule or publish without my "go".
Start with one draft
Add PostSider with the transport set, log in, probe it, and send your agent one photo to draft. Once that works from your phone, add a generator.
You can start with PostSider for free and connect your social media accounts in a few minutes. The full tool reference is in the PostSider MCP docs.
Frequently asked questions
How do I add PostSider to OpenClaw?
Run openclaw mcp set postsider with a JSON object containing the url https://mcp.postsider.com/mcp, transport streamable-http and auth oauth, then openclaw mcp login postsider and openclaw mcp doctor postsider --probe to confirm it responds. Restart the gateway if the tools do not appear.
Why does OpenClaw fail to connect to a remote MCP server?
The most common cause is a missing transport. If transport is omitted, OpenClaw falls back to SSE, while PostSider, fal.ai and Higgsfield speak Streamable HTTP. Set transport to streamable-http explicitly and restart the gateway.
Can I send OpenClaw a photo from my phone and have it posted?
Yes. OpenClaw runs on your own machine with shell access, so it can use PostSider's prepare-upload flow: postsider_prepare_upload returns an upload command, the agent runs it for the received photo, and postsider_finalize_upload registers the file for the post.
Is it safe to give a personal agent publishing access?
Limit what it can do. Use OpenClaw's tool filters to hide PostSider's delete, pause and disconnect tools, and tell it to create drafts only. You approve in the PostSider calendar before anything is scheduled.