Skip to main content
Glama

Synthex Forge — x402 Paid Agent Services

Check Policy Decision

check_policy_decision
Destructive

Whether one action is permitted for one caller under one. use it rather than verify_policy_decision for decision specifically; an object with 29 fields including algorithm, asOf. $0.1 USDC.

Input Schema

NameRequiredDescriptionDefault
as_ofNoThe date the answer is computed as of (YYYY-MM-DD). Defaults to today. Use it to reproduce a past answer exactly.
actionNoThe action being recorded or evaluated.
policyNoThe policy document or policy id the decision is evaluated against.
caller_stateNoThe caller state this operation operates on. See the schema for its type and whether it is required.

Output Schema

NameRequiredDescriptionDefault
asOfNoThe `asOf` field of the response.
kindNoThe `kind` field of the response.
noteNoA note on how the answer was produced.
ruleNoThe rule or criteria that decided the verdict.
limitNoThe `limit` field of the response.
detailYesHuman-readable explanation of the verdict.
errorsNoThe `errors` field of the response.
key_idNoThe `key_id` field of the response.
reasonNoWhy the verdict was reached.
resultNoThe `result` field of the response.
sha256NoThe `sha256` field of the response.
decisionNoThe `decision` field of the response.
observedNoThe `observed` field of the response.
signedByNoThe `signedBy` field of the response.
algorithmNoThe `algorithm` field of the response.
evaluatedNoThe `evaluated` field of the response.
signatureYesThe Ed25519 signature over the evidence core, base64-encoded.
ed25519SigNoThe `ed25519Sig` field of the response.
violationsNoThe `violations` field of the response.
evidenceCoreNoThe `evidenceCore` field of the response.
policySha256NoThe `policySha256` field of the response.
publicKeyHexNoThe `publicKeyHex` field of the response.
rulesVersionNoVersion of the rules evaluated.
output_sha256YesSHA-256 hex digest of the canonical evidence core.
policy_sha256NoThe `policy_sha256` field of the response.
rules_versionNoThe `rules_version` field of the response.
profileVersionNoVersion of the answer profile.
canonicalSha256NoThe `canonicalSha256` field of the response.
reproducibilityNoThe `reproducibility` field of the response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed31 schema fields changed
    • addedOutput schema / properties / algorithm
      Added value: +{
      +  "description": "The `algorithm` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / asOf
      Added value: +{
      +  "description": "The `asOf` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / canonicalSha256
      Added value: +{
      +  "description": "The `canonicalSha256` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / decision
      Added value: +{
      +  "description": "The `decision` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / detail
      Added value: +{
      +  "description": "Human-readable explanation of the verdict.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / ed25519Sig
      Added value: +{
      +  "description": "The `ed25519Sig` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / errors
      Added value: +{
      +  "description": "The `errors` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / evaluated
      Added value: +{
      +  "description": "The `evaluated` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / evidenceCore
      Added value: +{
      +  "description": "The `evidenceCore` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / key_id
      Added value: +{
      +  "description": "The `key_id` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / kind
      Added value: +{
      +  "description": "The `kind` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / limit
      Added value: +{
      +  "description": "The `limit` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / note
      Added value: +{
      +  "description": "A note on how the answer was produced.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / observed
      Added value: +{
      +  "description": "The `observed` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / output_sha256
      Added value: +{
      +  "description": "SHA-256 hex digest of the canonical evidence core.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / policySha256
      Added value: +{
      +  "description": "The `policySha256` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / policy_sha256
      Added value: +{
      +  "description": "The `policy_sha256` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / profileVersion
      Added value: +{
      +  "description": "Version of the answer profile.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / publicKeyHex
      Added value: +{
      +  "description": "The `publicKeyHex` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / reason
      Added value: +{
      +  "description": "Why the verdict was reached.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / reproducibility
      Added value: +{
      +  "description": "The `reproducibility` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / result
      Added value: +{
      +  "description": "The `result` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / rule
      Added value: +{
      +  "description": "The rule or criteria that decided the verdict.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / rulesVersion
      Added value: +{
      +  "description": "Version of the rules evaluated.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / rules_version
      Added value: +{
      +  "description": "The `rules_version` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / sha256
      Added value: +{
      +  "description": "The `sha256` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / signature
      Added value: +{
      +  "description": "The Ed25519 signature over the evidence core, base64-encoded.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / signedBy
      Added value: +{
      +  "description": "The `signedBy` field of the response.",
      +  "type": "object"
      +}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / violations
      Added value: +{
      +  "description": "The `violations` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / required
      Added value: +[
      +  "detail",
      +  "output_sha256",
      +  "signature"
      +]
  2. Added

TDQS

C2.6/5.0
Behavior2/5

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

Useful additions exist: the output is "an object with 29 fields including algorithm, asOf" and the call costs $0.1 USDC. But annotations declare destructiveHint=true and readOnlyHint=false, and the description gives no indication of what state is mutated or lost — a serious omission for a tool that presents itself as a permission check.

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

Conciseness2/5

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

It is short, but it is not well formed: a truncated lead sentence followed by two sentence fragments separated by semicolons. Front-loading is undermined because the core statement is ungrammatical.

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

Completeness2/5

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

An output schema exists, so return values needn't be re-explained, yet the description's biggest gap is behavioral: a destructive, non-idempotent, paid operation with no explanation of side effects or what is destroyed. Cost is disclosed, but the safety profile an agent needs before invoking it is not.

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 `as_of`, `action`, `policy`, and `caller_state` are already documented in the schema. The description adds nothing parameter-specific (it does not even mention `as_of` reproducibility semantics beyond what the schema says), so baseline 3 applies.

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

Purpose3/5

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

The fragment "Whether one action is permitted for one caller under one" gestures at a verb+resource (evaluate an action against a policy for a caller), and it names the sibling `verify_policy_decision` to contrast with. But the sentence is truncated mid-thought ("under one"), so the scope of the evaluation is never actually stated and an agent must infer it.

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

Usage Guidelines3/5

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

"use it rather than `verify_policy_decision` for decision specifically" is a real routing instruction to an alternative. However, it is awkwardly worded and gives no conditions, prerequisites, or when-not guidance beyond that single comparison.

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.