Skip to content
Blog

· The Mynahcast team

Agent-first publishing: one registry, three doors

How Mynahcast exposes the same operations through MCP, REST and (soon) a CLI, and why every one of them is safe to retry.

Most publishing tools were built for people clicking buttons, with an API added later. Mynahcast starts from the other end: the first user of every operation is an agent, and the dashboard is one more client.

One list of operations

Everything Mynahcast can do is defined once, in a single registry: create a post, validate it, reschedule it, ask for approval, list channels, read a channel's limits, upload media, read or update the brand voice. Each operation declares its input schema, the scopes it needs, and whether it changes anything.

From that one list we generate:

  • the REST API under /v1, with an OpenAPI 3.1 spec;
  • the MCP server at POST https://api.mynahcast.xyz/mcp, where each operation becomes a mynahcast_* tool;
  • the CLI (myn <noun> <verb>), which is coming soon.

Because they share the registry, an agent gets the same validation errors, the same scope checks and the same approval rules whichever door it uses.

Safe to retry, by design

Agents retry. Networks drop. So every operation that changes data is built to be repeated:

  • REST: send an Idempotency-Key header. Repeat the request with the same key and you get the first response back, not a second post. Reuse a key with a different body and you get an error instead of a surprise.
  • MCP and REST: every mutating operation takes a dry run (dry_run: true in MCP, ?dry_run=true in REST) that validates and previews without saving.
  • Delivery: each send to a platform has its own key derived from the target and the content. If the result is unknown, Mynahcast looks the post up on the platform before deciding whether to send again.

Errors an agent can act on

Validation failures come back as application/problem+json with a short fix hint, for example a post that's over a channel's character limit, or a scheduled time in the past. An agent can read the hint and correct the draft without a human in between.

Humans decide

One operation is deliberately out of an agent's reach: deciding an approval. An agent can ask for approval, but only a person signed in to Mynahcast can approve. That line is enforced on the server, not left to the agent's good behaviour.

If you want to try it, connect your agent or start with the quickstart.