Gemini CLI + Nostr

Post to Nostr from Gemini CLI

Connect Gemini CLI to PostDelegate once, then ask it for Nostr posts from Google’s Gemini CLI in your terminal. Ask for a draft and it waits on your calendar until you schedule it.

Gemini CLI drafts it. You approve it. PostDelegate posts it.Nostr: Notes sent to a set of public relays.

How to post to Nostr from Gemini CLI

  1. Add PostDelegate to Gemini CLI. Add the server to ~/.gemini/settings.json as below. Sign in with PostDelegate when Gemini CLI prompts you.

    ~/.gemini/settings.json

    {
      "mcpServers": {
        "postdelegate": {
          "url": "https://app.postdelegate.com/mcp-oauth-dynamic"
        }
      }
    }
  2. Connect Nostr in PostDelegate. Many Nostr clients and sites such as iris.to can show or convert your key to hex. It is a long string of letters a to f and numbers, not the nsec form.
  3. Ask Gemini CLI for a draft. Describe the post in plain words. Gemini CLI checks your Nostr channel's rules, creates the post and sends back a preview link.

Teach Gemini CLI the posting rules

Save PostDelegate’s AGENTS.md in your repository and point to it from your GEMINI.md, so Gemini CLI follows the posting rules there. Agent files has the steps.

What to ask Gemini CLI

Mention any Nostr setting in plain words and Gemini CLI fills it in. Gemini CLI can also read text files in your project, such as a changelog or a draft in Markdown.

  • Draft a Nostr note about this week’s release and show me the preview before scheduling.
  • Schedule a note for tomorrow at 8:00: “Good morning. New episode is out.”
  • Summarise the changes in CHANGELOG.md as a short Nostr note, as a draft.

What Gemini CLI can do on your Nostr channel

  • Check the rules first. Before writing, it reads your Nostr channel's length limit and required settings.
  • Draft, schedule or post. It creates a draft, a scheduled post or an immediate post, and runs the same checks as the app.
  • Use your media. It attaches files from your media library or adds one from a public link.
  • Review and fix. It lists what is scheduled, changes the Nostr settings of a post that has not gone out, and deletes posts you no longer want.

Nostr has no accounts to sign in to, so a connection means handing PostDelegate a key that can sign notes for you. PostDelegate works out the public key, then looks up your profile name and picture on the relays. If it finds none, the channel is named No Name, and posting still works.

Before you start

  • Your private key controls your whole Nostr identity and is stored on the service so PostDelegate can sign notes. Consider a separate key pair just for scheduling.
  • Nostr has no way to revoke a key, so only connect one you are comfortable with.

The Nostr channel guide has every field, and MCP tools lists exactly what an assistant can and cannot do.

Questions

Will Gemini CLI publish to Nostr without asking me?
Not unless you ask it to. Ask for a draft and the post waits on your calendar until you schedule it, and your workspace's approvals apply as usual. Tools that change data are marked as such, so Gemini CLI can ask you before it schedules or deletes anything.
Do I need an API key to connect Gemini CLI?
No. Gemini CLI signs in with your PostDelegate account through your browser. An API key is only for clients that cannot sign in, as described in MCP clients.
Does it cost extra to use Gemini CLI with PostDelegate?
No. The MCP server is on every plan, and Gemini CLI runs on your own Gemini CLI account, so PostDelegate never charges for AI. Every plan starts with a 7-day free trial with no card.
Can Gemini CLI attach images or video to a Nostr post?
It can use files already in your media library, or add one from a public link. It cannot fetch files from your computer, so upload those in the app first. See MCP tools.
Is it safe to give PostDelegate my Nostr private key?
Your private key controls your whole Nostr identity, and PostDelegate needs it to sign notes for you, so it is stored on the service. If that is more than you want to hand over, create a separate key pair just for scheduling. Nostr has no way to revoke a key, so only connect one you are comfortable with.
Which relays does PostDelegate publish to?
Each note is sent to nos.lol, relay.damus.io, relay.snort.social, temp.iris.to and vault.iris.to. The note counts as published when a relay accepts it.

Nostr from other assistants

Other networks from Gemini CLI

Prefer to plan Nostr posts yourself? See the Nostr scheduler.

Try it for 7 days

Your next great post starts here.

Give your ideas a home. Plan your content, find your rhythm, and bring your social channels together.

Start your 7-day free trial

No credit card required

Add a card before the trial ends to keep your plan.