Postey
Claude, ChatGPT 또는 모든 MCP 클라이언트에서 9개 소셜 네트워크에 게시물을 작성, 예약 및 게시하며, 각 네트워크마다 별도의 캡션을 사용합니다.
호스팅형 MCP 서버
npx add-mcp 'https://mcp.postey.ai/mcp'Claude Code, Codex, Cursor 등에 설치됩니다
문서
Postey connects ChatGPT, Claude and other AI apps to your social accounts. Ask for a post in chat. Your AI writes one for each network, shows you the drafts, and posts when you say yes.
Free to start: publish up to 15 posts per network every 30 days.
In ChatGPT
In Claude
Ask once. Your AI does the rest.
Publish everywhereFree
“Turn this blog post into posts for LinkedIn and X.”
Learn what worksPaid plans
“How did my last five posts do?”
Your AI asks before anything goes live.
Publishing, scheduling, deleting and replying are marked as actions that change things, so your AI shows you the draft and waits for your yes. Postey also tells it to check your account list and confirm which account to post to.
Free
- Use Postey from ChatGPT, Claude and other AI apps
- A caption written for each network
- Publish up to 15 posts per network every 30 days
Set up your app.
Make a free Postey account, then paste this link into your AI app and sign in.
https://mcp.postey.ai/mcp
It’s Postey’s MCP server, the standard way AI apps connect to other tools.
ChatGPT
- In ChatGPT, open Plugins → + → Add custom MCP server.
- Name it Postey, paste the link, leave sign-in set to OAuth, tick the risk notice and select Create. Then sign in to Postey in your browser. Step-by-step ChatGPT guide
Claude
- In Claude, open Customize → Connectors → + → Add custom connector.
- Paste the link and sign in to Postey in your browser. Step-by-step Claude guide
Other apps: Hermes, OpenClaw, Muse, Grokbot, and the terminal
Hermes
- Register Postey with the config commands. Hermes refuses a direct edit of its config file.
- Sign in, then restart the gateway from another terminal.
- No browser on that machine? Mint an MCP key in Postey, set mcp_servers.postey.auth to none, send the key as headers.X-API-Key and skip hermes mcp login.
hermes config set mcp_servers.postey.url https://mcp.postey.ai/mcp
hermes config set mcp_servers.postey.auth oauth
hermes config set mcp_servers.postey.skip_preflight true
hermes mcp login postey
hermes gateway restart
OpenClaw Preview
- Mint an MCP key in Postey under Settings → AI & Agents → Advanced.
- Add Postey to ~/.openclaw/openclaw.json as a remote server, then restart OpenClaw.
{
"mcpServers": {
"postey": {
"type": "http",
"url": "https://mcp.postey.ai/mcp",
"headers": { "X-API-Key": "mk_..." }
}
}
}
Muse
- Mint an MCP key in Postey under Settings → AI & Agents → Advanced.
- Add Postey to Muse as a remote MCP server with this entry.
{
"mcpServers": {
"postey": {
"type": "http",
"url": "https://mcp.postey.ai/mcp",
"headers": { "X-API-Key": "mk_..." }
}
}
}
Grokbot
- Mint an MCP key in Postey under Settings → AI & Agents → Advanced.
- Add Postey to Grokbot as a remote MCP server with this entry.
{
"mcpServers": {
"postey": {
"type": "http",
"url": "https://mcp.postey.ai/mcp",
"headers": { "X-API-Key": "mk_..." }
}
}
}
From a terminal
# Claude Code
claude mcp add --transport http postey \
https://mcp.postey.ai/mcp --scope user
# Codex CLI
codex mcp add postey --url https://mcp.postey.ai/mcp
Developer reference Authentication, MCP keys and the full tool list. You don’t need any of this to connect.
How authentication works
An unauthenticated call is refused with a challenge that points at the discovery document. A client that supports it registers itself, opens your browser, and you grant access. No API key to copy.
$ curl -sD - -X POST https://mcp.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://mcp.postey.ai/.well-known/
oauth-protected-resource/mcp"
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"],
"client_id_metadata_document_supported": true
}
Prefer a key
A client that can’t open a browser, such as a cron job or a server, sends an MCP key instead. Mint one in Postey under Settings → AI & Agents → Advanced and send it as the header below or as a bearer token. Every grant is listed there and can be revoked one at a time.
{
"mcpServers": {
"postey": {
"type": "http",
"url": "https://mcp.postey.ai/mcp",
"headers": { "X-API-Key": "mk_..." }
}
}
}
Drafts
8 create_post · update_post · get_posts · get_post_content · delete_draft · restore_post · restore_posts · resolve_share_link
tools/posts.py
create_postCreate a draft. The tool tells the agent to read your account list and confirm which account to use first.update_postOverwrite an existing draft or scheduled post. Updating a published post does not re-publish it.get_postsList post summaries for an account, filtered by platform and status. Summaries only, no post text.get_post_contentRead the full per-platform content of one post.delete_draftSend a draft to the trash, or delete it permanently. Drafts only.restore_postBring a post back out of the trash with its content intact.restore_postsRestore several trashed posts at once. The result lists restored posts and explains any failures.resolve_share_linkResolve a Postey share URL to post metadata. The only way in when a share link is all the agent has.
Publish & schedule
5 publish_draft · schedule_post · get_schedule · update_schedule · unschedule_post
tools/publishing.py · tools/scheduling.py
publish_draftPublish a draft to the selected platforms now. Flagged as a write action, so your app asks before it publishes.schedule_postSchedule a draft. Each platform carries its own timestamp, so a set can be staggered. Paid planget_scheduleRead a scheduled post back: platforms, UTC times, post actions and Auto-DM rules.update_scheduleChange the time or the platform set on a scheduled post. Paid planunschedule_postCancel the schedule on one or more platforms, reverting to draft once the last one is removed.
Pre-flight checks
2 validate_post_content · convert_post_content
tools/validation.py · tools/conversion.py
validate_post_contentDry-run content against a platform's hard limit, counting rules, threading requirements and media constraints. Returns warnings and mutates nothing.convert_post_contentAdapt one post’s content from one platform to others, in place on the same post. Mechanical, not a model call.
Media
4 upload_media · file_manager · list_files · read_file
tools/media.py · uploads.py
upload_mediaUpload an image, video, GIF or PDF and get CDN URLs back for use in a post’s media list.file_managerOpen a drop zone in the chat. A file dropped there goes to the CDN and comes back as a URL.list_filesList the files uploaded through that drop zone. They are kept for 24 hours.read_fileGet one uploaded file’s URL, name, size and type by its id. Never the bytes.
Comments and replies
5 get_internal_comments · review_post · get_review_status · get_platform_comments · reply_comment
tools/comments.py · tools/manual_comment.py
get_internal_commentsRead the team notes attached to a post inside Postey. These are never published to the network.review_postAnalyse a post and leave internal improvement notes on it. Model-backed, and it stays inside Postey. Paid planget_review_statusCollect the result of a review_post run by its job id. Reading the status is free and never starts a second pass.get_platform_commentsList real comments left by other people on the published post. LinkedIn, X, YouTube, Instagram, Bluesky and Facebook. Paid planreply_commentReply to one of those comments, published directly on the network.
Accounts & teams
6 get_accounts · connect_account · get_teams · get_team_info · add_tag · remove_tag
tools/accounts.py · tools/teams.py · tools/connect.py · tools/auth_link.py · tools/tags.py
get_accountsEvery social account the caller can reach, with its connected platforms. Superseded by the accounts resource where the client can read resources.connect_accountStart a connection or a re-authorisation. Returns a link for you to open. The agent never receives a credential.get_teamsList the teams the caller belongs to.get_team_infoFull team detail, including the member list, so an agent can turn a UUID on a post into a person.add_tagAttach a tag to an existing post. Idempotent.remove_tagDetach a tag from a post. The tag itself survives. Idempotent.
Resources
20 Read-only state an agent can fetch without spending a tool call.
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://accountspostey://accounts/{account_id}postey://accounts/{account_id}/analyticspostey://accounts/{account_id}/analytics/postspostey://accounts/{account_id}/automationspostey://accounts/{account_id}/tagspostey://accounts/{account_id}/trashpostey://notificationspostey://platform-limitspostey://platforms/{platform}/actionspostey://platforms/{platform}/rulespostey://posts/{post_id}/analyticspostey://posts/{post_id}/comments/{platform}postey://posts/{post_id}/content/{platform}postey://posts/{post_id}/publish-statuspostey://setuppostey://skill-manifestpostey://teamspostey://teams/{team_id}postey://teams/{team_id}/members
Prompts
7 Server-supplied prompts your client lists as slash commands.
Server-supplied prompts. Your client lists them as slash commands, so the wording that gets sent is ours and stays consistent between clients.