Built in · free on every plan

Your agent drafts.
You publish.

Shoutrrr is an open-source scheduler for X, LinkedIn, Bluesky, and Discord. Every instance ships a Model Context Protocol server, so any MCP client gets 22 tools to draft, schedule, and publish, with a hard stop before anything goes public.

Server endpoint
https://app.shoutrrr.com/mcp

That is the Cloud endpoint. Self-hosting? Use your own domain. Either way it is OAuth 2.1 with dynamic client registration, so there is no API key to create.

your agent → shoutrrr /mcp mcp
→ list-connected-accounts-tool
{}
← 4 accounts · x, linkedin, bluesky, discord
→ create-post-tool
{ base_text: "Ship day. v2 is live.", destination: { kind: "all" } }
← post_id: pst_8c31f0
→ queue-post-tool
{ post_id: "pst_8c31f0" }
← queued · Tue 09:00 Europe/Berlin
→ publish-post-tool
{ post_id: "pst_8c31f0" }
blocked: publishing requires confirm=true

Your agent can draft, schedule, and read everything on its own. It cannot say anything in public without you.

Any client that speaks MCP

Claude Code ChatGPT Cursor Codex Copilot Gemini CLI Zed Windsurf Cline n8n + any other MCP client
New here?

Shoutrrr is an open-source social scheduler

Write a post once, adjust the wording per network where you want to, then publish it or drop it in a queue, to many accounts at the same time. It has a composer with live per-network character counts and auto-threading, a calendar with recurring posting slots, per-post analytics, and shared team workspaces.

The MCP server drives that same app. It is not a cut-down copy, and it reaches the same features you get in the browser.

Publishes independently to
X LinkedIn Bluesky Discord + more on the roadmap
Tour the whole product
Two ways to run it
Self-host Free

Apache 2.0. One Docker image bundles the app, worker, and scheduler, and defaults to SQLite.

Cloud $10/mo

We run and update it. Set up in seconds, cancel anytime. Includes $5 of X API usage.

Same app either way, and both include the MCP server. There is no developer tier.

Runs inside your deployment

The MCP server is part of Shoutrrr itself, not a service we host for you. Your agent connects straight to your instance. No vendor sits in the middle holding your tokens.

Confirmation before anything publishes

Publishing, retrying, and deleting refuse to run without explicit confirmation. Shoutrrr re-checks your workspace role on every call, so an agent can never exceed what you can do in the browser.

Not a paid add-on

Included in the free self-hosted build and in the $10/mo Cloud plan. There is no developer tier to upgrade to, no per-call charge, and no waitlist.

Connect it

Three steps,
then plain language

The endpoint is the whole configuration. Clients discover the authorization server from the standard metadata documents and register themselves, so there is nothing to copy out of a settings screen.

Paste this into your agent
Add the Shoutrrr MCP server to my tools.

URL: https://app.shoutrrr.com/mcp
Transport: streamable HTTP

It uses OAuth 2.1 with dynamic client registration, so there's no API key to create. Register as a client, then open the consent screen so I can sign in and pick a workspace.

Once you're connected, call list-connected-accounts-tool and show me what you find. Never publish, retry, or delete anything without asking me first.

Self-hosting? Swap the URL for your own domain before you paste it.

Or, for a client that takes JSON
{
  "mcpServers": {
    "shoutrrr": {
      "type": "http",
      "url": "https://app.shoutrrr.com/mcp"
    }
  }
}
  1. 01
    Add the endpoint
    Paste your instance URL into your client. Most clients need nothing more. They read the OAuth metadata documents and register themselves.
  2. 02
    Approve once, pick a workspace
    Your browser opens the Shoutrrr consent screen. Sign in, choose which workspace this connection may touch, and approve. That binding is fixed for the life of the connection.
  3. 03
    Talk to it in plain language
    Ask for a draft, a reschedule, or the numbers from last month. The agent picks the tools. You still confirm anything that goes out in public.
Every tool

22 tools, and three need your confirmation

Anything you can do in the app, an agent can do over MCP, scoped to one workspace and to your own role. The three outward-facing tools refuse to run unless they are called with confirm=true.

Read

7
  • list-workspaces-tool
  • list-posts-tool
  • get-post-tool
  • get-calendar-tool
  • list-connected-accounts-tool
  • list-account-sets-tool
  • get-posting-schedule-tool

Draft & edit

4
  • create-post-tool
  • update-post-tool
  • add-post-media-tool
  • remove-post-media-tool

Schedule & publish

4
  • schedule-post-tool
  • queue-post-tool
  • publish-post-tool confirm
  • retry-post-target-tool confirm

Sets & sharing

6
  • create-account-set-tool
  • update-account-set-tool
  • delete-account-set-tool
  • create-share-link-tool
  • list-shares-tool
  • delete-share-tool

Delete

1
  • delete-post-tool confirm
confirm

What the badge means

These three tools reach the outside world, so they hard-fail unless the call carries confirm=true. A well-behaved client asks you first.

How confirmation works →

Point an agent at it

Self-host it free under Apache 2.0, or start on Cloud for $10 a month. The MCP server is the same either way.