Skip to main content
Glama

Expense close pack

wever_expense-close-pack
Read-only

Commerce Assurance: submit one period with its payment, receipt and refund records. The signed close pack totals the period by counterparty, by tool or service and by category, each net of the refunds tied to it, lists the exceptions (payments with no receipt, duplicate payments, unmatched refunds, refunds larger than their payment, records outside the period) and closes with a plain summary. Records-based: live wallet activity is wever_wallet-statement. Verdict ready_to_close or exceptions_to_resolve. POST /api/expense-close-pack. Reads only the material in the call: no page fetch, no account access, no counterparty contact and no money movement. 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/commerce-assurance-contract. Human page: https://weverlabs.com/diligence-checks/.

Input Schema

NameRequiredDescriptionDefault
labelNoOptional name recorded in the report.
periodYes
refundsNoRefund records.
currencyNoCurrency for rows that state none.
paymentsYesPayment records.
receiptsNoReceipt records.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

Goes well past the annotations by disclosing the payment model (0.10 USDC per call via x402 exact, 10 free signed-wallet calls per rolling 30 days), the required X-Wever-Wallet-Proof binding to the exact JSON arguments and route, and the Ed25519 signed receipt in the response. What it leaves out is retry/idempotency behavior despite idempotentHint=false and a per-call price, which matters for a paid POST.

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 with what the tool produces, then routing, then constraints, pricing and contract pointers; every clause carries information. It is dense but justified for a paid tool with auth requirements, though the contract and human-page URLs add bulk that could be trimmed.

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?

With no output schema, the description still tells the agent the shape of the result (aggregated totals, exception list, plain summary, signed receipt, verdict), which is enough to act on the response. The nested period/payment/receipt objects and currency handling are left to the schema, a minor gap for a 6-parameter nested-input tool.

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 83%, so the schema already documents most fields. The description adds real semantic meaning by naming the roll-up dimensions (counterparty, tool/service, category) and the exception rules (payments with no receipt, duplicate payments, unmatched refunds, over-sized refunds, records outside the period), which explains why receipt_id, payment_id and dates matter, but it does not clarify per-field edge cases such as the amount-as-text form or the fallback currency.

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?

Names a specific action (submit one period with its payment, receipt and refund records) and the concrete artifact produced (a signed close pack with per-counterparty, per-tool and per-category totals plus an exception list). It explicitly separates itself from the closest sibling: 'Records-based: live wallet activity is wever_wallet-statement.'

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

Usage Guidelines5/5

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

The records-based vs live-wallet split gives a clear selection rule against the nearest alternative, and the verdict language ('ready_to_close or exceptions_to_resolve') tells the agent what outcome to expect. It also states the scope of what the call touches (no page fetch, no account access, no counterparty contact, no money movement), which bounds when this tool is appropriate.

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.