check_approval
Check if an action requiring human approval is pending, approved, rejected, or expired. Submit a decision only after explicit user instruction.
Instructions
Check the status of a pending approval, or submit a decision.
WHEN TO USE: Only when the user asks you to check an approval or when you need to verify approval status before proceeding with a previously held action.
POLL MODE (no decision parameter): Returns the current status of an approval.
status="pending": approval is still awaiting a human decision. Inform the user it is still pending and STOP. Do NOT poll in a loop — wait for the user to ask you to check again.
status="approved": the action has been approved. You may now proceed with the original action that was held.
status="rejected": the action was denied. Return the rejection reason to the user and STOP. Do not retry.
status="expired": the approval timed out without a decision. Inform the user and STOP.
DECIDE MODE (decision + justification parameters): Submits a decision after the user explicitly instructs you to approve or reject.
You MUST present the full approval context (threat type, severity, risk factors) to the user FIRST.
You MUST wait for the user's EXPLICIT instruction (e.g., "approve it", "reject it") before calling with a decision.
NEVER decide autonomously — always require explicit human instruction.
High/critical severity approvals can ONLY be decided via the Shrike dashboard — the server will reject MCP-submitted decisions for these.
Low/medium severity approvals have a 60-second cooldown after creation before decisions are accepted.
If the server returns a 403 error, inform the user of the reason and direct them to the dashboard if needed.
IMPORTANT: Do NOT automatically poll in a loop. Approvals may take minutes to hours. Inform the user of the pending status and wait for them to ask you to check again.
Enterprise context: Provides the human-in-the-loop control required for compliance (GDPR Art. 22, SOC2 CC8.1). Every decision is recorded with full audit trail.
ERROR HANDLING: If this tool returns an error, inform the user. Do NOT proceed with the original action without a confirmed approval.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| approval_id | Yes | The approval ID returned by a scan tool when action was require_approval | |
| decision | No | Submit a decision ONLY after the user explicitly instructs you to approve or reject. Never decide autonomously. | |
| justification | No | Reason for the decision (recommended for rejections) |