posterly's MCP server now has 59 tools covering 91 actions. What moved where, when the old names stop working, and what to update.
posterly's MCP server was reorganised so your AI assistant has fewer, clearer tools to choose from. Nothing was removed: 38 tools were folded into related tools as a view (for reads) or an action (for changes). The hosted endpoint now has 59 tools covering 91 actions, and the npm package has 62 tools covering 94 actions.
The REST API did not change. Only MCP tool names moved.
Do I need to do anything?
- You only chat with your assistant (ChatGPT, Claude, Cursor, Poke, and so on): no action needed. Your assistant picks up the new tools the next time it loads the tool list. In ChatGPT, if the assistant still offers old tools, refresh the posterly connector in ChatGPT's app settings (or disconnect and reconnect it).
- You use the npm package with
npx -y posterly-mcp-server@latest: restart your MCP client to load version 0.45.0. A version you pinned yourself keeps its old tool list until you upgrade.
- You have scripts, agent skills, saved prompts, or automations that call tools by name: switch them to the new names below. The old names keep working until the date below, so nothing breaks today.
- You approved tools with "always allow" (or keep an allowlist, for example Claude Code's permission settings): those approvals are tied to the old tool names and do not carry over. Your client asks once for each new tool; approve it again, or update your allowlist entries to the new names (for example
mcp__posterly__list_analytics instead of mcp__posterly__get_post_analytics).
When the old names stop working
The old names are hidden aliases. They are not listed any more, but a call to an old name still runs the new tool and returns the same result as before, plus a short note at the end naming the new call. Two small differences: empty cells in account tables now read "n/a", and on the hosted endpoint an old name now rejects fields it does not use (fields sent as empty or null are simply ignored). The old names may stop working after 12 January 2027 (2027-01-12). Move to the new names before then.
Until that date, an old name also keeps its old one-step confirm: confirm: true alone still runs it. The new names use preview then confirm for public and destructive actions (see below).
Preview then confirm
Actions that post publicly or delete things now take two calls on the new names:
- Call the tool without
confirm. Nothing changes. You get a plain summary of what will happen and a preview_id.
- Show the preview to the user. Only after they approve, call again with the same fields plus
confirm: true and that preview_id.
A preview expires after 10 minutes and only works for exactly the same fields and the same user. Public posts (a comment reply, a DM, a Google review reply, new Google profile media) can be confirmed once, so a retried call never posts twice. Other changes keep a single confirm: true after the user confirms.
For example, replying to a comment:
{ "name": "manage_comment", "arguments": { "action": "reply", "comment_id": "c_123", "content": "Thank you!" } }
returns a preview with a preview_id. After the user approves:
{ "name": "manage_comment", "arguments": { "action": "reply", "comment_id": "c_123", "content": "Thank you!", "confirm": true, "preview_id": "pv1...." } }
What moved where
Each row shows the old name, the tool it moved into, and the view, action, or parameter that picks the same behaviour. All other arguments stay the same.
Status and accounts
| Old name | New tool | How to call it | Preview first |
|---|
get_mcp_status | whoami | view: "status" | No |
get_connect_session | list_accounts | view: "connect_session" | No |
get_learned_voice | list_accounts | view: "learned_voice" | No |
get_performance_profile | list_accounts | view: "performance_profile" | No |
Platforms and connection links
| Old name | New tool | How to call it | Preview first |
|---|
get_platform_schema | list_platforms | view: "schema" | No |
get_connect_link | list_platforms | view: "connect_link" (the old platform parameter is now target) | No |
Brands
| Old name | New tool | How to call it | Preview first |
|---|
get_brand | list_brands | view: "brand" | No |
list_brand_accounts | list_brands | view: "accounts" | No |
get_brand_profile | list_brands | view: "profile" | No |
Posts
| Old name | New tool | How to call it | Preview first |
|---|
get_post_missing | get_post | view: "missing" | No |
update_post_status | update_post | pass status | No |
update_post_release_id | update_post | pass release_id | No |
delete_post_group | delete_post | pass group_id | Yes |
Media
| Old name | New tool | How to call it | Preview first |
|---|
upload_media_from_url | upload_media | pass url | No |
Analytics
| Old name | New tool | How to call it | Preview first |
|---|
get_account_analytics | list_analytics | view: "accounts" | No |
get_post_analytics | list_analytics | view: "posts" | No |
get_post_insights | list_analytics | view: "insights" | No |
AI jobs
| Old name | New tool | How to call it | Preview first |
|---|
get_image_job | list_jobs | type: "image" | No |
get_video_job | list_jobs | type: "video" | No |
Inbox comments
| Old name | New tool | How to call it | Preview first |
|---|
get_comment | list_comments | pass comment_id | No |
reply_to_comment | manage_comment | action: "reply" | Yes |
update_comment | manage_comment | action: "update" | No |
delete_comment | manage_comment | action: "delete" | Yes |
Inbox DMs
| Old name | New tool | How to call it | Preview first |
|---|
get_conversation | list_conversations | pass conversation_id | No |
send_message | manage_conversation | action: "send" | Yes |
sync_inbox | manage_conversation | action: "sync" | No |
Google Business reviews
| Old name | New tool | How to call it | Preview first |
|---|
get_google_business_review_link | list_google_business_reviews | view: "review_link" | No |
suggest_google_business_review_reply | manage_google_business_review | action: "suggest_reply" | No |
reply_google_business_review | manage_google_business_review | action: "reply" | Yes |
delete_google_business_review_reply | manage_google_business_review | action: "delete_reply" | Yes |
Google Business profile media
| Old name | New tool | How to call it | Preview first |
|---|
add_google_business_media | manage_google_business_media | action: "add" | Yes |
delete_google_business_media | manage_google_business_media | action: "delete" | Yes |
Webhooks
| Old name | New tool | How to call it | Preview first |
|---|
update_webhook | manage_webhook | action: "update" | No |
delete_webhook | manage_webhook | action: "delete" | Yes |
test_webhook | manage_webhook | action: "test" | No |
OAuth developer clients
| Old name | New tool | How to call it | Preview first |
|---|
create_oauth_client | manage_oauth_client | action: "create" | No |
update_oauth_client | manage_oauth_client | action: "update" | No |
delete_oauth_client | manage_oauth_client | action: "delete" | Yes |
Tools that kept their names
whoami, list_accounts, list_platforms, list_brands, get_post, update_post, delete_post, upload_media, list_comments, list_conversations, and list_google_business_reviews kept their names and now also cover the tools merged into them. Called the old way (without a view or the new parameters), each behaves exactly as before. Every other tool is unchanged. The full list with every view and action is on the MCP Server page.
Tool sets
Tools are now grouped into sets: core, creative, inbox, google_business, admin, and billing (plus signup on the npm package). Every set is on by default, so you do not need to change anything. If you want your assistant to see fewer tools, set POSTERLY_TOOLSETS=core,inbox for the npm package, or add ?toolsets=core,inbox to the endpoint URL when you connect with an API key. Any tool can still be called by name. Details: MCP Server.