Muse
Muse and Posty

Muse schedules where the code is written

Muse writes the release announcement in the coding session, and Posty schedules it. You do not have to switch to another tool.

Paste this to Muse:

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

First steps

The CLI in four commands

You install the CLI, sign in, fetch your integrations, then create a post. After that your release script can take over.

terminal
# Install the Posty CLI package
$ npm install -g posty-cli
# Sign in to your Posty account
$ posty auth:login
# Fetch your integrations
$ posty integrations:list
[{ "id": "cmf3k7…", "name": "Cafe · Instagram" }]
# Create and schedule the post
$ 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 status and errors to stderr. On failure it exits with a non-zero code.

A thread, in a single command

terminal
$ posty posts:create \
$ -c "We shipped 2.0. Three things changed. 1/3" \
$ -c "The calendar is faster. 2/3" \
$ -c "And there is a dark theme at last. 3/3" \
$ -d 5 \
$ -i "cmf3k7…" \
$ -s "2026-08-16T09:00:00+02:00"
Muse session

From code to a scheduled post

The announcement and the release are made in one place. You reach Posty over MCP, the CLI, or the REST API.

Post from the session

Muse writes the announcement in the coding session, then schedules it through Posty. The release and the post are made in one place.

Uploading media

You upload the media file first with the posty upload command. The URL you get back goes as the -m value after the post's -c flag.

A calendar you can read and rearrange

Muse reads the posts on the calendar, finds free slots, and rearranges the plan. That way it does not schedule the release post blindly.

CLI as another way

If you need a command instead of MCP, the published posty-cli reaches the same account. posty posts:create also runs from a release script and from CI.

Public REST API

The third way is the public REST API at api.posty.hu. You can reach the same Posty account from your own integration or automation too.

Approval in the calendar

Muse writes and schedules the post, and you review it in the Posty calendar. You can approve the copy and the time before it goes out.

How it connects

Four steps to Muse

You set up the accounts and the key. After that, Muse hands the scheduling to Posty from the same session.

1

Connect your accounts

On the Posty web app, you connect the social accounts you want to use through OAuth. You only have to do this once. After that, Muse can reach the Posty integrations for those accounts.

OAuth on the Posty web app
terminal
$ posty integrations:list
[
{ "id": "cmf3k7…", "name": "Cafe · Instagram" },
{ "id": "cmf3k9…", "name": "Cafe · Facebook" }
]
2

Create a key

Open Settings → Developers and create a key that starts with psty_mcp_…. You also get the full ready-made config block for Muse here.

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

Hand it to Muse

Paste the Posty block under the mcp_servers key in ~/.config/muse/settings.json, with streamable_http transport. Keep schema_version in the file: without it, Muse silently skips the file.

Required fields in settings.json
~/.config/muse/settings.json
{
"schema_version": 1,
"mcp_servers": {
"posty": {
"transport": "streamable_http",
"url": "https://api.posty.hu/mcp/AZ_API_KULCSOD"
}
}
}
4

Review the schedule

Muse writes the announcement, and Posty schedules it. Before it goes out, you review and approve the copy, the platforms, and the time in the Posty calendar.

Review in the Posty 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" }
]
Muse
In short

What is Muse?

Muse, full name Meta Muse Code, is a coding agent. You work with it in the same session where the code is written. It connects to Posty as an MCP client, so you can write and schedule the release announcement in the same place.

You finish the release, then ask for the matching post in the same Muse session. Muse writes it, and Posty schedules it. You do not have to switch tools, or start over in a separate UI.

Muse connects through its config file: the Posty MCP block goes under mcp_servers, with streamable_http transport and the schema_version field. You get the ready-made block on the Settings → Developers page.

Writes next to the code

Muse writes the release post next to the code. The announcement is written in the same session as the release.

Connects over MCP

The Posty MCP server receives the Muse request, then schedules the post to the given social account. The service URL is https://api.posty.hu/mcp.

Your own model writes

Muse writes the copy, not Posty. Posty has no built-in AI writer, on purpose, so you use your own model.

Built for agents

A predictable interface for Muse

Posty responses and errors are easy to parse. You reach the same account three ways.

  • Machine-readable JSONCommand JSON output is easy to parse, so Muse does not have to pull data out of human-readable text.
  • Clear error signalsThe CLI writes status and errors to stderr, and on failure it exits with a non-zero code.
  • Built-in skill fileThe SKILL.md in the npm package teaches the agent how to use the CLI, with no extra training.
  • Flat command setA single flat command set handles posts, integrations, analytics, uploads, settings and login, with no hidden state.
  • Three ways inYou reach the same Posty account over MCP, the published 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`.

SKILL.md is part of the npm package. The agent can read it directly and learn the Posty CLI from it.

See how Posty connects to the other agents, and pick the path that fits your workflow.

Real commands

The full Posty CLI

The posty commands cover posts, integrations, analytics, uploads, settings and auth. posty posts:create also runs from a release script or CI, if POSTY_API_KEY is in the environment.

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 <fájl>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 <kulcs> <érték>Save a CLI setting, for example the default timezone.
posty config:get [kulcs]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. On failure it exits with a non-zero code.

Supported platforms

One account, every channel

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

TikTok

TikTok

Instagram

Instagram

Facebook

Facebook

Threads

Threads

LinkedIn

LinkedIn

YouTube

X

X

Pinterest

Pinterest

coming soon
Bluesky

Bluesky

Google Business

Google Business

coming soon
Discord

Discord

Telegram

Telegram

Slack

Slack

…and more to come
Pricing

Hungarian pricing, no hidden costs

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

2 months free

Alap

For solo creators new to scheduling
4 990 Ft/mo
7-day free trial
0 Ft due today · Cancel anytime
  • 5 social accounts
  • 1 workspaces
  • One user
  • 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

Pro

Most popular
If you create both images and videos
8 990 Ft/mo
7-day free trial
0 Ft due today · Cancel anytime
  • 10 social accounts
  • 1 workspaces
  • 3 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

Kreátor

For creators managing multiple brands or clients
18 990 Ft/mo
7-day free trial
0 Ft due today · Cancel anytime
  • 30 social accounts
  • 5 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

Csapat

Highest limits
For agencies managing many channels
34 990 Ft/mo
7-day free trial
0 Ft due today · Cancel anytime
  • 100 social accounts
  • 15 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
YouTube
XX
PinterestPinterest · coming soon
BlueskyBluesky
Google BusinessGoogle Business · coming soon
DiscordDiscord
TelegramTelegram
SlackSlack
FAQ

Common questions

Why does Muse not see the Posty MCP server?
Check that the Posty block is under the mcp_servers key in ~/.config/muse/settings.json, and that transport is set to streamable_http. Keep the schema_version field too. Without it, Muse silently skips the file.
Does Muse write the post, or Posty?
Muse writes the copy in the coding session. Posty schedules and handles it. Posty has no AI writer, on purpose, so you use your own model.
Can I review the post before it is published?
Yes. Muse schedules the announcement, and you approve the copy, the platforms, and the time in the Posty calendar before it goes out.
How does media get into the post?
You upload the media file with the posty upload command. The URL you get back goes into the -m value, right next to the -c content the media belongs to.
Can I use Posty from a release script or CI?
Yes. posty posts:create runs from a release script and from CI, and POSTY_API_KEY can come from the environment. You install the CLI with npm install -g posty-cli; the command name is posty.
Which plans include MCP, the CLI and the REST API?
All three are available on the Pro, Kreátor and Csapat plans. Posty handles 12+ platforms, including Facebook, Instagram, TikTok, LinkedIn, X and YouTube.
Get started today

Write it where you ship it.

Connect Muse to Posty, and schedule the release post in the same session. Final review stays in the Posty calendar.

Start your free trial
7 days free · 0 Ft due today · cancel anytime