unschedule_draft
Cancel a scheduled publish and keep the post as a draft. Provide the post ID to unschedule, reverting it to draft status for future editing or rescheduling.
Instructions
Cancel a scheduled publish, keeping the post as a draft.
Args: post_id: Draft ID.
Returns: {post_id}
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| post_id | Yes |
Implementation Reference
- src/substack_mcp/server.py:164-174 (handler)MCP tool handler for unschedule_draft. Decorated with @mcp.tool(), it accepts a post_id string and delegates to SubstackClient.unschedule_draft().
@mcp.tool() def unschedule_draft(post_id: str) -> dict: """Cancel a scheduled publish, keeping the post as a draft. Args: post_id: Draft ID. Returns: {post_id} """ return _get_client().unschedule_draft(post_id=post_id) - src/substack_mcp/server.py:164-174 (registration)The @mcp.tool() decorator registers this function as an MCP tool named 'unschedule_draft'.
@mcp.tool() def unschedule_draft(post_id: str) -> dict: """Cancel a scheduled publish, keeping the post as a draft. Args: post_id: Draft ID. Returns: {post_id} """ return _get_client().unschedule_draft(post_id=post_id) - src/substack_mcp/client.py:269-271 (helper)SubstackClient.unschedule_draft() method that calls self._api.unschedule_draft(post_id) and returns a dict with post_id and raw result.
def unschedule_draft(self, post_id: str) -> dict: result = self._api.unschedule_draft(post_id) return {"post_id": post_id, "raw": result}