Skip to content

Claude · ChatGPT · Grok · Kimi

Connect your AI to Postey in one line.

Paste one line into your AI app, sign in through your browser, and it can draft, schedule and publish to all your accounts. Nothing to download. Connecting is free.

mcp.json
{
  "mcpServers": {
    "postey": {
      "type": "http",
      "url": "https://srvr.postey.ai/mcp"
    }
  }
}
This is the whole setup. Copy it into your AI app's settings.
  • Ask in plain English Draft it, schedule it, post it.
  • It knows your accounts It reads your connected accounts and the limits they carry.
  • You see the plan first It shows you the plan, then waits.
  • Nothing posts without you Publishing asks, every time.
  • Nothing to install One line, then a browser sign-in.

For developers

Everything below is protocol detail: what the server answers when you knock, and every tool, resource and prompt it exposes. You do not need any of it to use the connection above.

What the server says when you knock

Captured against the production host on 18 August 2026. An unauthenticated call is refused with a challenge that names the discovery document, and that document advertises dynamic client registration, so a client that supports it registers itself, opens a browser, and you grant it access. There is no key to paste and no key to leak.

the refusal
$ curl -sD - -X POST https://srvr.postey.ai/mcp \
    -H 'content-type: application/json' \
    -d '{"jsonrpc":"2.0","id":1,"method":"initialize"}'

HTTP/2 401
www-authenticate: Bearer resource_metadata=
  "https://srvr.postey.ai/.well-known/
   oauth-protected-resource/mcp"
the discovery document
GET /.well-known/oauth-authorization-server

{
  "issuer": "https://srvr.postey.ai/",
  "authorization_endpoint": ".../authorize",
  "token_endpoint": ".../token",
  "registration_endpoint": ".../register",
  "grant_types_supported": [
    "authorization_code",
    "refresh_token"
  ],
  "code_challenge_methods_supported": ["S256"]
}

Prefer a one-liner

terminal
claude mcp add --transport http \
  postey https://srvr.postey.ai/mcp

Prefer a key

Clients without dynamic registration can authenticate with an MCP key minted in your Postey settings and sent as a bearer token. Every grant an agent holds is listed in the same place and can be revoked there, one at a time.

The 30 tools, in full

Not a category list. This is what the server advertises on connect, grouped the way an agent meets them, with the file each group is registered in.

Drafts

tools/posts.py

  • create_post Create a draft. The tool refuses to run until the agent has read the account list and had you confirm which accounts it may write to.
  • update_post Overwrite an existing draft or scheduled post. Updating a published post does not re-publish it.
  • get_posts List post summaries for an account, filtered by platform and status. Summaries only, no post text.
  • get_specific_post_content Read the full per-platform content of one post.
  • delete_draft Send a draft to the trash, or delete it permanently. Drafts only.
  • restore_post Bring a post back out of the trash with its content intact.
  • get_post_by_share_link Resolve a Postey share URL to post metadata. The only way in when a share link is all the agent has.

Publishing and scheduling

tools/publishing.py · tools/scheduling.py

  • publish_draft Publish a draft to the selected platforms now. Requires your explicit confirmation in the same turn, because it is irreversible and public.
  • schedule_post Schedule a draft. Each platform carries its own timestamp, so a set can be staggered. Paid — can_schedule
  • get_schedule Read a scheduled post back: platforms, UTC times, post actions and Auto-DM rules.
  • update_schedule Change the time or the platform set on a scheduled post. Paid — can_schedule
  • unschedule_post Cancel the schedule on one or more platforms, reverting to draft once the last one is removed.

Checking before you post

tools/validation.py · tools/conversion.py

  • validate_post_content Dry-run content against a platform's hard limit, counting rules, threading requirements and media constraints. Returns warnings and mutates nothing.
  • convert_post_content Adapt one post’s content from one platform to others, in place on the same post. Mechanical, not a model call.

Media

tools/media.py · tools/video.py · uploads.py

  • upload_media Upload an image, video, GIF or PDF and get CDN URLs back for use in a post’s media list.
  • transcribe_video Transcribe a video and return the transcript, time-coded segments and duration. Can create drafts from it in the same call.
  • file_manager Browse the caller’s own machine for a file to attach.
  • list_files List files in a directory the caller has pointed at.
  • read_file Read one local file for upload.

Comments and replies

tools/comments.py · tools/manual_comment.py

  • get_internal_comments Read the team notes attached to a post inside Postey. These are never published to the network.
  • review_post_content_and_add_comments_for_virality Analyse a post and leave internal improvement notes on it. Model-backed, and it stays inside Postey. Paid — can_use_ai · can_use_comments
  • get_platform_comments List real comments left by other people on the published post. LinkedIn, X, YouTube, Instagram and Bluesky.
  • reply_to_platform_comment Reply to one of those comments, published directly on the network.

Accounts, teams and tags

tools/accounts.py · tools/teams.py · tools/connect.py · tools/tags.py · tools/auto_dm.py

  • get_accounts Every social account the caller can reach, with its connected platforms. Superseded by the accounts resource where the client can read resources.
  • connect_account Start a connection or a re-authorisation. Returns a link for you to open. The agent never receives a credential.
  • get_teams List the teams the caller belongs to.
  • get_team_info Full team detail, including the member list, so an agent can turn a UUID on a post into a person.
  • add_tag Attach a tag to an existing post. Idempotent.
  • remove_tag Detach a tag from a post. The tag itself survives. Idempotent.
  • configure_auto_dm Attach or remove Auto-DM rules on a post that is already scheduled. Paid — can_use_auto_dm

19 resources

Read-only state an agent can fetch without spending a tool call. A client that can read MCP resources should read these instead of calling the equivalent tool.

  • postey://accounts
  • postey://accounts/{account_id}
  • postey://accounts/{account_id}/analytics
  • postey://accounts/{account_id}/analytics/posts
  • postey://accounts/{account_id}/automations
  • postey://accounts/{account_id}/tags
  • postey://notifications
  • postey://platform-limits
  • postey://platforms/{platform}/actions
  • postey://platforms/{platform}/rules
  • postey://posts/{post_id}/analytics
  • postey://posts/{post_id}/comments/{platform}
  • postey://posts/{post_id}/content/{platform}
  • postey://posts/{post_id}/publish-status
  • postey://setup
  • postey://skill-manifest
  • postey://teams
  • postey://teams/{team_id}
  • postey://teams/{team_id}/members

7 prompts

Server-supplied prompts. Your client lists them as slash commands, so the wording that gets sent is ours and stays consistent between clients.

  • compose-post
  • review-for-virality
  • repurpose-content
  • improve-post
  • analyze-engagement
  • generate-captions-from-transcript
  • generate-captions-batch

What the surface reaches

The publishing tools cover 9 networks: X, LinkedIn, Bluesky, Threads, TikTok, Instagram, YouTube, Facebook, Pinterest. Analytics collection is a smaller set than publishing, and the analytics resources say so rather than returning a shape that pretends otherwise.

Two tools are worth reading the description of before you wire them up. publish_draft is irreversible and public, so the server requires your explicit confirmation in the same turn rather than trusting the model to have asked. create_post refuses to run until the agent has read your account list and had you confirm which accounts it may write to. The guard is in the tool, not in a sentence of prose the model may skip.

A first-party MCP server is not the unusual part any more; several social tools ship one. What varies between them is the surface, which is why the whole of ours is printed above rather than summarised.

Where the free plan stops

Connecting an agent does not need a paid plan. An MCP key is deliberately outside the paid API-key entitlement. Several of the tools it can see are behind one. This is the list, so you find out here rather than at the first refusal.

  • Connect an agent and list the surface An MCP key sits outside can_use_api_keys. See app/routers/v1/api/keys.py Free
  • Create, read and update drafts Free caps drafts at 5 per social set Free
  • Publish a draft to the networks publishing: true, so 15 publishes per platform per 30 days Free
  • Schedule a post, or move one can_schedule, without which schedule_post and update_schedule refuse Paid plan
  • Ask for AI review notes on a draft can_use_ai and can_use_comments, both checked Paid plan
  • Attach Auto-DM rules to a scheduled post can_use_auto_dm Paid plan
  • Read the analytics resources can_use_analytics, and the paywall runs before the query Paid plan

Read from the live plan catalog at srvr.postey.ai/v1/payment/plans and the entitlement checks in app/core/mcp/tools/, 18 August 2026.