Skip to main content
Glama
posterly-mcp-server

posterly-mcp-server

by awpthorp

delete_post

DestructiveIdempotent

Permanently remove single posts or unpublished groups only after preview and explicit confirmation; optionally take published content down or remove just the record.

Instructions

Delete posts. DESTRUCTIVE and IRREVERSIBLE: deleted posts and captions cannot be recovered. post_id: delete one post; fetch it with get_post first, show the user what will be deleted (caption, account, scheduled time), and pass confirm=true only after explicit confirmation ("yes delete it", "remove it"). A post that is currently publishing is never deleted. A published post is taken down only when the user also explicitly confirms the live removal: delete_mode=platform with confirm_published=true takes the live post down too; delete_mode=posterly removes only the posterly record and leaves it up. Live deletion supports eligible connected platforms with saved post IDs and deletion permissions; refusals keep the record. Threads requires threads_delete. YouTube requires youtube.force-ssl or equivalent, upload alone is insufficient. A published post with no live URL and no platform id is removed from posterly only. group_id: delete every draft, scheduled, failed, or paused post matching a caller-defined group_id, post_group_id, api_group_id, or release_id. A group delete never removes published posts. Preview then confirm: call without confirm to get a preview and preview_id, show it, then call again with confirm=true and that preview_id. Never delete several posts one by one without listing each and confirming the full list.

Input Schema

NameRequiredDescriptionDefault
confirmNopost_id: true after explicit user confirmation of the deletion. group_id: leave out to get a preview; true only with the preview_id after the user approved it.
post_idNoDelete this one post.
group_idNoDelete every unpublished post in this group or release instead. Never deletes published posts.
preview_idNogroup_id: the preview_id from the preview call. Required with confirm: true.
delete_modeNoposterly removes only the record; platform also takes down live content and requires confirm_published=true.
confirm_publishedNoWith post_id only. True only after the user explicitly confirms taking a live post down. Required with delete_mode=platform.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.55.1

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false, but the description adds material behavior beyond them: irreversibility of posts and captions, the rule that a currently-publishing post is never deleted, that live takedown needs delete_mode=platform plus confirm_published=true, and that refusals keep the record. It also discloses platform authorization requirements (Threads requires threads_delete, YouTube requires youtube.force-ssl, 'upload alone is insufficient'), which is the kind of prerequisite an agent cannot infer from annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The destructive warning and the two modes are front-loaded, and nearly every sentence carries operational content. It is dense and runs long, with some duplication of the schema's confirm/preview_id wording, but there is no filler prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, multi-mode tool with no output schema, the description covers the preview return value ('call without confirm to get a preview and preview_id'), the confirm loop, platform-specific authorization, and the edge cases (publishing post, published post with no live URL). An agent has everything needed to call it safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3; the description goes beyond by explaining that group_id matches a caller-defined group_id, post_group_id, api_group_id, or release_id, and by spelling out the interaction between delete_mode and confirm_published. The only shortfall is that confirm/preview_id behavior is largely restated rather than extended.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('Delete posts') and immediately splits the tool into its two operating modes (post_id single delete vs group_id bulk delete), which lets an agent distinguish it from get_post and update_post without opening any schema. Scope limits are stated explicitly, e.g. 'A group delete never removes published posts.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete when-to-use procedure: fetch with `get_post` first, show caption/account/scheduled time, and pass confirm=true only after explicit confirmation with example phrases. It also names the preview-then-confirm flow for group deletes and an exclusion ('Never delete several posts one by one without listing each and confirming the full list').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.