About Postemi: Social Media Scheduler
Postemi is a social media scheduling service exposed through an MCP server and CLI for people and agents managing posts across 37 platforms and apps. It supports drafting, media upload, and scheduling through the same API used by the web app.
Key features
- 01Create and schedule posts
- 02Upload media for posts
- 03Manage connected channels
- 04Authenticate with device flow or API key
- 05Install optional writing and growth skills
Use cases
- 01Schedule posts across connected social channels
- 02Prepare posts with uploaded images
- 03Let an agent manage a Postemi calendar
MCP support
The hosted MCP server at `https://mcp.postemi.com/mcp` gives chat clients access to Postemi scheduling. MCP access requires the Pro plan or higher.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://mcp.postemi.com/mcpclaude mcp add --transport http com-postemi-postemi https://mcp.postemi.com/mcp{"mcpServers":{"com-postemi-postemi":{"type":"http","url":"https://mcp.postemi.com/mcp"}}}Open in Cursor{"servers":{"com-postemi-postemi":{"type":"http","url":"https://mcp.postemi.com/mcp"}}}Open in VS Code{"mcpServers":{"com-postemi-postemi":{"type":"http","url":"https://mcp.postemi.com/mcp"}}}{"mcpServers":{"com-postemi-postemi":{"serverUrl":"https://mcp.postemi.com/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMEPostemi CLI
Social media scheduling from the command line, or from your AI agent.
Postemi (https://postemi.com) is a social media scheduler, and this is its command-line tool. It uses the same public API as the web app: what you schedule here shows up in your Postemi calendar, and what you schedule there you can see here too.
Channels: 37 platforms and apps, including Facebook, Instagram, X, LinkedIn, TikTok, YouTube, Threads, Bluesky, Pinterest and Mastodon.
Plan: the CLI, the API and MCP need the Pro plan or higher (Pro, Creator or Team). Basic has no API access.
SKILL.md is the full command reference, written for AI agents.
Show it to Claude, ChatGPT, Codex, OpenClaw or Hermes and they can use the
whole CLI with no further explanation.
Install
npm install -g postemi
postemi --help
Node.js 18 or newer.
Sign in
postemi auth:login # device flow: opens postemi.com/app/device in the browser
postemi auth:status # checks the credential
postemi auth:logout # deletes the stored credential
You approve the login in the browser while signed in to Postemi, and choose
there which workspace and which channels the key may reach. The CLI stores it
in ~/.postemi/credentials.json (mode 0600).
No account yet? Create one from the terminal:
postemi auth:signup --email [email protected] # e-mails a code, asks for it and for the terms
postemi auth:signup --email [email protected] --code 123456 --accept-terms --workspace-name "Anna's Cafe"
The person must agree to https://postemi.com/terms and
https://postemi.com/privacy first. An account made with postemi auth:signup
has no free trial: next come postemi billing:plans and
postemi billing:subscribe. Signing up at https://postemi.com/app/signup
instead starts a 7-day free trial; then run postemi auth:login.
For a server, CI or an agent without a browser, use an API key from Settings, Developers in the web app:
export POSTEMI_API_KEY=your_api_key
| Variable | Default | Purpose |
|---|---|---|
POSTEMI_API_KEY | none | API key, when you do not use auth:login |
POSTEMI_API_URL | https://api.postemi.com | API base |
POSTEMI_WORKSPACE | none | Workspace id for every command (same as --workspace) |
POSTEMI_TIMEZONE | none | IANA zone for dates written without an offset |
POSTEMI_AUTH_SERVER | https://api.postemi.com | Where auth:login runs the device flow |
POSTEMI_CLIENT_NAME | Postemi CLI | Name shown on the approval page |
Stored credentials from auth:login take precedence over POSTEMI_API_KEY.
Quick start
postemi auth:status
postemi integrations:list # your channels and their ids
postemi config:set timezone Europe/London # once: how to read dates without an offset
IMG=$(postemi upload ./photo.jpg | jq -r '.path')
postemi posts:create -c "Hello from the terminal" -m "$IMG" \
-s "2026-12-31 09:00" -i "<integration-id>"
Results are JSON on stdout; status lines and errors go to stderr, and every
failure exits 1. Run postemi <command> --help for each command.
Agent skills (optional)
The CLI can install its skills into the coding agents on your machine
(Claude Code ~/.claude/skills, Codex ~/.codex/skills or
$CODEX_HOME/skills, Cursor ~/.cursor/skills, Grok Build
~/.grok/skills). The core postemi skill comes with any of them; the other
two are optional:
postemi skills list # core, writing, growth: installed where
postemi skills add writing # ideas, hooks, formatting, templates
postemi skills add growth # niche, cadence, 30-day plan
postemi skills add all --agent claude --yes
postemi skills remove growth
After postemi auth:login on a terminal the CLI asks once whether you want
the writing and the growth skill (default No) and remembers the answers in
~/.postemi/config.json. It never asks when an agent or a script runs it (no
terminal, --json, or CI set); it prints one hint line instead, once.
With several agents found it asks which; --agent and --yes skip that.
More
SKILL.md: every command, flag and rulePROVIDER_SETTINGS.md: per-channel settingsSUPPORTED_FILE_TYPES.md: the eight accepted media typesexamples/: ready--jsonpayloads- MCP server for chat clients:
https://mcp.postemi.com/mcp - Help: https://postemi.com/help, support: [email protected]
- Privacy: https://postemi.com/privacy, terms: https://postemi.com/terms
Plugins for AI agents
This repository also holds the Postemi plugins, in plugins/:
| Folder | For | What it is |
|---|---|---|
plugins/postemi-mcp | Claude (chat, desktop, Code) | The hosted MCP server https://mcp.postemi.com/mcp plus a skill |
plugins/postemi-cli | Claude Code | This CLI's skill; the agent runs postemi commands |
plugins/postemi-chatgpt | ChatGPT | The ChatGPT app package |
plugins/postemi-cursor | Cursor | MCP server, skill and commands |
plugins/postemi-grok | Grok Build | MCP server, skill and commands |
plugins/postemi-growth | Claude Code, Cursor, Grok Build | Optional: the growth skill only |
In Claude Code:
claude plugin marketplace add norbertlevente/postemi-agent
claude plugin install postemi@postemi-agent # MCP server
claude plugin install postemi-cli@postemi-agent # CLI skill
The skill on its own (for OpenClaw and other agents) is
skills/postemi/SKILL.md.
Writing and growth skills
Three more skills help the agent write the posts, not only schedule them:
| Skill | What it teaches | In the plugins |
|---|---|---|
skills/postemi-writing | post ideas, hooks and headlines, opening lines, formatting, threads, each network's writing rules, a check before publishing | in every main plugin |
skills/postemi-templates | the template and hook library of the Postemi composer, generated from the web app | in every main plugin, with writing |
skills/postemi-growth | choosing networks and a first niche, a 30-day test, reading the numbers, cadence, 30 angles for one topic, repurposing, bios and profile links, a weekly review | optional: its own plugin, plugins/postemi-growth |
claude plugin install postemi-growth@postemi-agent # the optional growth plugin
With the CLI, writing and growth are both optional; see below.
Development
pnpm install
pnpm build # dist/index.js
pnpm test # type check, build, unit tests (test/), scripts/check.mjs (manifests, skill copies, no other-brand text)
node dist/index.js --help
pnpm sync:templates ../postemi/src/lib/app/templates # regenerate skills/postemi-templates/reference from the web app
pnpm sync:skills # copy writing and templates into the main plugins, growth into postemi-growth
Release steps: PUBLISHING.md. Changes: CHANGELOG.md.
License: AGPL-3.0, see LICENSE.
Source: https://github.com/norbertlevente/postemi-agent
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.