Skip to content
Hermes
Hermes and Postemi

Your Hermes agent manages your calendar

It puts the content from the conversation into the calendar, lists your connected accounts, then reads posts back or rearranges them. It can pull analytics too.

Paste this to Hermes:

Install the Postemi CLI: npm install -g posty-cli, then log in: posty auth:login. The package SKILL.md file describes every command, details: https://postemi.com/ai/hermes

Second way

Start with the CLI

Four commands install the CLI, sign you in, check your connected accounts, then create a post. That way you can work outside the conversation too.

terminal
# Install the Postemi CLI
$ npm install -g posty-cli
# Sign in to your Postemi account
$ posty auth:login
# Check your connected accounts
$ posty integrations:list
[{ "id": "cmf3k7…", "name": "Cafe · Instagram" }]
# Put a post on the calendar
$ posty posts:create \
$ -c "New brunch menu this Saturday." \
$ -i "cmf3k7…" \
$ -s "2026-08-16 09:00" --timezone Europe/Budapest
✅ Post created successfully!
{ "id": "cmf7p2…", "state": "QUEUE" }

The CLI writes JSON to stdout, and sends status and errors to stderr. On failure it exits with a non-zero code.

Once connected

What the Hermes agent handles

From the conversation it reaches the same Postemi account as the CLI and the REST API. You still review posts in the calendar.

From the conversation

The Hermes agent assigns the content from the conversation to your connected accounts. It writes the post into the Postemi calendar, then reads it back so you can check it.

Uploading media

You upload media in a separate step. In the CLI, posty upload returns the URL that the -m after that -c uses.

Read and rearrange

The agent fetches the Postemi calendar, so it can see posts already scheduled. If the plan changes, it moves them to a new time.

CLI, second way

You can reach the same Postemi account from the published CLI. Build non-conversation workflows without Hermes, using posty commands.

REST, third way

The public REST API gives access to the same Postemi account. Use it when the workflow does not go through MCP or the CLI.

Approval in the calendar

The agent writes and rearranges posts, and you review them in the Postemi calendar. You still approve them before they go out.

Four steps

How Hermes connects

Postemi gives you a ready-made config block. The connection is remote, so you do not need to install a local MCP server.

01

Connect your accounts

On the Postemi web app, add the social accounts you want to use with OAuth. After they are connected, the agent can see them.

Connected accounts in Postemi
terminal
$ posty integrations:list
[
{ "id": "cmf3k7…", "name": "Cafe · Instagram" },
{ "id": "cmf3k9…", "name": "Cafe · Facebook" }
]
02

Create the key

Open Automations → Developers and create a key that starts with psty_mcp_…. The ready-made Hermes config block is on the same page.

Key and ready-made Hermes block
.env
# Automations → Developers → New key
# We show the key once, when you create it.
# For the command line and the REST API:
POSTY_API_KEY=YOUR_API_KEY
# MCP clients get a separate key:
# psty_mcp_…
03

Paste the block

Copy the full block from Postemi under the mcp_servers section of ~/.hermes/config.yaml. The block contains the connection name, URL and key.

Postemi under mcp_servers
~/.hermes/config.yaml
mcp_servers:
posty:
url: "https://api.posty.hu/mcp/YOUR_API_KEY"
04

Check the calendar

The agent schedules the posts, and you review and approve them in the Postemi calendar before they go out. If needed, the agent moves them to a new time.

Approval in the Postemi calendar
terminal
$ posty posts:list
[
{ "id": "cmf7p2…", "state": "QUEUE",
"publishDate": "2026-08-16T07:00:00Z" },
{ "id": "cmf7q8…", "state": "DRAFT",
"publishDate": "2026-08-18T06:30:00Z" }
]
Hermes
In short

What is Hermes?

Hermes is an agent platform that connects the agents running on it to external tools over MCP. It reaches Postemi's remote MCP server over streaming HTTP, so you do not need to install a local server. Once connected, the agent works in the Postemi account.

The agent running in Hermes lists your connected accounts from the task in the conversation, and writes a post into the Postemi calendar. It reads it back, rearranges it if needed, then fetches analytics.

It reaches Postemi over a remote MCP connection. You copy the config block from Automations → Developers into Hermes's config.yaml. You can reach the same account from the CLI and the public REST API too.

Hermes

The agent runs here, and this is where your task starts. It reaches Postemi's tools over MCP.

Remote MCP

The server runs on Postemi's infrastructure. Hermes reaches it over streaming HTTP, so it does not need to install a local MCP server.

Postemi calendar

Posts the agent schedules land in the Postemi calendar. You read them through and approve them here before they go out.

Built for agents

A predictable interface, three ways in

You can parse Postemi's responses and errors by machine. You reach the account over MCP, the CLI and the REST API.

  • JSON on the outputThe output is JSON, so the agent can parse the command result directly.
  • Clear error signalsIt writes status and errors to stderr. On failure the exit code is non-zero.
  • Built-in skill fileFrom the package SKILL.md file, the agent learns the CLI with no extra training.
  • Flat command setIt gets a single, flat command set, with no hidden state. Every operation is a clear call.
  • Three ways inIt reaches the same Postemi account over MCP, the CLI and the public REST API.
SKILL.md
---
name: posty
description: Posty schedules and publishes social posts
from the command line.
homepage: https://posty.hu
---
# Output contract
Every command prints its JSON result, and nothing
else, to stdout; status lines, warnings and errors
go to stderr, and every failure exits 1.
# Two Hard Rules (Read First)
Rule 1: Authenticate before anything.
Rule 2: Every file passed to `-m` MUST first go
through `posty upload`.

The npm package includes the SKILL.md file. The agent learns the CLI from it, with no extra explanation.

See how other agents connect to the same Postemi account.

CLI commands

The same from a terminal

The posty commands handle posts, integrations, analytics, uploads, config and auth. The CLI is licensed AGPL-3.0.

Posts
posty posts:createNew post: scheduled, as a draft, or published right away.
posty posts:listPosts in the given period. You can filter by client group too.
posty posts:delete <id>Delete a post by id.
posty posts:find-slot <id>The next free publishing time for a social account.
posty posts:status <id>Switch a post between draft and scheduled.
posty posts:missing <id>Content already on the platform for a post with a missing id.
posty posts:connect <id>Connect a post to content that is already published.
Social accounts
posty integrations:listConnected social accounts and their ids. This is what the -i flag needs.
posty integrations:groupsThe list of client groups, if you work with more than one brand.
posty integrations:settings <id>An account's settings schema, rules, length limit, and tools.
posty integrations:trigger <id> <method>Call a platform tool for extra data, for example to search for music.
Media and analytics
posty upload <file>Upload a media file. The URL you get back goes into the posts:create -m flag.
posty analytics:platform <id>A social account's stats going back the given number of days.
posty analytics:post <id>Performance of a single post.
Login and settings
posty auth:loginLog in with OAuth2 device authorization: the browser opens, you approve.
posty auth:logoutClear stored login data.
posty auth:statusShows whether you're logged in, and checks access too.
posty config:set <key> <value>Save a CLI setting, for example the default timezone.
posty config:get [key]Print the saved settings.
posts:create flags
-c, --contentThe post text. Repeat it to make a thread: the first is the post, the rest are comments.
-m, --mediaMedia for the -c that comes before it. The URL has to come from posty upload.
-i, --integrationsIds of the target social accounts, comma-separated.
--date, -sWhen to publish. Either with an explicit offset, or together with the --timezone flag.
--timezoneIANA timezone name, for example Europe/Budapest. Only pass a date with no offset together with this.
-t, --typeschedule (default), draft, or now.
-d, --delayDelay in MINUTES between items in the thread.
--jsonThe full post description from a JSON file, when the flags are not enough.
--settingsPlatform-specific settings as JSON. The schema comes from integrations:settings.

The CLI writes JSON to stdout, and status and errors to stderr.

Supported platforms

One account, every channel

Connect your accounts in a few clicks, then post to every channel from Postemi.

Pricing

Fair pricing, no hidden costs

Every plan starts with a 7-day free trial. We bill in US dollars and issue a VAT invoice.

2 months free

Prices in US dollars. In Europe you pay the same amount in euros, in Switzerland in Swiss francs.

Basic

For solo creators new to scheduling
$13/mo
7-day free trial
$0 due today · Cancel anytime
  • 5 social accounts
  • 100 X posts a month
  • 1 workspace
  • One user
  • Not included: Advanced image editor
  • Not included: Viral video + UGC templates
  • Not included: Automations
  • Not included: API access
  • Not included: Posting with an AI agent
  • Unlimited posts
  • Multiple accounts per platform
  • Scheduling
  • Calendar view
  • Repeated posts
  • Post delays
  • Studio access
  • Analytics (beta)
  • Post comments
  • Dark & light mode

Pro

Most popular
For solo pros who automate, with API access
$25/mo
7-day free trial
$0 due today · Cancel anytime
  • 10 social accounts
  • 250 X posts a month
  • 1 workspace
  • One user
  • Not included: Advanced image editor
  • Not included: Viral video + UGC templates
  • Automations
  • API access
  • Posting with an AI agent
  • Unlimited posts
  • Multiple accounts per platform
  • Scheduling
  • Calendar view
  • Repeated posts
  • Post delays
  • Studio access
  • Analytics (beta)
  • Post comments
  • Dark & light mode

Creator

For teams with several brands, plus image and video editors
$49/mo
7-day free trial
$0 due today · Cancel anytime
  • 30 social accounts
  • 400 X posts a month
  • 5 workspaces
  • 15 users
  • Advanced image editor
  • Viral video + UGC templates
  • Automations
  • API access
  • Posting with an AI agent
  • Unlimited posts
  • Multiple accounts per platform
  • Scheduling
  • Calendar view
  • Repeated posts
  • Post delays
  • Studio access
  • Analytics (beta)
  • Post comments
  • Dark & light mode

Team

Highest limits
For agencies managing many channels
$99/mo
7-day free trial
$0 due today · Cancel anytime
  • 100 social accounts
  • 800 X posts a month
  • Unlimited workspaces
  • Unlimited users
  • Advanced image editor
  • Viral video + UGC templates
  • Automations
  • API access
  • Posting with an AI agent
  • Unlimited posts
  • Multiple accounts per platform
  • Scheduling
  • Calendar view
  • Repeated posts
  • Post delays
  • Studio access
  • Analytics (beta)
  • Post comments
  • Dark & light mode
Post to
  • TikTokTikTok
  • InstagramInstagram
  • FacebookFacebook
  • ThreadsThreads
  • LinkedInLinkedIn
  • YouTubeYouTube
  • XX
  • PinterestPinterest · beta
  • BlueskyBluesky
  • Google BusinessGoogle Business · coming soon
  • DiscordDiscord
  • TelegramTelegram
  • SlackSlack
FAQ

Common questions

No. Postemi's MCP server runs on Postemi's infrastructure, and Hermes connects to it over streaming HTTP. The server URL is https://api.posty.hu/mcp.

Get started today

Connect Hermesto Postemi.

Create the key on the Automations → Developers page, then paste the block you get into the Hermes config. After that the agent works in the Postemi calendar.