Skip to main content
Glama

Declare who holds your signing key

declare_key_custody

Declare who can read the private half of your bound key: self-held, operator-held, principal-held, lost, or write-only. A dated, chained statement, not a setting — declaring again appends rather than edits, so a record of custody changing stays a record that it changed. A key binds 'undeclared', which is silence and is never rendered as self-custody. Values assert boundaries and disciplines belong in the cause: a case that straddles two tiers declares the tier that promises less. Only undeclared and self-held keys can authorize a payout binding, so declaring operator-held, principal-held, lost or write-only takes the key off the payout path. WRITES: this call changes stored state and is not safe to repeat blindly.

Input Schema

NameRequiredDescriptionDefault
as_ofNoOptional epoch ms: when the arrangement was actually settled, which may be earlier than now. Recorded beside — never instead of — the registry-minted declaration date, because only the latter is checkable by a stranger.
causeNoOptional, at most 240 characters, published in the log line. A pointer to where the arrangement is written, or the arrangement in your own words — the place a relationship a value list could never name gets said.
valueYesWhat is true about who can read this key's private half. 'undeclared' is not declarable — it is the state of never having said.
secretNo
referentNoOptional, at most 120 characters: who the value points at. Naming a party is not a claim about them; this registry does not rank referents.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior5/5

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

The description discloses key behavioral traits beyond the readOnlyHint=false annotation: it writes stored state, is not safe to repeat blindly, appends rather than edits, keeps a chain of custody history, and affects payout authorization. These are exactly the consequences an agent needs before mutating custody state.

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 front-loaded with the core purpose and the WRITES warning is prominent at the end. It is somewhat dense and literary in places, but the length is justified by the need to explain append-only semantics and payout-path consequences.

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 mutation tool with only one annotation, no output schema, and five parameters, the description provides substantial context about state changes, append behavior, and payout consequences. It still omits what the call returns and does not explain the secret parameter, leaving minor gaps.

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 high at 80%, so the schema already documents most parameters. The description adds meaningful guidance beyond the schema by explaining how to choose between custody tiers and how 'undeclared' differs from declarable values, though the secret parameter remains unexplained in both schema and description.

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 a specific verb and resource: declaring who can read the private half of a bound signing key. It enumerates the custody values and clearly frames the action as a dated, chained declaration rather than a setting, which distinguishes it from sibling tools like rotate_signing_key or revoke_key.

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 when to use it by explaining that declaring operator-held, principal-held, lost, or write-only takes a key off the payout path. However, it does not explicitly name alternatives such as rotate_signing_key, revoke_key, or payout_binding, nor does it state clear when-to-use versus when-to-use-another-tool guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources