Skip to main content
Glama

gblin-treasury-risk-regime

Server Details

GBLIN on Base for AI agents: risk regime, treasury plan for idle USDC, mint and redeem at NAV. Free.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 66 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Server Listing
@gblin-protocol/mcp-server

TDQS

A3.9/5.0

Scored across 24 tools

Disambiguation4/5

Most tools target distinct resources and the rich descriptions clarify boundaries: risk.regime (live read) vs attestation.verify (signed proof) vs risk.attestation_sample (test fixture) are distinguishable, as are the payment prepare/verify/relay trio. Minor friction comes from reused 'prepare' and 'verify' verbs across namespaces (actions.prepare vs payments.prepare; payments/attestation/receipts verify) and from docs-overlap between fetch, search, and protocol.info, but domain prefixes keep selection clear.

Naming Consistency4/5

A clean, predictable namespace.action convention (actions.prepare, payments.relay, treasury.nav_history, receipts.seal) is used throughout. The only deviations are the bare root tools fetch and search, which break the dotted pattern but remain readable and unambiguous.

Tool Count4/5

24 tools sits at the heavy edge, but the server genuinely spans several earned subdomains (vault actions, payments, risk/attestation, treasury analytics, receipts, governance, docs), and each tool contributes a distinct read, prepare, verify, or submit step. No obvious filler tools inflate the count, though it is on the upper end of ideal.

Completeness4/5

Coverage is strong: a full action lifecycle (prepare/preview/status), payments (prepare/verify/relay), risk attestation (live, sample, verify), receipts (seal/get/verify), treasury analytics (state, health, plan, quote, nav_history), governance, and docs. Gaps are minor and largely intentional, e.g. governance is read-only and there is no explicit transaction cancel/replace or direct share-balance query beyond treasury.health.

Available Tools

24 tools
actions.prepareA
Read-onlyIdempotent
Inspect

Builds the unsigned transactions for an operation on the GBLIN vault, in the order they are sent. Actions: mint_with_eth (amount in ETH), mint_with_weth (amount in WETH), mint_with_usdc (amount in USDC, through the Zap), redeem_in_kind (amount in shares; pro rata basket tokens, no fee, no price feed), exit_to_eth (amount in shares, through the Zap, all or nothing), exit_to_usdc (amount = the USDC needed), bid (trade with the rebalancing auction; row optional, the largest gap by default). Every output bound is non-zero and every step through the vault or the Zap carries its gas limit. Nothing is signed or sent: the steps are returned to the caller.

ParametersJSON Schema
NameRequiredDescriptionDefault
rowNobid only: the basket row to bid on. Default: the row with the largest gap.
actionYesThe operation to prepare.
amountNoDecimal amount. Unit depends on the action (see the description). Not used by bid.
wallet_addressYesThe wallet that will sign and receive.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nextNo
stepsYesTransactions to send in order.
actionYes
walletNo
expectedNoWhat the operation should deliver, with the minimums applied.
warningsNo

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description still adds substantive behavior: unsigned-and-unbroadcast output, step ordering, non-zero output bounds, per-step gas limits through vault and Zap, redeem having no fee and no price feed, and exit_to_eth being all-or-nothing. This is exactly the domain context annotations cannot carry.

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 the core purpose, then a dense but necessary per-action parenthetical covering all seven enum values, closing with the signing/return behavior. Efficient for the scope, though the single run-on block with embedded parentheticals is harder to scan than a short list would be.

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 4-param tool with a full output schema, the description covers action units, bid defaults, and the unsigned output contract, so an agent can call it correctly. The remaining gap is the sibling relationship to actions.preview/status and the surrounding sign-and-relay workflow, which is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (baseline 3), but the schema explicitly defers to the description for the amount unit ('see the description'), and the description supplies per-action unit semantics (ETH/WETH/USDC/shares) plus 'amount = the USDC needed' and the row default for bid. It adds genuinely necessary meaning beyond the structured field definitions.

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 precise verb and resource ('Builds the unsigned transactions for an operation on the GBLIN vault') and then enumerates every supported action with its unit and routing (mint_with_usdc through the Zap, bid against the rebalancing auction, etc.). An agent can tell what this tool does and which operation each enum value represents without opening the schema.

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?

Usage is implied rather than stated: 'Nothing is signed or sent: the steps are returned to the caller' hints that this is a build step preceding signing, but the description never names when to choose it over siblings such as actions.preview, actions.status, or payments.relay, and gives no prerequisites or exclusions.

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

actions.previewA
Read-onlyIdempotent
Inspect

Simulates a list of transactions in sequence against the latest Base block, as if the wallet sent them one after the other, before anything is signed. Each step sees the state the previous ones left (an approval before a mint works). Accepts steps with target or to, calldata or data, and optional value and gas. Returns, per step, whether it would succeed, the gas it uses, whether the gas limit it carries is enough, and the decoded revert reason when it fails; and the net token and ETH movements for the wallet. State can change before transactions land: a successful preview is evidence, not a guarantee.

ParametersJSON Schema
NameRequiredDescriptionDefault
fromYesThe wallet that will send the steps.
stepsYesThe steps, in order: target and calldata (or their send_calls spellings, to and data), value in wei (optional), gas (optional).

Output Schema

ParametersJSON Schema
NameRequiredDescription
fromNo
noteNo
blockNoThe block the simulation ran on.
stepsYesPer step: success, gas used, whether the given limit is enough, recommended limit, revert reason.
would_succeedYesTrue only if every step succeeds in the simulation.
balance_changesYesNet token and ETH movements for the wallet.
first_failing_stepNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description adds real context beyond them: each step sees prior state, the preview is 'evidence, not a guarantee' because state can change before landing, and it reports per-step success, gas, gas-limit sufficiency, and decoded revert reasons. It omits the 8-step cap and any rate/latency behavior, so not a 5.

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?

One dense, front-loaded paragraph with no filler; the state-chaining and caveat sentences are the most valuable. The enumeration of per-step return fields is somewhat redundant given an output schema exists, which keeps it from a 5.

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 simulation tool with annotations and an output schema, the description covers the crucial non-structured facts: sequential state visibility, alias spellings, and the non-guarantee caveat. The only notable omission is the maxItems: 8 limit on steps, which an agent should know before composing a batch.

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 the schema already documents from, steps, and the to/target and data/calldata aliases. The description restates the aliases and notes value and gas are optional but adds no format or semantic detail beyond the schema, which is the expected baseline when the schema does the heavy lifting.

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?

The description gives a precise verb and resource ('Simulates a list of transactions in sequence against the latest Base block') plus the key scoping qualifier 'before anything is signed', which separates it from actions.prepare. An agent can identify the operation and its pre-signing role without opening the schema.

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 clearly states the context of use: run the sequence as if the wallet sent them, before signing, so dependent steps (approval before mint) can be validated. It does not name an explicit alternative such as actions.prepare or state when not to use it, so it stops short of full when/when-not guidance.

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

actions.statusA
Read-onlyIdempotent
Inspect

Reports what a sent Base transaction did: pending, succeeded, reverted or not found; its block and confirmations; the fee paid; the net token movements for the sender (GBLIN shares minted or redeemed, USDC, basket tokens); and, when it reverted, the decoded reason.

ParametersJSON Schema
NameRequiredDescriptionDefault
hashYesThe transaction hash.

Output Schema

ParametersJSON Schema
NameRequiredDescription
toNo
fromNo
hashYes
noteNo
blockNo
revertNo
statusYes
fee_ethNo
explorerNo
gas_usedNo
gas_limitNo
confirmationsNo
balance_changesNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, open-world and non-destructive, so safety is covered. The description goes beyond that by disclosing the state machine (including 'not found' as a non-error outcome), the network (Base), and that reverted transactions come back with a decoded reason — real behavioral context an agent cannot get from annotations alone.

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?

One dense sentence, but it is front-loaded with the status outcomes and then the return contents, so the agent can stop reading early. The parenthetical token list is slightly heavy but each clause carries information.

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 single-parameter read tool with a full output schema and complete annotations, the description supplies enough: it clarifies network, outcome semantics and revert handling. The only real gap is guidance on when to reach for this versus the prepare/preview siblings.

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?

There is a single parameter with 100% schema description coverage and a regex pattern, so the schema fully documents it. The description adds only the implicit notion that the hash identifies a Base transaction; that is baseline, not added value.

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?

States a specific verb ('Reports') and a precise resource (the outcome of a sent Base transaction), and enumerates the terminal states (pending, succeeded, reverted, not found). The phrase 'a sent Base transaction' implicitly separates it from actions.prepare/actions.preview, but no sibling is named outright, so it falls short of a 5.

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?

The post-send framing ('what a sent Base transaction did') implies you call this after submitting a transaction, but there is no explicit when-to-use, no when-not-to-use, and no routing to alternatives such as actions.prepare or actions.preview. Usage must be inferred.

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

attestation.verifyA
Read-onlyIdempotent
Inspect

Verifies a GBLIN Risk Attestation, the object returned by GBLIN's /api/x402/attestation, or a proof-of-diligence attached by a peer agent. Free. Runs four checks: (1) integrity, by recomputing the EIP-712 attestation_id; (2) authenticity, by recovering the signer when a signature is present and comparing it with GBLIN's published attestor; (3) freshness, against on-chain time (10-minute validity); (4) live drift, by comparing the attested regime with the current on-chain regime.

ParametersJSON Schema
NameRequiredDescriptionDefault
attestationYesThe full attestation object from /api/x402/attestation (must include `eip712`; `attestation_id`, `signature`, `attestor` are used when present). A JSON string of that object is also accepted.
expected_attestorNoOptional 0x address to check the signature against. Defaults to the GBLIN attestor address baked into this MCP build (GBLIN_ATTESTOR_ADDRESS env).

Output Schema

ParametersJSON Schema
NameRequiredDescription
liveNo
validYesTrue only if every check passed.
checksYesEach check by name, with its result.
sourceNo
attestedNo
guidanceNo
recomputed_attestation_idNo

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only cover the safety profile (read-only, idempotent, non-destructive, open-world). The description adds substantial behavioral depth beyond that: the four enumerated checks, the conditional nature of signature recovery (only when a signature is present), the 10-minute freshness window against on-chain time, and the live-drift comparison. This is far more than the structured fields provide.

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

Conciseness5/5

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

Front-loaded with purpose and the accepted input types, then a tight numbered list of the four checks. Every sentence earns its place; nothing is redundant with the name or annotations.

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?

An output schema exists, so return-value explanation is unnecessary. Given the complexity of cryptographic verification, the description supplies exactly the behavioral context an agent needs (what is checked, the freshness window, conditional signature handling) and is complete 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 coverage is 100%, so the baseline is 3, and the schema already documents both parameters well. The description still adds value by clarifying the differing origins of the `attestation` input (GBLIN endpoint object vs. peer-attached proof-of-diligence) and by implying the attestor comparison default, though it does not elaborate on `expected_attestor` beyond the schema.

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 (verifies) and a precise resource (a GBLIN Risk Attestation, the object returned by /api/x402/attestation, or a peer-attached proof-of-diligence). This object specificity cleanly separates it from sibling verify tools like receipts.verify and payments.verify without the agent opening any schema.

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 clearly tells the agent what inputs this tool accepts (the attestation object from the GBLIN endpoint or a peer proof-of-diligence) and notes it is free, which is a genuine routing signal. However it never states when NOT to use it or names an alternative verify tool, so exclusions are absent.

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

auction.stateA
Read-onlyIdempotent
Inspect

Read the GBLIN rebalancing auction on Base. The vault does not rebalance itself and pays nobody to do it: when a basket row drifts past its band it holds a Dutch auction, and whoever trades with it toward the target weights is the counterparty, at the oracle price adjusted by a premium that starts at a discount and rises to a cap over one ramp. Returns, per row, the side the vault takes, the gap in ETH, the token and amount the bidder hands over, and unsigned calldata (approval + bid). The premium is the whole reward; nothing is paid out of the vault.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
bestNoThe row with the largest gap, or null.
lensNo
noteNo
rowsYesOne entry per basket asset: side, gap from target and amount a bidder can fill.
curveNo
vaultYes
howToBidNo
openedAtNoWhen the auction opened, or null when closed.
premiumBpsYesCurrent premium over the oracle price, in basis points; negative is a discount.
auctionOpenYes
navReliableYes
worstGapEthNo
totalValueEthNo

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnlyHint, the description discloses meaningful behavioral mechanics: the vault does not self-rebalance and pays no external party, the Dutch auction ramps a premium from discount to cap, and the premium is the entire reward while nothing is paid out of the vault. This adds substantial context beyond the annotations.

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

Conciseness5/5

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

The description is three dense, purposeful sentences. It front-loads the core action, then explains the mechanism, then enumerates the returned fields. Every sentence contributes either to scoping or to behavioral understanding; there is no filler.

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?

For a zero-parameter read-only tool with an output schema, the description is complete. It specifies the network (Base), the resource (GBLIN rebalancing auction), the auction mechanism, the exact per-row return fields, and the reward economics. Nothing necessary for correct invocation is missing.

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?

The tool has zero parameters and the schema is empty, so the description need not explain parameters. Per the baseline for zero-parameter tools, the score is 4; the description appropriately focuses on output semantics instead.

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?

The description opens with a specific verb and resource: 'Read the GBLIN rebalancing auction on Base.' It clearly identifies what the tool does and distinguishes it from sibling action-oriented tools by emphasizing read-only observation and returning state data rather than executing anything.

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?

The description makes the use case clear: it is the tool for inspecting the current rebalancing auction state, including bidder-side calldata. It does not explicitly name alternatives or state when not to use it, but the read-only framing and detailed output description provide clear context without exclusions.

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

coherence.reportA
Read-onlyIdempotent
Inspect

Kept/violated tallies for GBLIN's pre-registered, hash-pinned promises (attestation uptime, counter honesty), probed every 10 minutes; each closed UTC day is sealed on Base as an EAS attestation (schema 0x9f433a96…). Self-observation only in v0. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
methodNo
subjectYesObserved subject
promisesYes
observing_sinceNo

TDQS

A4.4/5.0
Behavior4/5

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

Given annotations already declare read-only, open-world, idempotent, and non-destructive hints, the description adds value by clarifying the data source (self-observation, v0), the frequency (every 10 minutes), and the sealing mechanism (EAS attestation on Base). This goes beyond mere reputation and provides useful behavioral context.

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

Conciseness5/5

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

The description is concise at about 40 words, with all information relevant. It front-loads the core purpose (tallies) and then adds necessary detail. No wasted words.

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?

The description is sufficient for a zero-parameter, read-only report with annotations and an output schema. It explains the data source, frequency, and sealing, but could offer a bit more on the exact contents of the report (e.g., what fields are included). However, given the output schema exists, the description need not detail return values, so this is adequate.

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?

The input schema has zero parameters, so the description does not need to explain parameters. Since there are no params, the description's job is to set expectations, and it does so by describing what is included in the report. A baseline of 4 is appropriate because the description compensates for the lack of param details.

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?

The description clearly states the tool's purpose: reporting kept/violated tallies for GBLIN's hash-pinned promises, with details on how data is collected (every 10 minutes) and sealed (EAS attestation on Base). It distinguishes itself from siblings by focusing on tallies and attestation, which is unique among the listed tools.

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?

The description implies its use for checking compliance tallies and notes that it is self-observation only in v0, which gives context but does not explicitly state when to use this tool versus alternatives. It could benefit from mentioning that this is for read-only reporting, but the self-observation note provides some guidance.

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

fetchA
Read-onlyIdempotent
Inspect

Returns the full text of one GBLIN document by its id: {id, title, text, url, metadata}. Documents are the protocol's public documentation, the tool cards and the live vault state. Read-only and free.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesA GBLIN document id, such as protocol-readme.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYes
textYes
titleYes
metadataNo

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so 'Read-only' is redundant. The added value is 'free' (cost profile) and the enumeration of what the document corpus contains, but auth/permission and error behavior are not covered.

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

Conciseness5/5

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

Two tight sentences, front-loaded with the action and resource, then the corpus clarification. No filler sentences; every clause adds information.

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?

An output schema exists so return values need not be explained, and annotations carry the safety profile; the description nonetheless names the returned fields and the document types. Complete enough for a single-parameter read tool, with only id-discovery guidance missing.

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% and the schema even supplies an example id ('protocol-readme'), so the parameter is already well documented. The description adds little beyond confirming 'by its id'. Baseline 3 is appropriate.

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?

States a specific verb and resource: fetch one GBLIN document by id, and clarifies the corpus (protocol docs, tool cards, live vault state). The singular 'one ... by its id' implicitly separates it from the sibling 'search', though that alternative is never named.

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?

Usage is implied by the required id parameter, but there is no explicit when-to-use guidance, no mention of how to obtain an id, and no reference to the 'search' sibling that would supply one. The agent must infer the fetch-by-known-id workflow.

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

governance.stateA
Read-onlyIdempotent
Inspect

Reads GBLIN protocol governance: whether the GBLIN vault is owned by the 48-hour timelock, the timelock's minimum delay and grace period, role member counts, and any pending asset-addition proposal on the vault. With an operation_id it also reports the status of that timelock operation. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
operation_idNoOptional 0x-prefixed 32-byte hex id of a specific timelock operation to inspect.

Output Schema

ParametersJSON Schema
NameRequiredDescription
lensNo
ownerYes
vaultYes
timelockYesAddress and minimum delay of the timelock, read on chain.
verificationNo
fee_recipientNo
trust_summaryNo
pending_handoverNoA pending ownership transfer, or null.
owner_is_timelockYes
owner_is_renouncedYes
pending_timelock_operationNoA scheduled timelock operation affecting ownership, or null.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the description's 'Read-only' is largely redundant. It does add one behavioral fact not in the annotations: supplying operation_id triggers additional operation-status reporting. Fails to mention that unspecified data is simply omitted (no leading check) or any auth requirements, so the value-add over structured fields is modest.

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?

Two sentences, front-loaded with the resource and the enumeration of fields, then the conditional branch. No filler, though the field list makes it dense enough that it reads as an inventory rather than a crisp summary.

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?

An output schema exists, so return-format explanation is unnecessary, and the description still covers the data domain and the conditional branch. For a zero-required-param read tool this is nearly complete; only the routing relationship to sibling governance/protocol tools is absent.

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 coverage is 100% and the parameter is fully documented in the schema (0x-prefixed 32-byte hex timelock operation id). The description adds only the effect of supplying operation_id ('it also reports the status of that timelock operation'), which is a mild supplement to schema-level meaning. Baseline 3 applies when the schema does the heavy lifting.

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 (Reads) and resource (GBLIN protocol governance) and enumerates exactly what is returned: vault ownership by the timelock, min delay/grace period, role member counts, and pending asset-addition proposals. This lets an agent distinguish it from sibling .state/.info tools like treasury.state, auction.state, and protocol.info without opening any schema.

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?

Usage is implied (call to inspect governance/timelock state), and the conditional effect of operation_id is described, but the description never states when to prefer this over sibling tools such as protocol.info or treasury.state, nor any exclusions. Adequate but no explicit routing guidance.

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

payments.prepareA
Read-only
Inspect

Builds a gasless GBLIN payment. The vault's share token implements EIP-3009, so the holder signs an authorization and anybody can carry it on chain: the payer needs no ETH. Returns the EIP-712 message to sign (its domain is read from the token, not assumed), the calldata that carries the signed authorization, and the x402 'exact' payload for paying an HTTP endpoint in GBLIN. Method 'receive' lets only the named recipient submit the authorization, so nobody can front-run the transfer; method 'transfer' suits an x402 facilitator, which submits on the seller's behalf. With relay: true it also returns a second authorization that pays a relayer's fee in GBLIN. No private key is requested, held or transmitted: the signature is produced by the caller's own wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesThe recipient's address.
fromYesThe payer's address: the wallet that will sign.
relayNotrue when nobody else will carry the payment on chain: also prepares a second authorization that pays GBLIN's relay fee in GBLIN at the live NAV. Forces method 'transfer'.
methodNo'receive' (default) can be submitted only by the recipient; 'transfer' by anyone.
amount_usdNoAmount in USD, converted at the live NAV. Give this or amount_gblin.
amount_gblinNoAmount in GBLIN shares, e.g. '0.25'. Give this or amount_usd.
valid_for_secondsNoHow long the authorization stays valid. Default 600, maximum 86400.

Output Schema

ParametersJSON Schema
NameRequiredDescription
relayNoWith relay: true, the fee authorization to sign and where to send both.
amountNo
digestYesThe EIP-712 digest of typed_data.
methodYes
submitNo
warningsNo
next_stepsNo
typed_dataYesThe EIP-712 message to sign with eth_signTypedData_v4.
x402_payloadYesThe x402 exact-scheme payment payload, with the signature left to fill.
authorizationYesfrom, to, value, validAfter, validBefore, nonce.
payer_balanceNo
x402_accepts_for_sellersNo

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnly/openWorld/destructive/idempotent hints, so the description carries the real behavioral burden and delivers: it discloses the return artifacts, the EIP-3009 signing flow, the front-running protection of 'receive', the relay fee behavior, and crucially that no private key is requested, held, or transmitted. That last point is exactly the kind of trust/security context annotations cannot convey.

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 the core purpose and dense with non-redundant information; every clause about EIP-3009, x402, methods, and relay earns its place. It is a single long paragraph, though, and splitting the method/relay guidance from the security note would improve scannability.

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?

For a 7-parameter, enum-bearing tool with an output schema and annotations, the description supplies everything the structured fields cannot: the signing protocol, the two submission modes, relay semantics, and the no-private-key guarantee. Return values need not be detailed since an output schema exists, and what is given is more than sufficient.

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 100%, so the baseline is 3, but the description adds genuine meaning beyond the schema: it explains why 'receive' resists front-running, why relay forces method 'transfer', and that the EIP-712 domain is read from the token rather than assumed. It does not restate the amount/validity parameters, which the schema already covers.

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?

Opens with a specific verb+resource: 'Builds a gasless GBLIN payment,' and immediately differentiates itself from siblings like payments.relay and payments.verify by describing exactly what artifact it produces (the EIP-712 message, calldata, and x402 payload). An agent can tell this is a preparation/signing-payload tool, not an execution or verification tool.

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?

Gives explicit selection criteria for the two methods ('receive' when only the recipient should submit, 'transfer' for an x402 facilitator) and for relay: true ('when nobody else will carry the payment on chain'). It stops short of naming the sibling tools it replaces or excludes (payments.relay, payments.verify), so routing against those is left to inference.

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

payments.relayA
DestructiveIdempotent
Inspect

GBLIN's relay carries a signed GBLIN payment on chain for a payer that holds no ETH. Takes the payment and the relay fee, each as { authorization, signature }, both signed by the payer's wallet. The relay checks both against the chain, simulates them and submits them in one transaction through Multicall3: either both settle or neither does. The fee is paid in GBLIN at the live NAV. Returns the transaction hash and its outcome. This tool moves funds: it carries the authorizations exactly as signed.

ParametersJSON Schema
NameRequiredDescriptionDefault
feeYes{ authorization, signature } of the relay fee, as prepared with relay: true and signed by the payer.
paymentYes{ authorization, signature } of the payment, method 'transfer'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
feeNo
noteNo
blockNo
relayYesThe relay that carried the payment.
statusYes
paymentNo
explorerNo
transactionYesThe transaction hash.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare destructive=true, idempotent=true and openWorld=true, and the description adds substantial context beyond them: atomic Multicall3 settlement ('either both settle or neither does'), the fee denomination and pricing ('GBLIN at the live NAV'), and an explicit warning that it moves funds and uses the authorizations exactly as signed.

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 purpose then mechanics, and every sentence contributes (scenario, input shape, atomicity, fee pricing, return, fund-movement warning). It is dense but not padded, though slightly long.

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?

Covers what an agent needs to invoke it correctly: the scenario, the exact signed-input shape, the all-or-nothing settlement semantics, fee denomination, and a fund-movement caution. Since an output schema exists, the brief note on the returned hash and outcome is sufficient.

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 100% with nested objects, so the schema carries the baseline. The description adds meaning beyond it by specifying that both objects are signed by the payer's wallet, that payment uses method 'transfer', and that the fee is priced at the live NAV.

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 and resource ('relay carries a signed GBLIN payment on chain') and the distinguishing condition ('for a payer that holds no ETH'), which clearly separates it from payments.prepare and payments.verify among its siblings.

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?

Names the exact scenario that selects this tool (a payer with no ETH needing a gasless payment) and the inputs it expects. It does not explicitly route the agent away from payments.prepare/payments.verify or state prerequisites, but the context is clear enough to place it correctly.

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

payments.verifyA
Read-onlyIdempotent
Inspect

Checks a signed GBLIN authorization against the chain before any gas is spent on it. Recovers the signer from the EIP-712 digest (and asks the wallet itself through ERC-1271 when the payer is a contract), then checks the validity window against on-chain time, whether the nonce has already been used or cancelled, and whether the payer still holds the amount. Returns a verdict and the ready calldata when it would settle, the failing reason when it would not. These are the checks an x402 facilitator runs, so a 'would_settle' verdict means the payment can be carried.

ParametersJSON Schema
NameRequiredDescriptionDefault
methodNoWhich method the signature was produced for. Default 'receive'.
signatureYesThe signature produced by the payer's wallet, 0x-prefixed.
authorizationYesThe authorization object: from, to, value, validAfter, validBefore, nonce.

Output Schema

ParametersJSON Schema
NameRequiredDescription
amountNo
checksYes
digestNo
methodYes
sourceNo
submitNoCalldata and who may submit it, or null when it would not settle.
failuresYesReasons it would not settle; empty when it would.
would_settleYesTrue only if the token would accept this authorization now.

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint, so the safety profile is covered. The description adds substantial context beyond that: the exact on-chain checks performed, the ERC-1271 path for contract payers, the two possible return shapes (verdict + ready calldata vs failing reason), and the semantic meaning of 'would_settle'. This is rich, non-redundant behavioral disclosure.

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

Conciseness5/5

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

Four sentences, all front-loaded with purpose and then the mechanics, with zero filler. The final sentence about the x402 facilitator earns its place by explaining what a 'would_settle' verdict actually licenses the agent to do.

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?

An output schema exists, so return values need not be detailed, yet the description still summarizes both return branches. Given the nested authorization object, the annotations, and the output schema, an agent has everything needed to call this correctly and interpret the result.

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 the baseline is 3. The description implies the authorization object's contents (validity window, nonce, payer balance) and the EIP-712 signature origin, but adds no format or syntax detail for 'method', 'signature', or 'authorization' beyond what the schema already documents.

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?

States a specific verb and resource: it checks a signed GBLIN authorization against the chain before gas is spent, and it enumerates the exact checks (EIP-712 signer recovery, ERC-1271 fallback, validity window, nonce, balance). An agent can tell it is a pre-flight verification step. It does not name the sibling it pairs with (payments.prepare / payments.relay), so the sibling differentiation is left implicit.

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?

'before any gas is spent on it' and 'the checks an x402 facilitator runs' give a clear context for when to call it, and the 'would_settle' verdict framing tells the agent what a positive result authorizes. No explicit when-not conditions or named alternatives (e.g. relay vs prepare) are given, so the guidance is clear but not exhaustive.

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

protocol.infoA
Read-onlyIdempotent
Inspect

GBLIN llms.txt as plain text: contract addresses, endpoints, prices, payment flow, field contract of the attestation.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
llms_txtYesThe full llms.txt document (plain text)

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already show readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds that the output is plain text and lists contents, but it does not disclose any limitations, rate limits, or output details beyond what the annotations already convey.

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

Conciseness5/5

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

The description is a single sentence that is front-loaded with the core resource name and format, followed by a compact, useful list of contents. There is no redundant wording.

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?

Given no parameters, an output schema, and simple annotations, the description is sufficiently complete for a protocol information fetch. The only notable gap is the lack of explicit usage guidance relative to sibling tools, which may still be inferred.

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?

With zero parameters and an empty input schema, the description carries the full semantic burden and does so by indicating exactly what kind of data will be returned. No parameter-level documentation is needed.

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 clearly states that protocol.info returns 'GBLIN llms.txt as plain text' and lists its contents: contract addresses, endpoints, prices, payment flow, and field contract of the attestation. This identifies the resource and distinguishes it from sibling tools like protocol.stats and receipts.get, though it lacks an explicit verb like 'retrieve'.

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?

The description implies use when protocol-level information is needed, but it does not explicitly state when to use this tool versus alternatives or mention exclusions. For a simple zero-parameter read, this is adequate but not fully explicit.

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

protocol.statsA
Read-onlyIdempotent
Inspect

Cumulative public counters of GBLIN's x402 endpoints: paid calls, unique payer wallets, USDC earned, with methodology disclosure. Cached 5 min.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
_sourceNoProvenance and disclosure of the counters
total_paid_callsYesSettled x402 calls, cumulative
total_usdc_earnedYesUSDC received, cumulative
total_unique_agentsYesDistinct payer wallets, cumulative (our own wallets excluded)

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already flag read-only, open-world, idempotent, and non-destructive behavior, so the description only needs to add non-obvious context. It adds 'Cached 5 min' (stale data window) and 'methodology disclosure', which are useful beyond structured annotations. No contradiction with annotations.

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

Conciseness5/5

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

Two short sentences front-load the counters and add only the cache and methodology caveats. No filler, no repetition of schema or annotations.

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?

An output schema exists, annotations are rich, and no parameters require explanation. The description covers data scope, freshness via 'Cached 5 min', and methodology disclosure. This is complete for a no-input stats tool.

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?

The tool has zero parameters and the schema is fully self-describing with additionalProperties false. The description therefore does not need to explain inputs. Baseline 4 applies.

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?

The description opens with 'Cumulative public counters of GBLIN's x402 endpoints' and enumerates paid calls, unique payer wallets, USDC earned, and methodology disclosure. This clearly identifies the tool as an aggregate stats endpoint, distinct from receipt/risk/info siblings. The metric scope is unambiguous.

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?

The 'cumulative public counters' phrasing and 'Cached 5 min' note establish when this tool is appropriate: for aggregate, quick, read-only metrics. It does not explicitly name alternatives, but no exclusions are needed for a zero-parameter stats endpoint. The context is clear enough for selection among siblings like receipts.get.

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

receipts.getA
Read-onlyIdempotent
Inspect

Receipt #index from GBLIN's receipts log, re-signed (Ed25519 is deterministic) with a fresh inclusion proof, the current signed checkpoint and the latest on-chain anchor. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
indexYesReceipt index in the log (0-based; current size at GET /log/checkpoint)

Output Schema

ParametersJSON Schema
NameRequiredDescription
leafYesbase64 SHA256(0x00 || canonical)
rootYesbase64 Merkle root at tree_size
indexYes
anchorYesLatest daily EAS anchor of the tree root on Base and whether it already covers this receipt
formatYes
payloadYesThe signed, canonicalized record (gblin-canonical-json/1)
signatureYesbase64 Ed25519 over 'gblin-receipt/v1\n' + canonical
tree_sizeYes
checkpointYesC2SP signed note (origin, size, root)
provenanceYesWhat the receipt does and does not prove
verifier_keyYesC2SP note verifier key: origin+hash+base64(0x01||pub)
inclusion_proofYes
canonicalizationNoThe serialisation rule these bytes were produced with, named in the receipt itself so a later verifier can recompute them without consulting our repository. Frozen as gblin-canonical-json/1.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds genuine context beyond those hints: it discloses that the receipt is re-signed with a fresh inclusion proof, explains why re-signing yields deterministic output ('Ed25519 is deterministic'), notes the response includes the current signed checkpoint and latest on-chain anchor, and states it is free. This gives the agent useful behavioral expectations without contradicting the annotations.

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?

The description is one dense sentence plus 'Free.', with the core resource (receipt from the log) front-loaded. Every phrase earns its place — re-signing, inclusion proof, checkpoint, anchor — and the parenthetical on Ed25519 determinism explains a non-obvious property. Slightly telegraphic, but appropriately sized with essentially no waste.

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?

The tool is simple (one required parameter, fully described in schema), has an output schema so return format need not be spelled out, and annotations cover the safety profile (read-only, idempotent, non-destructive). The description enriches this with the response contents and cost. Missing only minor context like rate limits or what GBLIN's log is, which are not necessary for correct invocation.

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%: the 'index' parameter is fully documented in the schema ('Receipt index in the log (0-based; current size at GET /log/checkpoint)'). Per the baseline for high schema coverage, the description need not repeat parameter details; its 'Receipt #index' phrasing aligns with the schema. The description adds no new parameter semantics, but none are required.

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 specifies the resource precisely — a receipt from GBLIN's receipts log — and enumerates what is returned (re-signed receipt, inclusion proof, signed checkpoint, on-chain anchor). The annotation title 'Get a receipt by index' supplies the explicit verb. It is clear what the tool does, though the description itself reads as a noun phrase and does not explicitly contrast with the related siblings receipts.seal and receipts.verify.

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

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives. Siblings like receipts.seal and receipts.verify are functionally adjacent, but the description never says 'use this to fetch an existing receipt; use receipts.verify to check one' or any exclusion. Nothing is misleading, but the agent is left to infer the usage context.

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

receipts.sealAInspect

Appends the hashes of an AI action to GBLIN's public RFC 6962 transparency log and returns a portable receipt: Ed25519 signature, inclusion proof, operator-signed C2SP checkpoint, and the latest on-chain anchor (EAS on Base, daily). Demo mode only over MCP: 5 seals per day per IP, receipts marked demo: true; unlimited sealing is a separate paid x402 HTTP endpoint. Provenance is self-reported: a receipt proves that the record existed at that time, not that the action happened. The action, agent_id, tool and meta strings are published in the log exactly as given. Fields not listed in the schema are ignored and not recorded.

ParametersJSON Schema
NameRequiredDescriptionDefault
metaNoExtra JSON object as a string (optional). PUBLISHED.
modeNoOnly 'demo' is available over MCP (5/day/IP). Paid seals go through x402 HTTP.demo
toolNoTool/model used (optional). PUBLISHED.
actionYesWhat the AI did, short label. PUBLISHED in the log.
agent_idNoYour agent identifier (optional). PUBLISHED.
input_hashYessha256 of the input/prompt, 64 hex chars (0x prefix optional)
output_hashNosha256 of the output, 64 hex chars (optional; empty or blank = omitted)

Output Schema

ParametersJSON Schema
NameRequiredDescription
leafYesbase64 SHA256(0x00 || canonical)
rootYesbase64 Merkle root at tree_size
indexYes
anchorYesLatest daily EAS anchor of the tree root on Base and whether it already covers this receipt
formatYes
payloadYesThe signed, canonicalized record (gblin-canonical-json/1)
signatureYesbase64 Ed25519 over 'gblin-receipt/v1\n' + canonical
tree_sizeYes
checkpointYesC2SP signed note (origin, size, root)
provenanceYesWhat the receipt does and does not prove
verifier_keyYesC2SP note verifier key: origin+hash+base64(0x01||pub)
inclusion_proofYes
canonicalizationNoThe serialisation rule these bytes were produced with, named in the receipt itself so a later verifier can recompute them without consulting our repository. Frozen as gblin-canonical-json/1.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only cover readOnly/openWorld/idempotent/destructive; the description adds far more: self-reported provenance limits ('proves the record existed, not that the action happened'), that action/agent_id/tool/meta are published verbatim, demo:true marking, rate limits, and that unlisted fields are ignored. This is exactly the disclosure an agent needs before writing to a public log.

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

Conciseness5/5

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

Front-loaded with what the tool does, then the returned receipt, then operational constraints, then caveats. Every sentence carries distinct information — no repetition of the title or name, no filler despite the density of jargon.

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?

For a non-idempotent write into a public transparency log with an output schema present, the description covers the safety-relevant behavior (publishing, irreversibility implied by appending to a log, rate limits, provenance caveat) while correctly leaving return-value structure to the output schema.

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 100%, so the baseline is 3, but the description adds meaning beyond the schema by explaining the privacy consequence of each PUBLISHED field and confirming that fields outside the schema are silently dropped. It doesn't clarify hash formatting or mode behavior beyond what the schema already states.

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?

Specific verb ('appends hashes... to a transparency log') plus a precisely enumerated artifact set (Ed25519 signature, inclusion proof, C2SP checkpoint, EAS anchor). This clearly distinguishes it from siblings receipts.get and receipts.verify, which read/check rather than create.

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?

Gives real context: demo-only over MCP, 5 seals/day/IP, and names the alternative channel (paid x402 HTTP endpoint) for unlimited use. It stops short of routing to the sibling tools that consume a receipt (receipts.get, receipts.verify), so it's clear context without full alternative mapping.

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

receipts.verifyA
Read-onlyIdempotent
Inspect

Verifies a gblin-receipt/v1 JSON with pure math, without a log lookup and without trusting this server: leaf hash, Ed25519 signature, RFC 6962 inclusion proof, C2SP checkpoint signature and verifier-key hash. These are the same checks as the zero-dependency verify-receipt.mjs script that runs offline; the consistency check against the on-chain anchor is available separately at GET /v1/verify/:index.

ParametersJSON Schema
NameRequiredDescriptionDefault
receiptYesA gblin-receipt/v1 JSON, bare or wrapped in {receipt}, as issued by the receipts log (also served at GET /v1/receipt/:i)

Output Schema

ParametersJSON Schema
NameRequiredDescription
indexNo
validYes
checksYes
errorsYes
formatNo
reminderNo
tree_sizeNo

TDQS

A4.4/5.0
Behavior5/5

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

Adds substantial context beyond the annotations: it works purely offline on math, performs no log lookup, and does not trust this server. It also names the reference implementation (verify-receipt.mjs) with the same checks, and points to a distinct endpoint for a different class of check — far richer than the readOnly/idempotent hints alone.

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?

Two front-loaded sentences: the verb and its guarantees come first, the check list and the alternative endpoint follow. The check enumeration is dense but each item earns its place by telling the agent what is validated.

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?

An output schema exists, so return values need no explanation, and with one fully described parameter the description only had to cover behavior and scope — which it does, including what it does not do and where the complementary check lives.

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?

One parameter with 100% schema description coverage; the schema already explains the receipt object and its bare-or-wrapped form. The description adds no syntax or format detail beyond that, so the baseline 3 applies.

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 and resource ('Verifies a gblin-receipt/v1 JSON') and enumerates the exact cryptographic checks performed (leaf hash, Ed25519 signature, RFC 6962 inclusion proof, C2SP checkpoint signature, verifier-key hash). This clearly separates it from siblings like receipts.get (fetch) and receipts.seal.

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?

Explicitly delimits scope: it does the math without a log lookup and without trusting the server, and tells the agent where the separate on-chain consistency check lives. It does not, however, mention the other verification-style siblings (attestation.verify, payments.verify) or state that a receipt must first be obtained, so routing guidance is clear but not exhaustive.

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

risk.attestation_sampleA
Read-onlyIdempotent
Inspect

Static, permanently expired sample of the signed Risk Attestation (sample: true), with the same fields and EIP-712 schema as the signed one, for building and testing parsers and verifiers.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
metaNo
eip712NoEIP-712 domain/types/message to recompute the digest
sampleYesAlways true — never a live signal
signedYes
verifyNo
attestorNo
signatureNo
attestationYesSame field contract as the paid attestation (regime, shield_active, severity_pct, defensive_cash_pct, expires_at, ...)
attestation_idYeshashTypedData digest — recompute to verify

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already establish the read-only, idempotent, non-destructive, open-world profile, so the bar is lower. The description still adds material behavior: the artifact is static and permanently expired and matches the signed schema, which tells the agent the data is a non-live fixture rather than a valid credential.

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

Conciseness5/5

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

A single dense sentence with the key qualifier (static, permanently expired, sample:true) front-loaded and no filler. Every clause carries information.

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?

An output schema exists, so return-value documentation is unnecessary. For a zero-parameter fixture, the description supplies everything an agent needs: what it returns, how it relates to the signed attestation, and why it exists.

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?

The tool takes zero parameters, so there is nothing to disambiguate and the baseline of 4 applies. The description correctly implies the tool is a parameterless fetch of a fixed artifact.

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?

The description states precisely what the tool returns: a static, permanently expired sample of the signed Risk Attestation, marked sample:true, carrying the same fields and EIP-712 schema as the real one. An agent can instantly distinguish this fixture from the signed attestation and from verification siblings like attestation.verify.

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 clearly names the intended use case: building and testing parsers and verifiers. It does not explicitly state the exclusion (do not treat this as a valid attestation for production verification), though 'permanently expired' strongly implies it.

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

risk.regimeA
Read-onlyIdempotent
Inspect

Current BTC/ETH risk regime (calm | elevated | crash) and the matching risk posture, read live from GBLIN's on-chain Crash Shield on Base (60-second cache). Free and unsigned; a signed version that verifies offline is a separate paid x402 HTTP endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
assetsYesPer-risk-asset shield state
regimeYesCurrent risk regime
sourceNo
chain_idNo
contractNoGBLIN contract on Base
regime_codeYes0 calm, 1 elevated, 2 crash
risk_postureNoSuggested posture
severity_pctYesMax crash-shield weight cut across risk assets, percent
shield_activeYesTrue when any risk asset is currently slashed
defensive_cash_pctYesUSDC dynamic weight in the basket, percent

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuine operational context beyond that: the data source (GBLIN's on-chain Crash Shield on Base), a 60-second cache freshness bound, and the free/unsigned versus paid/signed trust trade-off.

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

Conciseness5/5

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

Two tight sentences with no filler: the first front-loads what is returned and the allowed values, the second front-loads the cost/trust model. Every clause carries information an agent needs.

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 an output schema present, the description need not explain the return shape, and it instead supplies what the schema cannot: provenance, cache TTL, and the free-versus-paid boundary. Nothing required to call a zero-arg tool correctly is missing.

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?

The tool takes zero parameters, so the baseline is 4 and there is nothing for the description to disambiguate. It correctly avoids inventing parameter semantics and instead spends its words on the data itself.

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?

The description names a specific resource (BTC/ETH risk regime plus matching risk posture) and enumerates the exact return domain (calm | elevated | crash), so an agent knows precisely what it yields. It also implicitly separates itself from sibling risk.attestation_sample by describing a live read rather than a sampled attestation.

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 a clear selection rule between this free, unsigned live read and 'a separate paid x402 HTTP endpoint' for offline-verifiable signed data. It lacks an explicit pointer to sibling tools such as risk.attestation_sample, so it is clear context without full exclusions.

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

treasury.healthA
Read-onlyIdempotent
Inspect

Analyzes an agent wallet's treasury: GBLIN, USDC and ETH balances, whether the ETH covers an exit at the live gas price, and the redemption cooldown. When daily_burn_usd is given it adds days of USDC runway and a split that keeps seven days of spend in USDC and treats only the surplus as a candidate for GBLIN. Free by default; a 0.003 USDC charge applies only when the server operator sets MCP_PAYWALL=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
_paymentNoBase64-encoded x402 PaymentProof JSON. Omit on first call to receive the 402 payment manifest.
daily_burn_usdNoOptional. Average daily spend in USD (e.g. 1.5).
wallet_addressYesAgent's 0x address.

Output Schema

ParametersJSON Schema
NameRequiredDescription
ratiosNo
walletYes
balancesYes
cooldownYesWhether the redemption cooldown is active and for how long.
gas_healthYesWhether the wallet holds enough ETH for the next transactions.
recommendationYeshold, rebalance_to_gblin or rebalance_to_usdc, with the reason.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context: it performs an external live-gas-price check (consistent with openWorldHint) and it discloses pricing behavior — free by default, with a 0.003 USDC charge only when MCP_PAYWALL=true. That paywall disclosure is valuable and not derivable from the annotations.

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

Conciseness5/5

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

Three sentences, front-loaded with the core analysis, then the conditional daily_burn_usd behavior, then the pricing caveat. Every clause carries distinct information — no filler, no repetition of the title or schema.

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?

An output schema exists, so return values need not be explained, and annotations cover the safety profile. The description covers purpose, the external-data dependency, and the paywall, leaving little an agent would need before calling it. A note on prerequisites (e.g. a funded wallet) is the only minor omission.

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 100%, so the baseline is 3 and the schema already documents all three parameters. The description adds real meaning beyond the schema for daily_burn_usd: it explains that supplying it produces days of USDC runway and a 7-day-spend-preserving split that treats only the surplus as a GBLIN candidate, which is more than the schema's terse 'Average daily spend in USD'.

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?

States a specific verb (analyzes) and resource (agent wallet treasury) and enumerates exactly what it reports: GBLIN/USDC/ETH balances, ETH exit coverage at live gas price, and redemption cooldown. This is far more than a restatement of the name. It does not, however, explicitly differentiate itself from close siblings like treasury.state or treasury.nav_history, which an agent could plausibly confuse with it.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance, and no alternative sibling is named. The description explains the conditional effect of daily_burn_usd but never tells the agent when this tool is the right pick over treasury.state, treasury.plan, or treasury.quote.

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

treasury.nav_historyA
Read-onlyIdempotent
Inspect

NAV per GBLIN share over time, read from the chain at past blocks, beside the ETH/USD and BTC/USD oracle prices the vault itself uses, with the change of each over the window and the NAV's largest drawdown. The series starts at the deployment of the vault in service and can be compared with holding ETH or BTC over the same span.

ParametersJSON Schema
NameRequiredDescriptionDefault
pointsNoHow many points, newest last. Default 30.
intervalNoSpacing of the points. Default day.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
methodNo
pointsYes
seriesYesOldest first: time, block, NAV in ETH and USD, ETH/USD and BTC/USD.
summaryNoChange of NAV, ETH and BTC over the window, and the NAV's largest drawdown.
intervalYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so the safety profile is covered. The description adds genuine behavioral context beyond that: values are read from the chain at past blocks, the series begins at vault deployment, and it computes window change and largest drawdown. It stops short of noting rate limits or pagination, so not a 5.

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?

Two sentences, front-loaded with what the series contains before moving to provenance and comparison use. Dense but every clause carries information; no obvious padding.

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?

An output schema exists, so return-shape explanation is not strictly required, and annotations cover safety. The description supplies provenance, series start, and benchmark framing, leaving only minor gaps around pagination or point limits for a read-only 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 coverage is 100% and both parameters (points, interval) are fully documented with defaults in the schema, so the baseline is 3. The description only vaguely gestures at the window via 'change of each over the window' and adds no syntax or default meaning beyond the schema.

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 specifies a concrete verb and resource: it returns the NAV per GBLIN share over time, enriched with the ETH/USD and BTC/USD oracle prices the vault uses plus change and drawdown. This is far more specific than a sibling like treasury.state could be, though it never explicitly names a sibling to distinguish itself from.

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?

Usage is implied rather than stated: the agent learns the history starts at vault deployment and can be benchmarked against holding ETH or BTC. There is no explicit when-to-use versus alternatives (e.g., treasury.state for current values) and no exclusions, so guidance is only implied.

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

treasury.planA
Read-onlyIdempotent
Inspect

Turns idle USDC into a reviewable plan in one call: operating cash = max(reserve_usd, daily_burn_usd x days), the surplus above it, a simulation of minting that surplus into GBLIN at NAV (fees read live from the vault, estimated exit value today, round-trip cost), the same simulation for a trial amount (100 USDC by default), and the blockers (Crash Shield, redemption cooldown, ETH for the exit). Read-only: nothing is executed and nothing is advised. GBLIN is crypto exposure (cbBTC, WETH, USDC), not cash and not yield.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoDays of spend to keep liquid (default 7, max 365).
trial_usdcNoTrial amount to simulate beside the surplus (default 100).
reserve_usdNoUSD to keep liquid regardless of the burn rate; the larger of the two rules wins.
daily_burn_usdNoAverage daily spend in USD. Operating cash = daily_burn_usd × days.
wallet_addressYesAgent's 0x address.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nextYesThe tools to call after a human confirms.
as_ofNoBlock and time the reads were taken at.
notesNo
trialYesThe same simulation for the trial amount.
inputsNoThe inputs as applied, with the defaults filled in.
marketYesNAV, ETH price, risk regime and crash shield status.
walletYes
surplusYesUSDC above the operating cash.
blockersYesReasons parking is not appropriate right now, if any.
simulationYesMint simulation for the surplus: shares, fees, exit value today, round-trip cost; or nothing_to_park.
wallet_stateYesUSDC, GBLIN and ETH balances, gas health, redemption cooldown.
operating_cashYesUSDC to keep liquid: max(reserve_usd, daily_burn_usd × days), with the runway in days.
park_candidateYesTrue when no blocker applies. Not a recommendation.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false), yet the description adds substantial behavioral context beyond them: the exact operating-cash formula, that fees are read live from the vault, that exit value and round-trip cost are estimated, and the named blockers (Crash Shield, redemption cooldown, ETH for the exit). The closing caveat that GBLIN is crypto exposure rather than cash or yield is a genuine behavioral disclosure an agent needs.

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?

The purpose and the read-only guarantee are front-loaded, and the middle enumerates plan contents efficiently. The single sentence is dense and becomes run-on, but each clause carries information an agent would otherwise have to infer from an output schema.

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?

For a five-parameter, read-only simulation tool with an output schema present, the description supplies everything missing: the derivation of operating cash, the scope of the simulation, and the risk caveat about GBLIN. Return-value detail is correctly left to the output schema.

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 100%, so the baseline is 3, but the description adds relational meaning the schema cannot: operating cash = max(reserve_usd, daily_burn_usd × days), and that trial_usdc simulates alongside the surplus using the 100 USDC default. It clarifies how the parameters interact rather than just restating them.

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 and resource ('turns idle USDC into a reviewable plan in one call') and immediately distinguishes itself from the sibling simulations by naming exactly what the plan contains (operating cash, surplus, mint simulation, trial, blockers). An agent can tell this apart from treasury.quote or treasury.state without opening either schema.

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?

The description gives clear context for when this applies — idle USDC above operating cash — and states 'Read-only: nothing is executed and nothing is advised,' which frames the decision-support role. It does not explicitly name when to prefer treasury.quote or treasury.state instead, so the alternative routing is implied rather than stated.

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

treasury.quoteA
Read-onlyIdempotent
Inspect

Preview a buy (ETH→GBLIN) or sell (GBLIN→ETH) without executing. Returns expected output, safe minOut with dynamic slippage buffer (2.5% normal / 4% during Crash Shield), and fee breakdown. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
amount_inYesPositive decimal. ETH for buy, GBLIN for sell.
directionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
feesNo
directionYes
next_stepYes
amount_in_ethNoBuy only.
cooldown_noteNo
amount_in_gblinNoSell only.
slippage_reasonNo
expected_eth_outNoSell only.
safe_min_eth_outNoSell only. Pass as minEthOut.
expected_gblin_outNoBuy only.
safe_min_gblin_outNoBuy only. Pass as minOut.
slippage_buffer_bpsYes
will_revert_with_zero_toleranceNo

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description discloses meaningful behavior: it returns expected output, a safe minOut with a dynamic slippage buffer (2.5% normal / 4% during Crash Shield), and a fee breakdown. This adds real context about what the call yields and its side-effect-free nature, with no contradictions.

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

Conciseness5/5

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

Two dense sentences front-load the core purpose and then pack in return values, slippage policy, and fees without wasted words. The 'Read-only' tag is redundant with annotations but harmless and brief.

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?

Given the tool has only two parameters, an output schema, and strong safety annotations, the description supplies all necessary behavioral context: non-execution, direction semantics, slippage policy, and fee reporting. Nothing an agent needs to choose or invoke it correctly is missing.

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?

The description adds meaning to the direction enum by defining buy as ETH→GBLIN and sell as GBLIN→ETH, which complements the schema's amount_in note. With 50% schema description coverage, this mapping meaningfully reduces ambiguity, although the description does not explicitly re-explain every parameter.

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?

The description opens with a precise verb and scope: 'Preview a buy (ETH→GBLIN) or sell (GBLIN→ETH) without executing.' It clearly differentiates itself from execution-oriented siblings by stating it does not execute and is read-only, and the title reinforces the quote/mint/redemption purpose.

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 provides clear context: use this tool when you need a non-executing preview of a mint or redemption quote. It does not explicitly name alternative tools or say when not to use it, but 'without executing' and 'Read-only' are strong usage signals that prevent confusion with execution tools.

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

treasury.stateA
Read-onlyIdempotent
Inspect

Reads the current GBLIN protocol state on Base mainnet: NAV in USD, basket composition with dynamic weights, Crash Shield status and whether the NAV is reliable.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
metaNo
basketYesAssets in the basket with base and dynamic weights.
nav_usdYesNet asset value of one GBLIN share in USD.
auction_openYesTrue while a rebalancing auction is running.
nav_reliableYesFalse when a price feed is stale or a basket asset cannot be read; do not trade on the NAV then.
eth_price_usdYesETH price in USD from the oracle.
slippage_reasonNo
crash_shield_activeYesTrue when the crash shield has cut the weight of a falling asset.
slippage_buffer_pctNo
management_fee_bps_per_yearYesManagement fee in basis points per year, read from the contract.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered. The description goes slightly beyond that by flagging that the response includes a NAV reliability indicator, which hints at degraded/uncertain states, but it adds no auth, rate-limit, or freshness/staleness context.

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

Conciseness5/5

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

A single dense sentence that front-loads the verb and resource, then lists the concrete payload fields. Every clause earns its place with no boilerplate or repetition of the title.

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?

An output schema exists, so enumerating return values in more detail is unnecessary, and annotations carry the safety profile. For a zero-argument read tool this is essentially complete, with the only gap being the absence of sibling-routing guidance against treasury.health and treasury.nav_history.

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?

The tool takes zero parameters, so there is no argument semantics to document; per the baseline for parameterless tools this scores 4. The description correctly does not invent parameters and instead spends its text on what the call returns.

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?

States a specific verb ('Reads') and resource ('GBLIN protocol state on Base mainnet') and enumerates the returned fields (NAV in USD, basket composition with dynamic weights, Crash Shield status, NAV reliability). The temporal qualifier 'current' implicitly distinguishes it from the historical sibling treasury.nav_history, but it never explicitly differentiates from treasury.health or protocol.info.

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?

No explicit when/when-not guidance or named alternatives. Usage is only implied by the word 'current', which signals this is the live-state reader rather than the history tool (treasury.nav_history) — enough for a hint, not for confident routing among the many treasury.* and protocol.* siblings.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • Changedfetch1 field changed
      • changedInput schema / properties / id / description
        Previous value: -"A document id returned by search."New value: +"A GBLIN document id, such as protocol-readme."
    • Changedpayments.prepare1 field changed
      • changedInput schema / properties / relay / description
        Previous value: -"true when nobody else will carry the payment on chain: also prepares the relay fee authorization, paid in GBLIN at the live NAV, for relay_gblin_payment. Forces method 'transfer'."New value: +"true when nobody else will carry the payment on chain: also prepares a second authorization that pays GBLIN's relay fee in GBLIN at the live NAV. Forces method 'transfer'."
    • Changedpayments.relay1 field changed
      • changedInput schema / properties / fee / description
        Previous value: -"{ authorization, signature } of the relay fee, from prepare_gblin_payment's relay block."New value: +"{ authorization, signature } of the relay fee, as prepared with relay: true and signed by the payer."
    • Changedreceipts.verify1 field changed
      • changedInput schema / properties / receipt / description
        Previous value: -"The receipt JSON as returned by receipts.seal / receipts.get / GET /v1/receipt/:i (bare or wrapped in {receipt})"New value: +"A gblin-receipt/v1 JSON, bare or wrapped in {receipt}, as issued by the receipts log (also served at GET /v1/receipt/:i)"
  2. 7 tool updates
    • Changedactions.prepare1 field changed
      • changedOutput schema / properties / steps / items / description
        Previous value: -"One transaction to send, in order: target, calldata, value in wei, and gas when the step needs an explicit limit."New value: +"One transaction to send, in order: target, calldata, value in wei, and gas when the step needs an explicit limit. The same call is repeated as to, data and chainId (8453) for wallet batch APIs such as send_calls."
    • Changedactions.preview6 fields changed
      • changedInput schema / properties / steps / description
        Previous value: -"The steps, in order: target, calldata, value in wei (optional), gas (optional)."New value: +"The steps, in order: target and calldata (or their send_calls spellings, to and data), value in wei (optional), gas (optional)."
      • addedInput schema / properties / steps / items / properties / calldata / description
        Added value: +"ABI-encoded call. Alias: data."
      • addedInput schema / properties / steps / items / properties / data
        Added value: +{
        +  "pattern": "^0x([0-9a-fA-F]{2})*$",
        +  "type": "string"
        +}
      • addedInput schema / properties / steps / items / properties / target / description
        Added value: +"Contract to call. Alias: to."
      • addedInput schema / properties / steps / items / properties / to
        Added value: +{
        +  "pattern": "^0x[a-fA-F0-9]{40}$",
        +  "type": "string"
        +}
      • changedInput schema / properties / steps / items / required
        Previous value: -[
        -  "target",
        -  "calldata"
        -]New value: +[]
    • Addedfetch
    • Changedgovernance.state1 field changed
      • addedInput schema / required
        Added value: +[]
    • Addedsearch
    • Changedtreasury.nav_history1 field changed
      • addedInput schema / required
        Added value: +[]
    • Changedtreasury.state1 field changed
      • addedInput schema / required
        Added value: +[]
  3. 1 tool update
    • Addedtreasury.plan
  4. 1 tool update
    • Changedactions.status1 field changed
      • changedOutput schema / properties / confirmations / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
  5. 13 tool updates
    • Addedactions.prepare
    • Addedactions.preview
    • Addedactions.status
    • Addedattestation.verify
    • Addedauction.state
    • Addedgovernance.state
    • Addedpayments.prepare
    • Addedpayments.relay
    • Addedpayments.verify
    • Addedtreasury.health
    • Addedtreasury.nav_history
    • Addedtreasury.quote
    • Addedtreasury.state

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    Not graded
    maintenance
    Trust infrastructure for AI agents on Base. DEX Spread Oracle (live Uniswap V3 prices), on-chain escrow, insurance pool, and collective knowledge base. 7 smart contracts. Pay-per-query via x402 micropayments in USDC.
    6
    -
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI agents on Base to call a check_token_risk tool before trading, providing honeypot detection, LP-lock verification, brand impersonation checks, and live sell simulation across Uniswap V2/V3/V4 and Aerodrome with a clear risk score and should-trade decision.
    1
    3 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources