Home / AI agents / Claude Code
MCP

Schedule social media posts with Claude Code

Add Postozo to Claude Code with 1 command. Then schedule posts from your terminal: turn a changelog into a launch post, or post release notes from CI.

Works in: the Claude Code command line tool and its IDE extensions. Connects with: OAuth sign-in or an API key header. Setup steps follow Claude Code's own docs, checked on 29 September 2026.

How to connect Postozo to Claude Code

You need a Postozo account with at least 1 connected channel. Claude Code connects to Postozo's MCP server at https://app.postozo.com/mcp using OAuth sign-in or an API key header.

Option 1: sign in with OAuth. Run:

claude mcp add --transport http postozo https://app.postozo.com/mcp

Then start Claude Code, type /mcp, pick postozo (it shows "Needs authentication") and sign in to Postozo in the browser. Tokens refresh on their own.

Option 2: use your API key. In Postozo, open Settings, Developers and copy your API key. It starts with pz_live_. Treat it like a password. Then run:

claude mcp add --transport http postozo https://app.postozo.com/mcp --header "Authorization: Bearer YOUR_API_KEY"

Scope. Add --scope user to use Postozo in every project, or --scope project to write a shared .mcp.json in the project. The default (local) is this project, for you only. For a shared file, keep the key in an environment variable:

{
  "mcpServers": {
    "postozo": {
      "type": "http",
      "url": "https://app.postozo.com/mcp",
      "headers": { "Authorization": "Bearer ${POSTOZO_API_KEY}" }
    }
  }
}

Check it works

Run /mcp and check that postozo is connected, then ask: "List my Postozo channels."

What Claude Code can do with Postozo

Postozo gives Claude Code 20 tools. A normal flow is: list your channels, read the rules of each network, check the post, find a free slot, then schedule it once you say yes.

ToolWhat it doesChanges data
list_channelsList the connected social channels (accounts, pages) with their id, network, name and status. Call this first to get channel ids.No
list_networksList every network this server supports and whether it can be connected. Useful to explain what is possible.No
list_customersList customers. A customer groups channels (agencies use 1 per client).No
get_channel_rulesGet the posting rules for 1 channel: max length, media needs, whether comments are supported, and the settings schema (some settings are required, for example a title on YouTube or a board on Pinterest). Read before scheduling to that channel.No
find_free_slotFind the next free posting time for these channels, using each channel's preferred posting times.No
check_postCheck a post against every channel's rules without saving it. Returns a list of problems (empty means it is fine).No
schedule_postCreate or edit a post for 1 or more channels. Supports drafts, scheduling, posting now, client review, threads with delays, per-channel text, network settings, tags and repeats. Returns the post id, its status and a preview link.Yes
list_postsList posts on the calendar between 2 dates (default: last 7 days to next 30 days).No
get_postGet 1 post with its text per channel, state per channel (queued, published, error...), links to the live posts, errors with a fix, comments and history.No
change_post_dateMove a post to a new date and time.Yes
retry_postRetry the channels of a post that failed or could not be confirmed. Only use after the user confirms the post is not already live.Yes
delete_postDelete a post from the calendar. Posts already live on a network stay live there.Yes
upload_media_from_urlImport an image or video from a public URL into the media library. Returns a media id to use in schedule_post.Yes
list_mediaList files in the media library.No
list_tagsList tags used to label posts.No
get_analyticsGet account statistics for 1 channel from its network (7, 30 or 90 days). Some networks do not share statistics.No
get_post_analyticsGet statistics for 1 published post on 1 channel. Use the per-channel post id from get_post (channels[].root.id).No
get_workspace_statsCounts from this workspace: posts by state, published posts per channel, and short link clicks.No
run_channel_toolRun a network helper for 1 channel, for example list Pinterest boards, Reddit flairs or YouTube playlists, to fill a setting. get_channel_rules lists the tools for each channel.No
generate_imageCreate an image with AI from a description and save it to the media library. Uses 1 image credit. Returns a media id. Only when AI images are turned on for your workspace.Yes

The server also offers 2 ready prompts: plan_week (plan 5 posts for the next 7 days about a topic) and repurpose (turn a link or text into 1 post per channel).

Example prompts

  • "Read CHANGELOG.md and write a LinkedIn post and an X thread about the latest release. Show me both before scheduling."
  • "Schedule the release announcement for tomorrow at 10:00 India time on all my channels, using find_free_slot if 10:00 is taken."
  • "Check this draft against the rules of every channel and tell me what to fix."
  • "List every post that failed this week and show the error and fix for each."
  • "Upload docs/screenshot.png from its public URL and add it to the LinkedIn post."
  • "Save 3 drafts about this pull request for the Discord and Slack channels."

Safety and control

  • 14 of the 20 tools only read. The 6 that change data (schedule_post, change_post_date, retry_post, delete_post, upload_media_from_url and generate_image) are marked as write tools, so Claude Code can ask you before it runs them.
  • The server tells the AI to confirm the text, channels and time with you before it schedules or publishes.
  • Ask for drafts ("save as drafts") or for client review ("send for approval") when you want a human to check first.
  • A post is never sent twice. If Postozo cannot confirm a post went live, it marks it "could not confirm" instead of retrying on its own.
  • Remove access any time in Postozo under Settings, Approved Apps, or by creating a new API key.

Sources

Setup steps checked on 29 September 2026 against: code.claude.com/docs/en/mcp. Claude Code is a trademark of its owner. Postozo is not affiliated with it. Menus change; if a step looks different, follow the linked docs.

FAQ

Questions

Can Claude Code schedule posts with Postozo?

Yes. After you add Postozo's MCP server, Claude Code can list your channels, check each network's rules, find free times and create drafts, scheduled posts or posts for client approval.

Can I use it in CI?

Claude Code can run without a person watching, so a release job can ask it to post. Use the API key header, keep the key in a secret, and prefer "draft" or "review" posts if a person should check them.

Where is the setting saved?

With the default scope, in ~/.claude.json for this project. With --scope project, in .mcp.json at the project root.

How do I sign out?

Run claude mcp logout postozo, or remove the app in Postozo under Settings, Approved Apps.

Does it cost extra?

No. The API and MCP server are included in every Postozo plan. Claude Code has its own plans and limits.

Connect Claude Code to Postozo

Start a 7-day free trial, connect your channels, then add the server.

Create your free account