Gemini CLI drafts it. You approve it. PostDelegate posts it.Medium: Markdown stories, on your profile or a publication.
How to post to Medium from Gemini CLI
- 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" } } } - Connect Medium in PostDelegate. Create one from your Medium security settings, if your account still offers them. Medium decides who can create tokens and owns that screen. If your account cannot create one, the connection cannot be made.
- Ask Gemini CLI for a draft. Describe the post in plain words. Gemini CLI checks your Medium 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 Medium 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 Medium story with a title and a subtitle from this outline, with a canonical URL to the original post.
- Schedule the story for Thursday at 8:00 in our publication, with up to four tags.
- Cross-post blog/2026-11-launch.md to Medium with the canonical URL set to our blog, as a draft.
What Gemini CLI can do on your Medium channel
- Check the rules first. Before writing, it reads your Medium 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 Medium settings of a post that has not gone out, and deletes posts you no longer want.
A Medium story needs a title and a subtitle, and PostDelegate asks for both so a scheduled story is never missing one. The body is written in Markdown, up to 100,000 characters, with optional tags (up to four) and an optional canonical URL for stories that first appeared elsewhere.
Medium settings Gemini CLI can fill in
| Setting | Notes |
|---|---|
| Title | Required, at least 2 characters. |
| Subtitle | Required, at least 2 characters. |
| Canonical URL | Optional. Use it when the story first appeared elsewhere. |
| Publication | Optional. Choose one of the publications you can post to. |
| Tags | Optional, up to 4. |
Before you start
- The connection needs a Medium integration token. Medium decides who can create tokens, so some accounts cannot connect.
- A story sent to a publication arrives as a draft for an editor, not as a published story.
The Medium channel guide has every field, and MCP tools lists exactly what an assistant can and cannot do.
Questions
Will Gemini CLI publish to Medium without asking me?
Do I need an API key to connect Gemini CLI?
Does it cost extra to use Gemini CLI with PostDelegate?
Can Gemini CLI attach images or video to a Medium post?
Do I need a Medium integration token?
Does a scheduled Medium story go live or stay a draft?
Medium from other assistants
Other networks from Gemini CLI
- YouTube
- Bluesky
- Mastodon
- Google Business Profile
- Telegram
- Discord
- Slack
- Tumblr
- Lemmy
- Nostr
- Twitch
- Kick
- Dribbble
- DEV.to
- WordPress
- Hashnode
- Listmonk (email)
Prefer to plan Medium posts yourself? See the Medium scheduler.