planpo.st
ProductAgentsPricingBlog
Sign inStart free
planpo.st

The social scheduler your agent can run. Seven networks, post analytics, and revenue next to the post that earned it.

Product

  • Scheduler
  • For creators
  • Compare tools
  • Alternatives
  • Pricing

Channels

  • Instagram
  • LinkedIn
  • X (Twitter)
  • Threads
  • Facebook
  • YouTube
  • TikTok
  • All channels

AI agents

  • MCP server
  • For AI agents
  • Claude Code
  • Cursor
  • ChatGPT
  • Gemini CLI
  • All agents

Revenue

  • Revenue tracking
  • Revenue attribution
  • Stripe
  • Shopify
  • RevenueCat
  • All integrations

Resources

  • Docs
  • MCP tools
  • API reference
  • Blog
  • SnapStudio
  • About
  • Support
  • Contact
  • Privacy
  • Terms

Compare planpo.st

  • planpo.st vs Postiz
  • planpo.st vs Buffer
  • planpo.st vs Hootsuite
  • planpo.st vs Later
  • planpo.st vs Sprout Social
  • planpo.st vs SocialBee
  • planpo.st vs Planable
  • planpo.st vs Metricool
  • planpo.st vs Loomly
  • planpo.st vs Publer
  • planpo.st vs Post Bridge
  • planpo.st vs Mixpost
  • planpo.st vs Blotato
  • planpo.st vs Typefully
  • planpo.st vs RecurPost
  • planpo.st vs Post Planner
  • All comparisons
  • Alternatives
© 2026 planpo.st. All rights reserved.
  1. Home
  2. /AI agents
  3. /Codex CLI

Codex writes the code. It can write the announcement too.

Codex CLI is OpenAI's terminal agent, and if it is already in your shell finishing tasks, the announcement of those tasks is one MCP server away. Two lines of TOML and planpo.st's tools show up next to everything else Codex can do.

Start freeRead the setup guide

Free plan, no card: 2 accounts, 30 posts a month, your agent included. X needs a paid plan.

Connect OpenAI Codex CLI

Hosted

[mcp_servers.planpost]
url = "https://mcp.planpo.st/mcp"
bearer_token_env_var = "PLANPOST_API_KEY"

~/.codex/config.toml, or .codex/config.toml in a trusted project

Create an API key on the Agent page in planpo.st and put it where the config says. Its posts go out at the time the agent sets, unless you turn on approval for the key.

What is Codex CLI?

It works like every client here: the agent drafts and schedules, you approve if you turned approval on, the post goes out. Links in posts are tracked, so on Pro a payment that follows a click shows up next to the post that caused it.

Codex CLI is OpenAI's open-source coding agent for the terminal, configured in TOML at ~/.codex/config.toml. It supports MCP servers over both stdio and streamable HTTP, and codex mcp add does the config edit interactively if you prefer.

What can you ask Codex CLI to do in planpo.st?

Plain requests work. Each one below is something you could send today, and what happens next.

Post the ship log

You say

Summarize what we shipped this week from the git log and schedule it as a LinkedIn post Friday 4pm.

What happens

Codex reads the log, writes a shipping update that sounds like a person, and create_post books it for Friday. The changelog link is tracked, so on Pro a payment that follows a click shows up next to that post.

Same news, right shape everywhere

You say

Take RELEASENOTES.md and schedule versions for X, LinkedIn and Threads tomorrow morning.

What happens

Three drafts, each inside its platform's limit (280, 3,000 and 500 characters), the link on LinkedIn and Threads and none on X, one morning slot each. preview_post shows what each network will receive before anything is booked.

Check the week in the same terminal

You say

How much revenue came in last week, compared with the week before?

What happens

get_revenue_overview answers with the total, the conversions and the change. If the answer is zero, that is worth knowing too, and it is a real zero from payment data rather than a shrug.

Attach a screenshot from the repo

You say

Attach docs/img/export.png to the release post.

What happens

upload_media returns an upload URL, Codex sends the file with one shell command, and the returned asset goes into the post's media. LinkedIn, Threads and X show it.

Publish the draft now

You say

The hotfix is live. Publish the draft about it right away.

What happens

list_posts finds the draft and publish_post sends it to every connected network on it immediately. The result reports each network separately, so a failure on one is visible.

One idea, three lengths

You say

Post this to X, Threads and LinkedIn, each in the length that network takes.

What happens

A single create_post with platformContent holding a 280-character cut for X, a 500-character one for Threads and the long version for LinkedIn. preview_post confirms each count before the slot.

Which networks can Codex CLI post to?

All 7 that planpo.st publishes to. Each network has its own rules, and each pairing has its own page with the settings table, three prompts and the limits that stop a post.

Codex CLI to Threads

Short posts, 500 characters, one image or video, clickable links.

A one-line prompt after a merge is enough for a Threads post: what shipped, in plain words, under 500 characters.

Codex CLI to LinkedIn

Profile or company page, 3,000 characters, up to 9 images or one video.

The agent that merged the change can explain it on LinkedIn, with room for 3,000 characters and a link that stays clickable.

Codex CLI to Instagram

Feed posts, carousels up to 10, Reels and Stories. Media on every post.

Codex CLI runs the upload from your shell, so an image in the repo becomes an Instagram post without a visit to the dashboard.

Codex CLI to X

Posts and threads, 280 characters, images or video, no links.

Codex CLI finishes the task, then writes the post about it. On X that means 280 characters and no URL.

Codex CLI to Facebook

Page posts with link cards, photo sets, video and Reels.

Release notes to the Page. Codex CLI reads RELEASE_NOTES.md and schedules a post with the link to the full version.

Codex CLI to YouTube

Video uploads and Shorts with title, description, tags and visibility.

Codex CLI uploads the demo file from disk and fills the YouTube fields from the code it has been working in all session.

Codex CLI to TikTok

Video posts, 2,200 character captions, a privacy level on every post.

Codex CLI uploads the clip and schedules it, and it is told at create time, not at publish time, when the privacy level is missing.

Which tools does Codex CLI get?

The same list on the hosted and the local server. Grouped by the job they do, with the ones Codex CLI reaches for most:

JobToolsWhat that covers
Posts and schedulingcreate_post, bulk_create_posts, update_post, preview_post, get_best_times, suggest_scheduleDraft, schedule and reschedule, one post or up to 50 in a call. Each network can get its own text, media and settings, and every post can wait for your approval if you turn that on.
What is queued and what failedlist_posts, get_post, list_campaigns, get_delivery_report, retry_failed, list_pending_approvalsFilter the queue by status, network or campaign. Failed posts come back with the error and the fix, and a passing failure can be sent again.
Analyticsget_analyticsImpressions, likes, comments and shares for published posts, on Creator and Pro.
Revenueget_revenue_overviewRevenue totals, conversions and the trend from Stripe, Shopify or RevenueCat, on Creator and Pro. Revenue next to each post is on Pro.
Accountslist_connections, get_connection_link, list_account_groups, get_account_groupFind the accounts to post to, and hand you the link to connect a new one.

Every tool with its description is in the MCP tool reference.

How do I stop Codex CLI from publishing something I have not read?

Turn on approval. By default Codex CLI's posts go out at the time it sets. Switch on “Ask me before anything goes live” when you connect it, or any time on the Agent page, and every post it writes waits in Posts, under In review, until you approve it. With an API key, the switch is “Require approval before publishing”, in the key's row on the Agent page. Codex CLI cannot change either setting itself.

Ask for drafts, if you want less than that. A post created without a time is a draft, and nothing leaves planpo.st until it is scheduled.

Scope the key. With an API key, permissions such as posts:read and posts:write decide what it can touch, so a key without posts:write lets Codex CLI read the calendar and the numbers and change nothing.

What happens when Codex CLI writes a post a network would reject?

It finds out when the post is created, not two weeks later when the slot arrives. Every post is checked against the rules of each network it targets: character limits, required media, the X rule against links, a TikTok privacy level, a connection that has lapsed.

A post that breaks one is saved as a draft and the tool result lists each issue with a code, the network and the fix in words. Codex CLI reads that, corrects the post with update_post, and it goes back on the schedule. Softer problems, such as a caption link that will not be clickable on Instagram or a missing YouTube title, come back as warnings and do not block anything.

When a post reaches some of its networks and fails on one, its status is partially_published, with a result per network, so a post is never reported as published while one network refused it.

Can Codex CLI tell me which posts made money?

Partly, and the rest is in the app. Codex CLI can read your revenue totals, the conversions and the trend through get_revenue_overview, on Creator and Pro. Which post each payment came from is on Pro, on the app's Revenue screen: links in your posts are tracked, and a payment from Stripe, Shopify or RevenueCat that follows a click is matched to the post that caused it.

How revenue attribution works

How do I connect Codex CLI to planpo.st?

It takes about a minute. OpenAI's terminal agent. Configured in TOML rather than JSON. Create an API key on the Agent page in planpo.st, add the server, hosted or local, and the tools appear.

Config location: ~/.codex/config.toml, or .codex/config.toml in a trusted project

Hosted
[mcp_servers.planpost]
url = "https://mcp.planpo.st/mcp"
bearer_token_env_var = "PLANPOST_API_KEY"
Local
[mcp_servers.planpost]
command = "npx"
args = ["-y", "planpost-mcp"]

[mcp_servers.planpost.env]
PLANPOST_API_KEY = "pk_live_xxx"
  • The hosted form reads the token from an environment variable rather than the file, so export PLANPOST_API_KEY in your shell.
  • `codex mcp add` does the same thing interactively if you would rather not edit TOML.

Which way should I connect Codex CLI: hosted or local?

For Codex CLI I would use hosted with bearer_token_env_var, since the config file then holds no secret and can be shared. Use local when you would sooner keep the key in the config file's env table than in your shell profile.

QuestionHosted HTTPLocal npm (stdio)
What it isStreamable HTTP to https://mcp.planpo.st/mcpThe planpost-mcp npm package over stdio, started with npx
What you installNothingNode 18 or newer. npx fetches the package
How it signs inAn API key in an Authorization headerAn API key in an environment variable on your machine
Tools you getAll of themAll of them, the same list
UpdatesServer side, nothing to doTied to the package version npx has cached
Choose it whenYou want it working in a minuteThe key should stay in your own environment

Both reach the same tools, so switching later is a config change and nothing else. The Codex CLI setup guide has every variant.

Frequently asked questions

TOML instead of JSON?
Yes, Codex configures in TOML. The hosted form reads your key from an environment variable rather than the file, which keeps the config committable. Both variants are on the setup page ready to paste.
Can Codex run this unattended?
Yes. Give it its own API key and decide whether that key requires approval: turn it on when you create the key, or later in the key's row on the Agent page. An unattended agent that fills the approval queue is useful; one that publishes unreviewed is also possible, so choose deliberately.
Does it work alongside other MCP servers?
Fine. planpo.st is one entry in mcp_servers among however many you run. Tool names are prefixed, so nothing collides.
What does it cost?
The agent is included on the free plan, with 200 calls a month. Creator is $24 a month and Pro $49; revenue next to the post that earned it is on Pro. The server package, planpost-mcp on npm, is the same one every client on this page uses.

Keep going

Other agents

Claude CodeCursorClaude DesktopChatGPTAll agentsThe MCP server

What Codex CLI can reach

Codex CLI to ThreadsCodex CLI to LinkedInCodex CLI to InstagramCodex CLI to XCodex CLI to FacebookCodex CLI to YouTubeCodex CLI to TikTokThe 7 networksPayment integrationsRevenue attribution

Connect Codex CLI and plan next week.

Start freeRead the setup guide

Free plan, no card: 2 accounts, 30 posts a month, your agent included. X needs a paid plan.