Publish a draft post immediately to your Substack publication. This makes the post publicly visible to subscribers and sends it via email if enabled. IMPORTANT: You MUST ALWAYS ask the user to confirm publishing in a follow-up message BEFORE calling this tool with confirm_publish=true. Never set ...
AI agents invoke publish_post to trigger actions in Substack Mcp Plus. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call — builds kicked off, notifications sent, workflows started.
Publishing a post triggers an irreversible external operation: it makes content publicly visible and sends emails to subscribers. Once emails are sent, they cannot be recalled. This is primarily an Execute action with destructive/irreversible characteristics (sent emails cannot be unsent), making it critical severity due to the broad blast radius of mass email distribution to a subscriber base.
From the tool's definition 'Publish a draft post immediately to your Substack publication. This makes the post publicly visible to subscribers and sends it via email if enabled.' and 'This action cannot be easily undone.'
Documented attack patterns abuse exactly the kind of access publish_post gives an agent:
PolicyLayer is an MCP gateway — it sits between your AI agents and Substack Mcp Plus, and nothing reaches the server without passing your rules. This is the rule we recommend for publish_post:
{
"version": "1",
"default": "deny",
"tools": {
"publish_post": {
"limits": [
{
"counter": "publish_post_rate",
"window": "minute",
"max": 10,
"scope": "grant"
}
]
}
}
} publish_post stays usable, but rate-capped — a runaway agent can't fire it dozens of times a minute. Everything else on the server is denied unless you say otherwise.
Free to start. No card required.
Publish a draft post immediately to your Substack publication. This makes the post publicly visible to subscribers and sends it via email if enabled. IMPORTANT: You MUST ALWAYS ask the user to confirm publishing in a follow-up message BEFORE calling this tool with confirm_publish=true. Never set confirm_publish=true on the first request, even if the user explicitly asks to publish. This action cannot be easily undone. It is categorised as a Execute tool in the Substack Mcp Plus MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.
Register the Substack Mcp Plus MCP server in PolicyLayer and add a rule for publish_post: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Substack Mcp Plus. Nothing to install.
publish_post is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.
Yes. Add a rate_limit block to the publish_post rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for publish_post. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
publish_post is provided by the Substack Mcp Plus MCP server (ty13r/substack-mcp-plus). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Start from Substack Mcp Plus, add the rest of your stack, and see everything your agents can call. Then put policy on all of it.
Free to start. No card required.
12 Substack Mcp Plus tools catalogued and risk-classified — across an index of 43,000+ MCP servers.