Skip to main content
Glama
PlanPost MCP Server
by lukBB

submit_for_approval

Submit a social post for human approval when your API key requires sign-off. Returns an approve link and approval ID to poll; approved posts auto-schedule if a publish time is set.

Instructions

Submit a post for human approval. Use this when your API key requires approval (or whenever you want a human to sign off before publishing). Returns an approve link and an approval ID to poll. On approval the post auto-schedules if it has a scheduledFor time.

Input Schema

NameRequiredDescriptionDefault
postIdYesPost ID to submit (create it first with create_post)
supersedeNoIf the post already has a pending approval, replace it (default false → returns 409)
expiresInDaysNoAuto-expire the approval link after N days
reviewerEmailNoE-mail the approve link to a specific reviewer (e.g. the client). Omit to notify the team's approvers in-app.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4/5.0
Behavior4/5

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

Annotations only declare the generic mutation profile (not read-only, not destructive, not idempotent), so the description adds real value: it discloses the returned approve link and approval ID, and the important downstream side effect that an approved post auto-schedules when it has a scheduledFor time. It stops short of covering permission/auth requirements or what happens on expiry beyond the schema's expiresInDays note.

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

Conciseness5/5

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

Three tight sentences: purpose first, usage condition second, return and side-effect behavior third. Every sentence contributes new information and there is no filler.

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

Completeness4/5

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

For a four-parameter mutation with no output schema, the description covers purpose, trigger conditions, return payload, and the post-approval scheduling behavior, which is enough to call it correctly. Minor gap: it does not mention the sibling get_approval_status that a caller would use to poll the returned approval ID.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters (postId, supersede, expiresInDays, reviewerEmail) are already well documented, including the 409 default behavior. The description adds no parameter-level meaning beyond referencing scheduledFor, which is a post field, not an input here. Baseline 3 applies when the schema carries the parameter burden.

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

Purpose4/5

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

States a specific verb and resource ("Submit a post for human approval") with a qualifier that separates it from a plain publish. It does not explicitly name publish_post or create_post as the alternatives, so the distinction is implied rather than stated.

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

Usage Guidelines4/5

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

Gives two explicit triggering conditions: the API key requires approval, or the caller wants a human sign-off before publishing. That is clear when-to-use guidance, but it never says when to skip this tool and call publish_post directly, nor does it point to get_approval_status for polling.

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