Skip to main content
Glama

Approval policy check

wever_approval-policy-check
Read-only

Agent Accountability: submit a spend-control design with both momentary approvals (approvers, when an approved payment is checked against standing limits, whether approving changes a limit) and standing limits set in advance, its conflict rule, its exception path and its execution paths. The signed report says whether approvals and standing limits are distinguished at all, which one wins when a one-off approval exceeds a standing limit, and every path where approving in the moment silently overrides policy set in advance. One action against one approval and policy is wever_policy-precedence-check. Verdict approval_overrides_policy, conflict_unresolved or policy_holds. POST /api/approval-policy-check. Reads only the material in the call: no network request, fetch, money movement, message, sharing, configuration change or external write. Paid URL: 0.10 USDC per call on Base via x402 exact, with the shared 10 signed-wallet free calls per rolling 30 days. Bind X-Wever-Wallet-Proof to the exact JSON arguments and the tool route. Returns a report with an Ed25519 signed receipt. Contract: /api/agent-accountability-contract. Human page: https://weverlabs.com/agent-accountability/.

Input Schema

NameRequiredDescriptionDefault
labelNoOptional name recorded in the report.
pathsNoExecution paths.
policiesYesStanding limits set in advance.
approvalsYes
exceptionNo
conflict_ruleNoWhich governs when an approval exceeds a standing limit.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior5/5

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

The annotations only say readOnly/non-destructive/non-open-world, and the description adds substantial context beyond them: it explains that POST /api/approval-policy-check performs no network request, fetch, money movement, message, sharing, configuration change, or external write, which reconciles the POST verb with readOnlyHint. It also discloses pricing (0.10 USDC per call via x402 exact, 10 signed-wallet free calls per rolling 30 days), the required X-Wever-Wallet-Proof header binding to the exact JSON arguments and route, and that the response carries an Ed25519 signed receipt. That is exactly the paid-auth and output-provenance context an agent needs and cannot get from annotations.

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

Conciseness3/5

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

Almost every clause carries information (verdicts, pricing, auth binding, receipt, contract URL), but it is delivered as one undifferentiated run-on block with no breaks between purpose, routing, safety, and billing. The 'Agent Accountability:' prefix and the dense parenthetical stacking of approvals semantics make the first read harder than necessary. Front-loading the core action before the framing would materially improve it.

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 nested six-parameter evaluation tool with no output schema, the description covers what matters: what to supply, what verdicts come back, that the report is Ed25519-signed, the cost, and the auth header requirement. It does not cover error or validation behavior, and it leaves the label and checks_policy inputs unexplained. These are minor against an otherwise complete operational picture.

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 coverage is 67%, so the description must carry some weight, and it does: it maps 'approvers', 'when an approved payment is checked against standing limits' (approvals.checked), 'whether approving changes a limit' (raises_limit), 'standing limits set in advance' (policies), 'its conflict rule' (conflict_rule), 'its exception path' (exception), and 'its execution paths' (paths). It adds conceptual meaning to the conflict rule by restating it as 'which one wins when a one-off approval exceeds a standing limit'. Gaps remain: label and paths.checks_policy are never explained in prose.

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?

The description names a specific verb-and-resource pair (submit a spend-control design with momentary approvals plus standing limits) and names the exact artifacts produced (a signed report with verdict approval_overrides_policy, conflict_unresolved, or policy_holds). It also distinguishes itself from one sibling, wever_policy-precedence-check. The core purpose is buried behind the 'Agent Accountability:' framing and a very long first sentence, which costs it the top score.

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?

It gives one explicit routing rule with the distinguishing condition: 'One action against one approval and policy is wever_policy-precedence-check.' That is real when-to-use-this-instead guidance rather than implied usage. However, several near-identical siblings (wever_payment-policy-check, wever_spending-policy-check, wever_approval-chain-check, wever_budget-controls-check) go unaddressed, so the exclusion set is incomplete.

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.