Gemini CLI + PostNinja

Schedule Social Media Posts with Gemini CLI

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.

  • Connect once with an API key
  • Draft, schedule and publish by asking
  • 7 platforms: X, Instagram, TikTok, Facebook and more

Setup

How do I connect PostNinja to Gemini CLI?

  1. 1

    Create an API key

    In PostNinja, go to Settings → API and create a key. It starts with pn_ and is shown once, so copy it somewhere safe.

  2. 2

    Add PostNinja to Gemini CLI

    Run this once:

    Terminal
    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)

    Or in settings.json
    {
      "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.

  3. 3

    Just ask

    Gemini CLI finds the PostNinja tools on its own. Try:

    • “Schedule a good-morning post on Threads and X for every weekday next week at 8am.”
    • “Write an Instagram caption for this photo and post it Saturday at 11am.”
    • “Show me my drafts.”

Tools

What can Gemini CLI do with PostNinja?

Write and schedule

Drafts posts, gives each platform its own text, and schedules them for any date and time.

Threads and Stories

Builds multi-post X threads and posts photos or videos as Instagram Stories.

Check what's planned

Lists upcoming posts, drafts and what went out, with links to the live posts.

Fix and reschedule

Moves, edits or deletes drafts and scheduled posts when plans change.

Add images

Uploads images to attach to posts. Larger files and video go through the REST API.

Spot failures

Reads each account's status and error, so it can tell you what didn't go out and why.

One connection, seven platforms

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

Gemini CLI and PostNinja questions

Can I keep the key out of a shared settings file?

Put the server in your user settings (~/.gemini/settings.json) rather than the project's, so the key stays on your machine.

Does Gemini CLI post without asking me?

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.

Is my API key safe?

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.

Which platforms can Gemini CLI post to?

Every account you've connected: X, Instagram, Threads, Facebook Pages, TikTok, YouTube Shorts and Pinterest.

Do posts scheduled by an AI agent cost extra?

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.

Works with other AI agents too

Let Gemini CLI run your social media.

Connect Gemini CLI to PostNinja in a couple of minutes. Plans from $15 a month.