Write and schedule
Drafts posts, gives each platform its own text, and schedules them for any date and time.
Gemini CLI + PostNinja
Add PostNinja to Gemini CLI and ask it to write, schedule and check your social posts from the terminal, with a different version for every platform.
Setup
In PostNinja, go to Settings → API and create a key. It starts with pn_ and is shown once, so copy it somewhere safe.
Run this once:
gemini mcp add --transport http --header "Authorization: Bearer pn_YOUR_KEY" postninja https://postninja.app/api/mcp~/.gemini/settings.json (or .gemini/settings.json in a project)
{
"mcpServers": {
"postninja": {
"httpUrl": "https://postninja.app/api/mcp",
"headers": { "Authorization": "Bearer pn_YOUR_KEY" }
}
}
}Replace pn_YOUR_KEY with a key from Settings → API.
Use "httpUrl" (not "url", which means the older SSE transport). Gemini CLI doesn't expand environment variables in headers, so paste the key itself.
Gemini CLI finds the PostNinja tools on its own. Try:
Tools
Drafts posts, gives each platform its own text, and schedules them for any date and time.
Builds multi-post X threads and posts photos or videos as Instagram Stories.
Lists upcoming posts, drafts and what went out, with links to the live posts.
Moves, edits or deletes drafts and scheduled posts when plans change.
Uploads images to attach to posts. Larger files and video go through the REST API.
Reads each account's status and error, so it can tell you what didn't go out and why.
Connect your accounts in PostNinja once. From then on Gemini CLI can post to any of them, and PostNinja publishes at the time you set.
FAQ
Put the server in your user settings (~/.gemini/settings.json) rather than the project's, so the key stays on your machine.
That depends on Gemini CLI's own settings; most ask before each tool call. If you'd rather review everything, ask it to save posts as drafts, then schedule them from the PostNinja calendar.
PostNinja only stores a hash of each key and shows its first characters so you can tell keys apart. A key works for one workspace, and you can revoke it any time under Settings → API.
Every account you've connected: X, Instagram, Threads, Facebook Pages, TikTok, YouTube Shorts and Pinterest.
No. They're ordinary posts on your plan. As always, X posts use credits (10 each, 80 with a link) because X charges for every post; other platforms are unlimited.
Connect Gemini CLI to PostNinja in a couple of minutes. Plans from $15 a month.