Skip to main content
Glama

Push action for approval

impri_push_action

Submit an action to the Impri human-approval inbox.

The action appears in the operator's web and mobile inbox as a card with a title, formatted preview, and optional tap-to-edit fields. The operator approves or rejects with one tap; you poll for the decision with impri_await_decision.

Returns { action_id, status: "pending", inbox_url }. Save action_id — you need it for all follow-up calls.

Example — send a draft Reddit reply for review: kind: "reddit.comment" title: "Reply: Why is resume advice so conflicting?" preview: { format: "markdown", body: "The advice conflicts because different advisors optimise for different audiences..." } target_url: "https://reddit.com/r/cscareerquestions/comments/..." editable: ["preview.body"] // lets the reviewer tweak wording before approving

Input Schema

NameRequiredDescriptionDefault
kindYesTaxonomy label used for inbox filtering (e.g. 'reddit.comment', 'email.send', 'blog.publish'). Free-form; choose a consistent scheme.
titleYesShort headline shown in the inbox card. Keep it under 120 characters.
payloadNoOpaque data echoed back in the webhook callback — useful for storing context (e.g. Reddit post id, draft id, queue position). Not shown to the reviewer.
previewYesThe content the reviewer reads before deciding.
editableNoDot-notation fields the reviewer may edit before approving (e.g. ['preview.body']). The final edited values are echoed back in the approved action.
expires_inNoSeconds until the action auto-expires (default 86400 = 24 h). After expiry the status becomes 'expired' and no decision can be made.
target_urlNoURL the reviewer can open for context (e.g. the Reddit thread, the email draft). Optional but strongly recommended.
idempotency_keyNoStable key to prevent duplicate submissions on retry. The same key within 24 h returns the original action instead of creating a new one.

Output Schema

NameRequiredDescriptionDefault
statusYesAlways 'pending' immediately after creation.
action_idYes
inbox_urlYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare the write/no-idempotency/no-destruction safety profile, so the description carries the behavioral burden and does it well: reviewer-facing card composition, the fact that editable fields are echoed back, the pending status contract, and an explicit instruction to persist action_id for follow-up calls. This is context an agent cannot infer from the structured fields.

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?

Front-loaded purpose, then workflow, then return contract, then a concrete example — a sensible information hierarchy with no filler sentences. The Reddit example is somewhat long relative to the rest, but it earns its space by demonstrating the optional/editable fields concretely.

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?

With 8 parameters, nested objects, full schema coverage and an output schema, the only remaining agent questions are the workflow and follow-up path — both are answered, including the sibling poll and the need to retain action_id. Nothing material is missing for correct invocation.

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 description coverage is already 100%, so baseline is 3. The worked example adds meaning beyond the schema by showing how kind, title, preview, target_url, and editable combine in a realistic call, and by demonstrating the dot-notation value for editable. It doesn't add format constraints the schema lacks, so it lands just above baseline.

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?

States a specific verb+resource ("Submit an action to the Impri human-approval inbox") and immediately frames the workflow, which an agent can distinguish from siblings like impri_report_result or impri_create_watcher. The example reinforces the resource shape. No ambiguity about what gets created.

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?

Explains the workflow context (operator approves/rejects, you poll for the decision) and explicitly routes the agent to impri_await_decision for the follow-up step, which is real alternative-routing value. It stops short of any when-not guidance or prerequisites (auth, rate limits), so it is clear context rather than a complete decision rule.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.