Skip to main content
Glama

Server Details

Monetized graph answers via named Cypher queries — Tollbooth DPYC operator

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
lonniev/cypher-mcp
GitHub Stars
0
Server Listing
cypher-mcp

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsC

Average 3.6/5 across 77 of 79 tools scored. Lowest: 1.3/5.

Server CoherenceA
Disambiguation4/5

Most tools have distinct purposes clearly described, but the sheer number (79) and some overlapping themes (e.g., multiple credential-related tools) could cause occasional confusion. However, the descriptions effectively differentiate them.

Naming Consistency5/5

All tool names follow a consistent 'cypher_' prefix and snake_case convention. Verb+noun pattern is maintained throughout (e.g., 'check_balance', 'create_query', 'delete_coupon'), making it predictable.

Tool Count2/5

With 79 tools, the count is far above the typical 3-15 range. While the server covers a broad domain (payments, credentials, queries, etc.), many tools seem highly specialized, making the set feel bloated and hard to navigate.

Completeness4/5

The tool set is remarkably comprehensive, covering nearly all aspects of the described ecosystem (account management, payments, credentials, queries, coupons, Nostr, etc.). Minor gaps like missing batch operations or advanced analytics are acceptable given the scope.

Available Tools

93 tools
cypher_account_statementAInspect

Generate a patron's account statement at this operator.

Returns the patron's purchase history, active credit tranches, per-tool usage breakdown, and recent daily usage logs. This is the patron's spending account — not the operator's Authority tax balance.

Free — no credits consumed. Proof of npub ownership is required to prevent statement-scraping of arbitrary patrons.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days of daily usage history to include (default 30).
npubYesThe patron's Nostr public key (npub1...).
dpop_tokenYesRaw JSON of a kind-27235 Nostr event signed by npub — not base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its `u` tag must hold THIS tool's exact name (from tools/list), not the endpoint URL; content:"", created_at within 60s of now, and a random `nonce` tag recommended. Or a cached dpop_token phrase.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description carries full burden. It discloses that the tool is free (no credits consumed) and requires proof of npub ownership via dpop_token. It does not mention rate limits or error behavior, but for a read-only account statement tool, the provided transparency is adequate.

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 concise paragraphs: first states purpose and contents, second clarifies it's not the Authority balance and mentions free usage and authentication. No fluff, well structured.

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 an output schema exists, the description need not detail return values. It covers purpose, contents, prerequisites, cost, and differentiation. Complete for a read tool with 3 parameters.

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%, so parameters are well-documented there. The description adds that dpop_token is for proof of ownership, but days is already described in schema. Minimal added value beyond structured data.

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 generates a patron's account statement with specific contents (purchase history, credit tranches, usage breakdown, daily logs). It distinguishes from sibling 'check_authority_balance' by noting it's not the Authority tax balance, and from 'account_statement_infographic' by inference.

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 explains prerequisites (npub and dpop_token) and that it's free. It implicitly tells when to use (to view spending account details) but doesn't explicitly mention when not to use or alternatives like the infographic version. Still clear enough.

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

cypher_account_statement_infographicAInspect

Generate a visual SVG infographic of your account statement.

Returns the same data as account_statement, rendered as a dark-themed SVG graphic with balance hero, metrics cards, health gauge, tranche table, and tool usage breakdown. Costs 1 api_sat per call. Proof is verified by debit_or_deny before any cost is incurred.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days of daily usage history to include (default 30).
npubYesThe Nostr public key (npub1...) whose statement to render.
dpop_tokenYesRaw JSON of a kind-27235 Nostr event signed by npub — not base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its `u` tag must hold THIS tool's exact name (from tools/list), not the endpoint URL; content:"", created_at within 60s of now, and a random `nonce` tag recommended. Or a cached dpop_token phrase.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description discloses cost (1 api_sat per call) and proof verification mechanism (debit_or_deny). This provides key behavioral context beyond basic input/output.

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 two sentences: first states purpose, second details output and constraints. No unnecessary words, well-structured and front-loaded.

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?

The tool has an output schema, so return values are covered. The description explains visual output, cost, and verification. For a moderately complex tool with sibling differentiation, this is complete.

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%. The description adds no new meaning to parameters beyond what the schema already provides (e.g., 'days' is already described). Baseline score is appropriate.

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 it generates a visual SVG infographic of account statements, listing specific visual elements. It distinguishes itself from the sibling 'cypher_account_statement' by noting it returns the same data but rendered, implying different use cases.

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 mentions it returns the same data as account_statement but does not explicitly state when to use this tool versus the raw data version. Usage context is implied but not clearly articulated.

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

cypher_adoption_statusAInspect

Check this operator's adoption-request status at a chosen Authority.

Free. Polls the Authority MCP-to-MCP for the status of this operator's request (pending / approved / rejected / provisioned).

ParametersJSON Schema
NameRequiredDescriptionDefault
dpop_tokenNo
authority_npubYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

The description discloses the polling behavior ('Polls the Authority MCP-to-MCP') and lists possible return statuses (pending/approved/rejected/provisioned). It also states it's free. However, with no annotations provided, the description carries the full burden for behavioral disclosure; it omits details like being read-only (likely), side effects, or permission requirements.

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—two sentences with no wasted words. Key information (free, polling behavior, possible statuses) is front-loaded in the first sentence. Every sentence adds value.

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

Completeness3/5

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

For a simple tool with two parameters and an output schema, the description covers most of the necessary context (what it does, how it works, statuses). However, it lacks explanation of the 'dpop_token' parameter and does not describe the output format (though an output schema exists). The missing parameter detail reduces completeness.

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?

The input schema has 0% description coverage, so the description must compensate. It implicitly explains the 'authority_npub' parameter (chosen Authority) but does not mention the 'dpop_token' parameter at all. The description adds some meaning for the required parameter but fails to cover the optional 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 clearly states the tool's purpose: checking the adoption-request status of the operator at a chosen Authority. It uses a specific verb ('Check') and resource ('adoption-request status'), making it distinct from sibling tools like cypher_get_operator_onboarding_status or cypher_request_adoption.

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 provides context for when to use the tool: to check the status of an operator's adoption request. It notes that the tool is free and polls the Authority, giving agents a clear indication of its operation. However, it does not explicitly exclude alternative tools or provide when-not-to-use guidance.

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

cypher_anchor_symbolCInspect

Record where a symbol lives so future triage scopes its grep.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNo
file_pathYesRepo-relative path of the file the symbol lives in (the grep scope).
dpop_tokenNo
symbol_fqnYesFully-qualified name of the symbol just edited.
verified_at_shaYesCommit/PR sha the anchor was verified against (from git).
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only says 'record' but does not disclose side effects, idempotency, permissions, or whether it creates or updates. Lacks details on persistence or scope.

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, concise sentence with no redundant words. It is front-loaded and efficiently conveys the core purpose.

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

Completeness2/5

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

Given 5 parameters (3 required) and no output schema, the description is too minimal. It does not explain the return value, success conditions, or how the record is stored. Lacks completeness for an agent to invoke confidently.

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

Parameters2/5

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

Schema description coverage is 60% (moderate), but the tool description adds no parameter context beyond what's in the schema. It does not explain the role of npub, dpop_token, or the relationship between parameters.

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 the tool records a symbol's location for future triage grep scoping, using specific verb 'record' and resource 'symbol location'. However, it does not distinguish from siblings like cypher_index_symbol or cypher_bind_capability_to_symbol.

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 provides no guidance on when to use this tool versus alternatives. No mention of context, prerequisites, or exclusions.

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

cypher_assert_invariantCInspect

Record an enforceable code invariant.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesInvariant name, e.g. 'exactly two transaction types'.
npubNo
ruleYesThe rule stated plainly (the enforceable 'MUST NOT' / cardinality).
dpop_tokenNo
Behavior1/5

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

With no annotations, the description must fully disclose behavioral traits. It only states 'record an enforceable code invariant' without mentioning side effects, permissions, idempotency, or what happens if the invariant already exists. This is insufficient for safe invocation.

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 extremely concise with one short sentence. It is front-loaded but suffers from under-specification, which is not true conciseness.

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

Completeness2/5

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

For a tool with 4 parameters, no output schema, and no annotations, the description is too minimal. It does not explain return values, error conditions, or behavior when invariants conflict. More context is needed for reliable use.

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

Parameters2/5

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

Schema description coverage is 50% (only name and rule have descriptions). The model-level description adds no additional meaning beyond what is in the schema. It does not explain 'npub' or 'dpop_token', which are undocumented in 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 'Record an enforceable code invariant' clearly states the tool's action (record) and resource (code invariant). It is specific but does not distinguish from sibling tools like 'cypher_assert_rationale' or 'cypher_guard_invariant_symbol'.

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?

No usage guidance is provided. The description lacks when to use this tool versus alternatives, prerequisites, or exclusions. The sibling list indicates many related tools, but no differentiation.

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

cypher_assert_rationaleCInspect

Record the Journeyman's rationale for a fix (unverified provenance).

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNo
reasonYesWhy — the rationale.
repo_nameYesRepository name.
statementYesThe decision, stated plainly.
dpop_tokenNo
decision_idYesStable id for this decision (e.g. '<repo>#<issue>-<slug>').
issue_numberYesGitHub issue number.
Behavior2/5

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

The description indicates the provenance is unverified, hinting at data integrity but does not disclose whether the tool performs a write operation, requires authentication, or has side effects. Without annotations, this leaves significant behavioral gaps.

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 of 10 words, conveying the essential purpose without superfluous information. It is optimally concise.

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

Completeness2/5

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

With 7 parameters (5 required) and no output schema, the description does not explain return values, side effects, or data persistence. It lacks completeness for a write operation tool.

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

Parameters3/5

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

Schema description coverage is 71%, with 5 of 7 parameters documented. The tool description adds no extra meaning beyond the schema; it merely restates the purpose. Given moderate coverage, a baseline of 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?

The description clearly states the tool records a rationale for a fix by a Journeyman, specifying the verb (record), resource (rationale), and provenance qualifier (unverified). This distinguishes it from other recording tools like cypher_record_triage, but does not explicitly differentiate.

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?

No guidance is provided on when to use this tool versus alternatives such as cypher_note_rejection or cypher_record_triage. There is no mention of prerequisites or context for use.

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

cypher_authorize_capability_whyCInspect

Author the authoritative why for a capability.

ParametersJSON Schema
NameRequiredDescriptionDefault
whyYesThe authoritative, human-authored reason this capability exists.
nameYesCapability name.
npubNo
dpop_tokenNo
Behavior2/5

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

No annotations available, so description must carry full burden. It states the action (author) but does not disclose side effects, permissions, idempotency, or error conditions. Minimal behavioral insight.

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 a single, concise sentence. It is not verbose but could benefit from additional context without losing conciseness.

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

Completeness2/5

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

Given 4 parameters, no output schema, and no annotations, the description is too sparse. It lacks explanation of returns, prerequisites, or behavioral context, making it incomplete for effective use.

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 50% (why and name have descriptions). The description adds no extra meaning beyond repeating 'authoritative' for the why parameter. It does not explain npub or dpop_token, leaving gaps.

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 'Author the authoritative why for a capability' clearly states the verb (Author) and resource (capability's why), and distinguishes from sibling 'cypher_suggest_capability_why' via the word 'authoritative'. However, it could be more explicit about the action.

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?

No guidance on when to use this tool vs alternatives like cypher_suggest_capability_why or cypher_upsert_capability. No prerequisites or context provided.

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

cypher_bind_capability_to_symbolCInspect

Attach a capability to one of the symbols that implement it.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCapability name.
npubNo
dpop_tokenNo
symbol_fqnYesFully-qualified name of a code symbol that realizes the capability.
Behavior2/5

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

With no annotations, the description bears full responsibility for behavioral disclosure. The term 'Attach' is vague regarding side effects: is it idempotent? Does it overwrite existing bindings? Requires specific permissions? No such details are provided, leaving the agent uninformed about the operation's impact.

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

Conciseness3/5

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

The description is extremely concise at one sentence. While front-loaded, it sacrifices essential details for brevity, making it under-informative. It could be expanded with minimal extra text to improve clarity without becoming verbose.

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

Completeness2/5

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

Given the tool's complexity (4 parameters, binding operation, no output schema), the description is incomplete. It lacks information on return values, error scenarios, prerequisites (e.g., capability must exist), and idempotency, which are crucial for correct invocation.

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

Parameters2/5

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

Schema coverage is 50% (2 of 4 parameters described). The description adds no additional parameter meaning beyond the schema. Parameters npub and dpop_token lack descriptions both in schema and tool description, failing to clarify their purpose or defaults.

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 the tool's purpose: attaching a capability to a symbol that implements it. The verb 'Attach' and resources 'capability' and 'symbol' are specific. It distinguishes from siblings like cypher_bind_rationale_to_symbol, but lacks explicit differentiation from cypher_upsert_capability.

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?

No explicit guidance on when to use this tool versus alternatives. The description implies it is for associating a capability with an implementing symbol, but does not mention prerequisites, side conditions, or when to use other related tools like cypher_upsert_capability.

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

cypher_bind_rationale_to_symbolCInspect

Attach the Journeyman's rationale to a specific code symbol.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNo
dpop_tokenNo
symbol_fqnYesFully-qualified name of the code symbol the decision is about.
decision_idYesId of the Decision (from assert_rationale).
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. 'Attach' implies a mutation, but there is no mention of side effects (e.g., overwriting existing bindings), authorization requirements (though parameters npub and dpop_token hint at authentication), or idempotency. The description lacks critical behavioral details for a mutation tool.

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

Conciseness3/5

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

The description is a single sentence, making it concise. However, it is too short for the tool's complexity (4 parameters, no annotations) and lacks important context. It is front-loaded but sacrifices completeness for brevity.

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

Completeness2/5

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

Given the absence of annotations, no output schema, and 50% schema coverage, the description should provide substantial context. It fails to explain prerequisites (e.g., existence of a rationale from assert_rationale), return value, or behavior under different parameter values. The tool is part of a larger system (Journeyman), and the description does not situate it within that context.

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

Parameters2/5

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

The input schema covers 50% of parameters with descriptions (symbol_fqn and decision_id), but the description adds no additional meaning beyond what the schema provides. The parameters npub and dpop_token have defaults but no description of their purpose. The tool description does not explain why these parameters are needed or how they relate to the binding operation.

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 uses a specific verb ('Attach') and resource ('rationale to code symbol'), which clearly indicates the tool's action. However, it does not explain what 'Journeyman's rationale' or 'code symbol' mean in the broader context, leaving some ambiguity. It distinguishes itself from the sibling tool 'cypher_assert_rationale' by focusing on binding rather than creation.

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?

No guidance is provided on when to use this tool versus alternatives like 'cypher_assert_rationale'. There is no mention of prerequisites (e.g., that a rationale must first be asserted) or situations where this tool should be avoided. The description is too brief to offer any usage context.

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

cypher_capability_patentsCInspect

Show a capability's patent grounding.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCapability name.
npubNo
dpop_tokenNo
Behavior2/5

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

No annotations exist, so description carries full burden. It only states 'Show' but doesn't disclose behavioral traits like idempotency, side effects, or authentication 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?

Single sentence, 4 words, no filler. Very concise, though lacks structure for a multi-parameter tool.

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

Completeness1/5

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

No output schema, no annotations, and minimal description. Does not explain return format, prerequisites, or behavior beyond a vague 'Show'. Incomplete for a 3-parameter tool.

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

Parameters2/5

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

Schema coverage is low (33%–only 'name' described). Description adds no meaning for 'npub' or 'dpop_token', failing to compensate for undocumented parameters.

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?

Description uses verb 'Show' and resource 'capability's patent grounding', indicating a retrieval operation. While clear, it lacks specificity and doesn't distinguish from sibling tools.

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?

No guidance on when to use this tool versus alternatives. No prerequisites, context, or exclusions provided.

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

cypher_check_authority_balanceAInspect

Check this operator's tax balance at the Authority.

Returns the sats available for certifying patron credit purchases. When this balance reaches zero, patron top-ups cannot be certified and the operator must call purchase_credits on the Authority.

This is the operator's own funding — not a patron balance. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description carries full burden. It discloses the balance is for certifying purchases, is operator-owned (not patron), and is free. It doesn't explicitly state read-only behavior or lack of side effects, but the nature of checking a balance implies safety.

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?

Five sentences, each adding distinct value: purpose, return value, zero-balance consequence, ownership clarification, cost. No redundant or vague statements.

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 no parameters and existence of output schema, the description covers all necessary context: what it does, what it returns, when to use it, and consequence of zero balance. It feels complete for a simple check 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?

Zero parameters means baseline 4. The description adds value by explaining the return meaning (sats for certification) and context, which goes beyond the empty 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?

Clearly states the tool checks the operator's tax balance at the Authority, specifying the resource ('tax balance') and action ('check'). It distinguishes from sibling tools like cypher_check_balance by clarifying this is for certifying patron purchases, not a patron balance.

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

Usage Guidelines5/5

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

Explicitly describes when to use (to check operator's tax balance) and provides actionable guidance: when balance hits zero, patron top-ups fail and operator must call purchase_credits. This context helps the agent decide when to invoke and what to do next.

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

cypher_check_balanceAInspect

Check a patron's credit balance at this operator.

This is the patron's spending balance — credits purchased via Lightning for tool calls at this operator. For the operator's own balance at the Authority (needed to certify patron purchases), use authority_check_balance instead.

Free — no credits required. Proof of npub ownership is required to prevent anyone-with-the-registry from enumerating balances.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubYesThe Nostr public key (npub1...) whose balance to check.
dpop_tokenYesRaw JSON of a kind-27235 Nostr event signed by npub — not base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its `u` tag must hold THIS tool's exact name (from tools/list), not the endpoint URL; content:"", created_at within 60s of now, and a random `nonce` tag recommended. Or a cached dpop_token phrase.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

No annotations provided, so description carries burden. Clearly states free (no credits), requires proof of npub ownership to prevent enumeration. Leaves out explicit readOnly hint but implied by 'check'.

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?

Five sentences, front-loaded with main purpose, each sentence adds value. No wasted words.

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 purpose, prerequisites, cost, correct sibling comparison. Output schema exists so return format not needed. Complete for a check-balance 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?

Schema coverage 100% already describes parameters; description adds that dpop_token is a kind-27235 Nostr event, providing additional meaningful context beyond 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?

Clearly states it checks a patron's credit balance at the operator, distinct from authority_check_balance which checks operator's Authority balance. Verb+resource+scope is specific.

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

Usage Guidelines5/5

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

Explicitly says 'use authority_check_balance instead' for operator balance, mentions free usage and proof of npub ownership required.

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

cypher_check_paymentAInspect

Check the payment status of a Lightning invoice.

Call after paying the invoice from purchase_credits. Free — no credits required. Proof of npub ownership is required to prevent credit-grant front-running by an observer of the invoice ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubYesThe Nostr public key (npub1...) that purchased the invoice.
dpop_tokenYesRaw JSON of a kind-27235 Nostr event signed by npub — not base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its `u` tag must hold THIS tool's exact name (from tools/list), not the endpoint URL; content:"", created_at within 60s of now, and a random `nonce` tag recommended. Or a cached dpop_token phrase.
invoice_idYesThe invoice ID returned by purchase_credits.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

Despite no annotations, the description transparently explains the behavioral context: the tool is free, requires npub proof to prevent front-running, and that it checks payment status. No contradictions with annotations (none provided).

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, front-loaded with purpose, no redundant information. Every sentence adds value: purpose, usage instruction, cost, and security rationale.

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 presence of an output schema, the description does not need to detail return values. It covers prerequisites, security, and timing. Complete for the tool's complexity.

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?

Adds significant meaning beyond the schema: explains that invoice_id comes from purchase_credits, npub must be the owner, and dpop_token is a signed Nostr event. With 100% schema coverage, this contextualization is valuable.

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: 'Check the payment status of a Lightning invoice.' It distinguishes itself from sibling tools by specifying it should be used after paying via purchase_credits.

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

Usage Guidelines5/5

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

Explicitly states when to use: 'Call after paying the invoice from purchase_credits.' Also notes it is free and requires npub ownership proof, giving clear guidance on prerequisites.

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

cypher_check_priceAInspect

Preview the effective cost of a tool call.

Shows the base cost and any constraint effects (discounts, free trials, surge pricing). Free — no credits required.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNo
tool_idYesEither the tool's UUID (from the pricing model) or a bare capability string (e.g. ``"deal_scenario"``). FE callers usually have the capability name; this resolves both so the FE doesn't need to derive UUIDs locally.
dpop_tokenNo
tool_kwargsNoOptional JSON object with tool call parameters for ad valorem / categorical-multiplier pricing preview (e.g. '{"amount_sats": 5000}' or '{"difficulty": "sovereign", "mode": "live"}').

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

No annotations provided, so description carries full burden. It discloses that the operation is a preview (read-only) and costs no credits. It mentions what it shows (base cost, constraint effects). This is sufficient for a non-destructive price check, though it could mention error behavior for invalid tool IDs.

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 sentences plus a bolded note. Front-loaded with purpose. Every sentence is informative. No redundant or filler text.

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 the presence of an output schema, the description need not detail return values. It covers purpose, free nature, and what is shown. For a simple preview tool, this is mostly complete, though a bit more about when to use (e.g., before costly tool calls) would help.

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 50%. Description adds value for 'tool_id' by clarifying it accepts both UUID and capability strings. Other parameters (npub, dpop_token) are not described beyond schema defaults. Overall, the description partially compensates for missing schema descriptions but not fully.

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?

Description clearly states 'Preview the effective cost of a tool call.' It uses a specific verb (preview) and resource (cost), and distinguishes from dozens of sibling tools that handle accounts, coupons, queries, etc. No ambiguity.

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?

Description implies usage context: to check cost before calling a tool, and explicitly notes 'Free — no credits required.' However, it does not explicitly state when to avoid this tool or name alternative price-checking methods, so slightly below top score.

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

cypher_check_proof_statusAInspect

Check whether a previously-cached dpop_token is still valid.

Mirrors check_oauth_status for the npub-proof flow: a calling agent can ask "will my next paid call accept this dpop_token?" before burning credits on a guaranteed failure.

Free, no side effects — does not evict the cache or touch relays.

ParametersJSON Schema
NameRequiredDescriptionDefault
dpop_tokenNoRequired. The dpop_token phrase returned by ``request_npub_proof`` / ``receive_npub_proof``.
patron_npubNoRequired. The patron's npub (npub1...).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

With no annotations provided, the description fully carries the burden. It explicitly states the tool is free, has no side effects, does not evict the cache, and does not touch relays. This clearly communicates the behavioral impact beyond the operation itself.

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 short sentences, front-loaded with the main purpose. Every sentence adds value: purpose, use case, and behavioral traits. No unnecessary words or repetition.

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's simplicity, the description is complete. It covers what it does, when to use it, its effects (none), and cost (free). With an output schema present, the description does not need to explain return values. All necessary information is provided.

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?

The schema provides 100% coverage with detailed parameter descriptions (including that they are required). The tool description adds little beyond what the schema already states, such as where the token comes from, but this is marginal. Baseline 3 is appropriate given schema coverage.

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 checks if a cached dpop_token is valid. It also distinguishes itself from the sibling tool check_oauth_status by specifying it's for the npub-proof flow. The verb 'Check' and resource 'dpop_token validity' are specific and 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 description provides a clear use case: asking whether a paid call will accept the token before burning credits. It mentions it mirrors check_oauth_status, offering some comparison. However, it doesn't explicitly state when not to use this tool or what alternatives exist beyond that one mention.

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

cypher_claim_issueInspect

Mark an issue as actively being worked at the start of an agent's turn.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNo
titleNoIssue title (sets it if the node is new; omit to leave as-is).
activityYesWhat the agent is doing this turn: 'triaging' | 'fixing' | 'reviewing'.
issue_urlNoThe issue's GitHub URL (gh issue view <n> --json url), for click-through.
repo_nameYesRepository name.
worked_byYesThe agent role picking it up: 'porter' | 'journeyman' | 'qa'.
dpop_tokenNo
issue_numberYesGitHub issue number.
cypher_context_packCInspect

Return the code-orienteering scope for an intent keyword.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNo
keywordYesIntent keyword from the issue, e.g. 'npub proof', 'books health'.
dpop_tokenNo
Behavior2/5

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

No annotations are provided, so the description must carry the behavioral disclosure burden. It does not mention side effects, permissions, rate limits, or whether the operation is read-only or idempotent. As a lookup tool, destructive nature is unlikely but not confirmed.

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?

Single sentence efficiently conveys the tool's core purpose. No redundant or irrelevant information.

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

Completeness3/5

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

Given the tool's apparent simplicity (one required parameter, no output schema), the description is adequate but leaves unexplained jargon ('code-orienteering scope') and does not clarify the return format or scope semantics. Acceptable for a straightforward lookup but not fully complete.

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

Parameters2/5

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

Only the 'keyword' parameter has a description in the schema; the other two (npub, dpop_token) have defaults but no semantic context. The tool description only reinforces 'keyword' and adds no meaning to the optional parameters. Schema coverage is low (33%), and the description does not compensate.

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

Purpose3/5

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

The description 'Return the code-orienteering scope for an intent keyword' indicates the tool returns a scope related to a keyword, but 'code-orienteering scope' is jargon that may confuse agents. No differentiation from sibling tools like cypher_record_scope or cypher_guard_invariant_symbol.

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?

No guidance on when to use this tool vs alternatives. The description does not specify prerequisites, limitations, or contextual conditions. With many sibling tools, this omission leaves the agent without strategic direction.

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

cypher_create_queryAInspect

Operator-only: publish a new named Cypher query template.

The template must reference each declared parameter as $name (binding, not interpolation). param_schema maps param name -> {"type": ..., "required": true|false}; types: string, int, float, bool, list.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesStable, human-meaningful key (e.g. 'holdings_by_sector').
npubNoRequired. The operator's npub (npub1...).
row_limitNoMax rows returned (default 1000).
dpop_tokenNo
timeout_msNoBest-effort query timeout (default 5000).
access_modeNo'read' (default) or 'write'.read
descriptionNoHuman-readable description of what the query returns.
param_schemaNoDeclared parameters and their types.
cypher_templateYesParameterized Cypher using $param placeholders.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

No annotations present, so description carries full burden. It explains operator restriction and parameter binding syntax but does not disclose behavior on duplicate keys, side effects, rate limits, or authentication details. Adequate but not comprehensive.

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: purpose, binding rule, param_schema format. No filler, every sentence essential. Front-loaded with key info.

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?

Output schema exists, so return values need not be described. Tool has 9 params but high schema coverage; description covers binding and param_schema. Missing details about default values and auth tokens, but schema provides those. Sufficient for a creation 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?

Schema coverage is 89% (high), so baseline is 3. Description adds value by explaining how parameters are referenced as $name in the template and detailing param_schema format (type, required, allowed types). This goes beyond schema descriptions.

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?

Description clearly states 'publish a new named Cypher query template', which is specific and distinct from sibling tools (e.g., execute, get, update). The verb 'publish' and resource 'named Cypher query template' are precise.

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?

Explicit 'Operator-only' indicates restricted usage. While alternatives are not named, the purpose and name imply usage for creation, distinguishing it from execution, retrieval, or update tools. Sibling context reinforces this, but no explicit 'when not to use' is given.

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

cypher_delete_couponAInspect

Delete a coupon. Cascades to all patron redemptions.

Any chain step referencing the deleted coupon_id becomes a no-op (the constraint returns neutral on unknown ids) — the Studio surfaces orphan references as warnings.

RESTRICTED to operator — requires proof.

ParametersJSON Schema
NameRequiredDescriptionDefault
coupon_idYes
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

With no annotations, the description fully discloses cascading deletions, the no-op behavior for chain steps referencing the deleted coupon, and the restriction to operators requiring proof. This provides sufficient behavioral context for safe invocation.

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 action, followed by cascading effects and access restriction. No redundant information; every sentence adds value.

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 covers the cascading effect, side effects on chain steps, and access control. However, it lacks details on the return format (though output schema exists) and does not mention permanence or error handling. Adequate for a destructive tool with an output schema.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not explain either parameter (coupon_id or dpop_token). While coupon_id is self-explanatory and dpop_token is implied by 'requires proof', no formal documentation or format guidance is provided, leaving a significant gap.

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 'Delete a coupon' and distinguishes from sibling tools like mint, update, list, forget, and redeem. It also specifies the cascading effect on redemptions, making the scope unambiguous.

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 destructive usage via cascade and side effects but does not explicitly contrast with alternative tools like cypher_forget_coupon. The restriction to operator is stated but no guidance on when to choose delete over other operations.

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

cypher_delete_patron_credentialAInspect

Remove a single patron credential field.

Deletes one field from stored credentials without affecting other fields. Free. Proof of npub ownership is required — this is a write to the patron's sensitive credential vault.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubYesThe patron's Nostr public key (npub1...).
fieldYesThe credential field name to remove.
dpop_tokenYesRaw JSON of a kind-27235 Nostr event signed by npub — not base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its `u` tag must hold THIS tool's exact name (from tools/list), not the endpoint URL; content:"", created_at within 60s of now, and a random `nonce` tag recommended. Or a cached dpop_token phrase.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations provided, the description responsibly discloses that this is a write operation to a sensitive vault, that it is free, and that proof is required. It does not hide the mutating nature. Could mention permanence or idempotency, but still informative.

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 extremely concise: one sentence summary plus two additional sentences with key details. No filler words, front-loaded, and every sentence adds value.

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 that an output schema exists (so return values need not be explained), the description covers the essential aspects: action, scope, prerequisite, cost, and sensitivity. Missing error handling or idempotency details, but adequate for the tool's complexity.

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?

The input schema has 100% coverage with clear descriptions for all three parameters. The description adds context about the dpop_token being a proof of ownership, but overall adds limited value beyond schema. Baseline score of 3 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?

The description clearly states the verb ('remove') and resource ('patron credential field'), and explains it deletes one field without affecting others. It distinguishes from similar tools (update, forget) implicitly but not explicitly, so it's clear but not top-tier.

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 mentions a prerequisite ('Proof of npub ownership is required') and the sensitive nature of the write, but does not explicitly say when to use this tool over siblings like update_patron_credential or forget_credentials. Some guidance is present but insufficient.

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

cypher_delete_queryAInspect

Operator-only: delete a catalog entry by key.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
npubNoRequired. The operator's npub (npub1...).
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

Since no annotations are provided, the description must convey behavioral traits. It indicates the tool deletes an entry (destructive action) and restricts usage to operators. However, it does not explain consequences like irreversibility, cascading effects, or required permissions beyond operator status. The term 'delete' is clear but incomplete.

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, front-loaded sentence with zero waste. It communicates purpose and a key constraint efficiently.

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

Completeness2/5

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

Despite having an output schema, the description lacks essential context for a deletion tool: parameter semantics, error conditions, and behavioral details beyond operator restriction. For 3 parameters with low schema coverage, it is insufficiently complete.

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

Parameters1/5

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

Schema description coverage is only 33% (only npub has a description). The description adds no meaning beyond the schema: 'by key' references the key parameter but no details on format, constraints, or how to use npub and dpop_token. With low coverage, the description fails to compensate, leaving agents underinformed.

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 specifies the action ('delete') and the resource ('a catalog entry'), with a unique identifier ('by key'). It also includes a usage constraint ('Operator-only'). This distinguishes it from sibling tools like cypher_delete_coupon and cypher_delete_patron_credential, which operate on different entities.

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 explicitly states that the tool is 'Operator-only', providing a clear context for who should use it. However, it does not mention when not to use it or suggest alternative tools for non-operators, though the sibling list implies those exist. The condition is clear but lacks exclusions.

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

cypher_execute_query_by_keyAInspect

Execute a published, parameterized Cypher query by its key.

You supply the key of an operator-published query plus its parameters. The operator owns the query text; you never see or write raw Cypher. If the operator has published a query as a named tool (e.g. cypher_find_airline_flights), you can call that directly instead.

Billing note: you are charged only for a delivered answer. If the key is unknown, the parameters are invalid, or the query fails, the call raises and your debit is rolled back (no charge for value not delivered).

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesThe published query key (e.g. 'holdings_by_sector').
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
paramsNoParameters for the query — bound as Cypher $params, never interpolated. Must match the query's declared schema.
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

No annotations are provided, so the description must carry the full burden. It discloses that the operator owns the query text and the agent never sees raw Cypher. It also explains billing behavior: charged only for delivered answers, no charge on failure. However, it does not explicitly state whether executing a query is read-only or may have side effects, leaving some ambiguity.

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 a single paragraph that front-loads the core purpose. It includes a billing note without unnecessary fluff. Minor improvement could be structuring the billing note separately, but overall it is appropriately sized and focused.

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 the complexity of 4 parameters and the existence of an output schema (which need not be described), the description covers purpose, usage, alternative, billing, and parameter binding. It does not mention error handling beyond billing rollback, but overall it is sufficiently complete for an execution 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?

Schema description coverage is high (75%), so baseline is 3. The description adds value by clarifying that 'npub' is required for credit billing and that 'params' are bound as Cypher $params and must match the query's schema. This adds meaning beyond the schema's descriptions, especially for 'npub' and 'params'.

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 action: 'Execute a published, parameterized Cypher query by its key.' It specifies the verb (execute), the resource (published Cypher query), and the means of identification (by key). It also distinguishes from sibling tools by noting that if a query is published as a named tool, you can call that directly instead.

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool: when you have a key to a published query. It also provides an alternative: if the query is published as a named tool, use that directly. Additionally, it includes a billing note explaining charging policy and rollback on failure, which helps the agent decide when it's safe to invoke.

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

cypher_explain_capabilityCInspect

Explain why a capability exists and where it lives.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCapability name.
npubNo
dpop_tokenNo
Behavior2/5

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

With no annotations provided, the description carries full burden of behavioral disclosure. It only states the basic function, omitting details like read-only nature, authentication requirements, side effects, or return format. The agent cannot infer safety or constraints.

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?

Single sentence with no filler words. However, extreme conciseness sacrifices necessary detail; it is efficient but under-specified for a tool with 3 parameters and no annotations.

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

Completeness2/5

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

Given the lack of output schema, annotations, and parameter descriptions, the description is insufficient. It fails to explain return values, error conditions, or how parameters affect behavior, leaving substantial gaps.

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

Parameters2/5

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

Schema coverage is low (33%) with only 'name' described. The tool description adds no parameter information beyond the schema. The purpose of 'npub' and 'dpop_token' remains unclear, and no default behavior or usage context is provided.

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?

Description clearly states verb 'Explain' and resource 'capability', specifying two aspects: why it exists and where it lives. However, it does not explicitly differentiate from sibling tools like cypher_authorize_capability_why or cypher_which_service_handles, which may have overlapping purposes.

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?

No guidance on when to use this tool versus alternatives. The description does not specify prerequisites, context, or situations where this tool is recommended over siblings with similar names.

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

cypher_explain_patent_elementCInspect

Show what a patent reference numeral describes.

ParametersJSON Schema
NameRequiredDescriptionDefault
refYesPatent reference numeral, e.g. 400.
npubNo
dpop_tokenNo
Behavior1/5

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

No annotations provided, so description carries full burden. It lacks disclosure of read-only nature, authentication needs, or output format. Only states 'show' without 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.

Conciseness2/5

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

One sentence is concise but sacrifices crucial information. It is front-loaded, but too minimal to be useful.

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

Completeness1/5

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

Given 3 parameters, no output schema, and no annotations, description is severely incomplete. Does not cover return values, prerequisites, or parameter explanations.

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

Parameters1/5

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

Schema coverage is 33% (only ref described). Description adds no meaning to parameters; roles of npub and dpop_token are unexplained.

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?

Description clearly states the tool shows what a patent reference numeral describes, with specific verb and resource. However, it does not differentiate from siblings like cypher_explain_capability.

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?

No guidance on when to use this tool versus alternatives like cypher_upsert_patent_element or cypher_capability_patents. The description does not provide context about appropriate use cases.

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

cypher_factory_resolution_statsInspect

Report how issues were located, to measure grep-scope shrinkage.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNo
dpop_tokenNo
cypher_find_airline_flightsCInspect

Find airline routes between two cities (named-tool smoke test).

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNo
to_cityYes
from_cityYes
dpop_tokenNo
Behavior2/5

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

No annotations provided, and the description only hints at testing via 'smoke test', but does not disclose side effects, permissions, or return behavior.

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?

Single sentence with no redundancy. The parenthetical could be separated, but overall efficient.

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

Completeness2/5

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

With 4 parameters, no output schema, no annotations, and minimal description, the tool is under-specified. The 'smoke test' note hints at limited functionality but does not provide sufficient contextual completeness.

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?

The description links 'between two cities' to the required from_city/to_city parameters, but offers no explanation for the optional npub and dpop_token parameters, leaving them ambiguous.

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 'Find airline routes between two cities', which specifies the verb and resource. The parenthetical '(named-tool smoke test)' slightly detracts but does not obscure the purpose.

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?

No guidance on when to use this tool versus siblings. No context about prerequisites or exclusions.

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

cypher_forget_couponAInspect

Remove a coupon from this patron's redemption list.

Cosmetic only — the coupon itself still exists at the operator, and the patron can re-redeem the same code later while the window allows. Free — requires proof of npub.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubYes
coupon_idYes
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

Discloses key behaviors: 'Cosmetic only', 'coupon still exists', 'patron can re-redeem', and 'requires proof of npub'. Since no annotations are provided, the description carries full burden and handles it well.

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 sentences: first states purpose, second adds behavioral details. No redundant or extraneous information. Efficient and well-structured.

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?

Covers purpose, behavior, and prerequisite. With an output schema (not shown), return value details are likely covered. Lacks mention of error conditions but overall sufficient for a simple removal tool.

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

Parameters2/5

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

With 0% schema description coverage, the description should compensate. It only mentions npub as 'proof' but gives no details on npub, coupon_id, or dpop_token formats or usage.

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?

Clearly states the verb 'Remove' and resource 'coupon from this patron's redemption list'. Distinguishes from sibling tools like 'cypher_redeem_coupon' (add) and 'cypher_delete_coupon' (permanent deletion).

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

Usage Guidelines5/5

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

Explicitly explains that the operation is cosmetic and reversible, and that it requires proof of npub. Provides context on when to use this tool vs others (e.g., not for permanent deletion).

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

cypher_forget_credentialsAInspect

Delete vaulted credentials for a specific service and npub.

For operator credentials, pass the operator's own npub. For patron credentials, pass the patron's npub. Always requires proof of npub ownership — a deletion is as destructive as a write.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubYesThe Nostr public key (npub1...) whose credentials to forget.
serviceYesThe credential service to forget.
dpop_tokenYesRaw JSON of a kind-27235 Nostr event signed by npub — not base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its `u` tag must hold THIS tool's exact name (from tools/list), not the endpoint URL; content:"", created_at within 60s of now, and a random `nonce` tag recommended. Or a cached dpop_token phrase.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

No annotations provided, so the description carries the full burden. It discloses destruction severity and proof-of-ownership requirement, but lacks details on side effects, error states, or return values. The output schema exists but is not referenced.

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 short sentences with no wasted words. Front-loaded with the main action, followed by specific usage instructions. Highly efficient.

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 the output schema exists, the description adequately covers the tool's destructive nature and auth requirement. It could add idempotency info, but the current content is sufficient for a deletion 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?

Schema coverage is 100%, providing baseline 3. The description adds context for the 'npub' parameter by specifying operator vs patron usage, which goes beyond the schema's description.

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 the action (delete vaulted credentials) and the target (specific service and npub). It distinguishes between operator and patron credentials, but does not explicitly differentiate from sibling tools like cypher_delete_patron_credential.

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 provides guidance on which npub to use (operator vs patron) but does not give when-not-to-use instructions or mention alternative tools for similar operations.

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

cypher_get_nostr_profileAInspect

Read an npub's public Nostr profile (NIP-01 kind-0 metadata).

Free, no proof — the data is already public on relays. Returns the latest metadata fields (name, display_name, about, picture, banner, nip05, website, lud16) or an empty profile if none is published.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

With no annotations, the description fully discloses behavior: it returns the latest metadata fields listed and handles the case of an empty profile. It identifies the tool as a read operation with no side effects, which is transparent and complete.

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 extremely concise (two short sentences) and front-loaded with the core purpose in the first sentence. Every word adds value, no redundancy.

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 low complexity (1 parameter, no nested objects) and the presence of an output schema (inferred from context), the description provides all necessary information: purpose, parameter meaning, return fields, and edge case (empty profile). It is complete.

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 schema has 0% coverage, so the description adds critical meaning by identifying 'npub' as the public key identifier. It does not provide format constraints but clearly links the parameter to the tool's purpose, compensating for the schema gap.

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 reads a public Nostr profile using a specific verb ('Read') and resource ('npub's public Nostr profile'), and specifies the protocol field (NIP-01 kind-0 metadata). Although it does not explicitly differentiate from sibling tools like cypher_publish_nostr_profile, the purpose is unambiguous and specific.

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 provides context ('Free, no proof — the data is already public on relays') but does not explicitly state when to use this tool versus alternatives or when not to use it. Usage is implied but not guided with exclusions or comparisons.

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

cypher_get_notarization_proofAInspect

Generate a Merkle inclusion proof that a patron's balance was included in a Bitcoin-notarized snapshot.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubYesThe patron's Nostr public key (npub1...).
notarization_idYesThe notarization record ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

No annotations are provided, so the description carries the full burden. It states the tool generates a proof, implying a non-destructive, read-only operation, but does not disclose potential compute cost, authorization needs, or side effects. The description is adequate but not rich in 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 a single, front-loaded sentence of 15 words with no filler or redundancy. Every word is informative, making it highly efficient for an agent to parse.

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

Completeness3/5

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

Given that an output schema exists (so return format is documented) and parameters are fully described, the description provides the core purpose. However, it lacks context on how the proof is structured, verification steps, or when this tool is preferred over similar siblings (e.g., cypher_check_proof_status). The description is minimally complete but could be enhanced.

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 have clear descriptions in the schema (npub as Nostr public key, notarization_id as record ID). The tool description does not add any additional semantics beyond what the schema already provides, so a baseline score of 3 is appropriate.

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 specifies the action ('Generate') and the precise object ('Merkle inclusion proof for a patron's balance in a Bitcoin-notarized snapshot'). This distinguishes it from sibling tools like cypher_list_notarizations (listing) or cypher_check_proof_status (checking status), making the purpose unambiguous.

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 the tool is used when a Merkle proof is needed for a patron's balance, but does not explicitly state when to use it versus alternatives (e.g., cypher_check_proof_status or cypher_list_notarizations). No prerequisites, exclusions, or conditional guidance are provided, leaving interpretation to the agent.

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

cypher_get_operator_onboarding_statusAInspect

Report this operator's configuration readiness.

Shows which operator settings are configured, which are missing, and how to deliver each missing value. For patron-level credential status, use get_patron_onboarding_status instead. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

Describes what it shows (configured/missing/delivery), but no annotations are present. Does not disclose side effects, permissions, or read-only nature explicitly, though 'Report' implies read-only. Could be more transparent.

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 purpose, no unnecessary words except perhaps 'Free.' which is harmless. Very concise.

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?

Has output schema to explain return values. Description fully covers what the tool does for a simple report tool, no missing context.

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?

No parameters exist, and schema coverage is 100%, so description does not need to add parameter details. Baseline of 4 is appropriate.

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?

Clearly states 'Report this operator's configuration readiness' with specific verb and resource. Explicitly distinguishes from sibling tool 'get_patron_onboarding_status'.

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?

Provides clear alternative when to use a different tool ('For patron-level credential status, use get_patron_onboarding_status instead'). Lacks broader guidance on when not to use this tool, but the single alternative is valuable.

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

cypher_get_patron_credential_fieldsAInspect

List stored patron credential field names (not values).

Returns the names of fields stored for a patron. Values are never exposed — use this to verify which fields are configured. Free. Proof of npub ownership is required: the list of configured fields is itself sensitive (reveals which integrations a patron has set up).

ParametersJSON Schema
NameRequiredDescriptionDefault
npubYesThe patron's Nostr public key (npub1...).
dpop_tokenYesRaw JSON of a kind-27235 Nostr event signed by npub — not base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its `u` tag must hold THIS tool's exact name (from tools/list), not the endpoint URL; content:"", created_at within 60s of now, and a random `nonce` tag recommended. Or a cached dpop_token phrase.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that values are never exposed, the tool is free, requires proof of ownership (dpop_token), and the list itself is sensitive. These are important behavioral traits. It does not mention idempotency or rate limits, but for a read-only list tool, the disclosure is sufficient.

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 concise at six sentences, front-loading the purpose in the first sentence. Every sentence adds information (purpose, limitation, usage, cost, auth, sensitivity). It is well-structured and not verbose, though one could argue slight redundancy between the first two sentences.

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 the output schema exists, the description does not need to detail return values. It covers the operation, auth, cost, and security implications. For a simple list tool with two parameters, the description is complete. It does not discuss pagination or error conditions, but these are not critical for a list of field names.

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. The description adds value by explaining why the parameters are needed: 'Proof of npub ownership is required' for dpop_token and 'sensitive' context for npub. This semantic context goes beyond the schema descriptions, justifying a 4.

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 lists patron credential field names, not values, and distinguishes it by emphasizing it is for verification. It provides a specific verb ('List') and resource ('stored patron credential field names'), and the note 'not values' differentiates it from tools that return values. This is explicit and distinct from 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?

The description gives context for when to use the tool: 'use this to verify which fields are configured.' It also mentions the security requirement (proof of npub ownership) and sensitivity. However, it does not explicitly state when not to use it or name alternative tools like cypher_update_patron_credential for modification. Still, the guidance is clear enough for an agent.

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

cypher_get_patron_onboarding_statusAInspect

Report a patron's credential readiness for this operator.

For set-once services (eXcalibur, TheBrain), shows which patron secrets are configured and which are missing. For dynamic/OAuth2 services (Schwab), reports that no patron credentials are needed. Free. Proof of npub ownership is required because credential presence is sensitive information about the patron's setup.

ParametersJSON Schema
NameRequiredDescriptionDefault
dpop_tokenYesA kind-27235 Nostr event signed by patron_npub for this tool.
patron_npubYesThe patron's Nostr public key (npub1...).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that the tool is free, requires a dpop_token for auth, and distinguishes between service types. It does not hide any destructive behavior and is generally transparent, though it omits rate limits or output specifics (but output schema exists).

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 and well-structured: a clear purpose statement, followed by service-specific details, and a note on free usage and auth requirement. Every sentence adds value with no fluff.

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 presence of an output schema, the description adequately covers the tool's behavior and nuances. It explains credential readiness for two service types and mandates auth, making it complete for an AI agent to understand usage.

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%, so baseline is 3. The description adds minimal value beyond the schema: it specifies that dpop_token is a kind-27235 event 'for this tool,' but the schema already describes both parameters adequately.

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 the tool reports a patron's credential readiness for the operator, with specific details for set-once and dynamic/OAuth2 services. It differentiates from sibling tools by focusing on patron credentials rather than broader onboarding status, but does not explicitly name alternatives.

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 mentions that proof of npub ownership is required and explains the behavior for different service types, implying when to use it. However, it does not explicitly state when not to use it or suggest alternative tools for other scenarios.

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

cypher_get_pricing_modelAInspect

Get the active pricing model for this operator. Free.

If no model exists, self-initializes a scaffold with all registered tools at 0 sats. No economic data from code.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

Discloses side effect: self-initializes a scaffold if no model exists. Also states 'No economic data from code.' Adds behavioral context beyond a simple getter.

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 sentences, front-loaded with the key purpose. 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?

Adequately covers the tool's behavior for a zero-parameter getter, including the initialization scenario. Output schema exists but is not needed for description completeness.

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?

No parameters exist, and schema coverage is 100%. Description adds no param info, but baseline for zero parameters is 4.

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?

Clearly states 'Get the active pricing model for this operator.' with a specific verb and resource, and distinguishes from siblings like set/reset models.

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?

No guidance on when to use this tool vs. alternatives (e.g., set/reset). Only mentions 'Free.' which is not usage guidance.

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

cypher_get_queryAInspect

Operator-only: fetch one catalog entry (template + schema + metadata).

Includes edit_url — a one-click deep link into the hosted Neo4j Browser that pre-targets this operator's AuraDB and loads the template in EDIT mode, so the analyst refines it in Neo4j's own UI and saves it back with update_query. Omitted if the operator's Neo4j credentials aren't delivered yet (best-effort; the raw template is always present to paste).

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
npubNoRequired. The operator's npub (npub1...).
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses the edit_url behavior, when it may be omitted (if credentials not delivered), and assures the raw template is always present. This gives good insight into the tool's response nuances.

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 includes valuable detail about edit_url. While slightly verbose, it avoids unnecessary fluff. Every sentence contributes to understanding the tool's behavior.

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 the existence of an output schema, the description need not detail return values. It sufficiently covers the key behavioral nuance (edit_url) and conditions. However, it could be more complete by clarifying the relationship between input parameters and the fetched catalog entry.

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

Parameters2/5

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

The input schema covers 3 parameters but only one ('npub') has a description, which is partially incorrect (states 'Required' but it's not in the required list). The description does not add meaning for 'key' or 'dpop_token', failing to compensate for the low schema coverage.

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 'fetch one catalog entry (template + schema + metadata)' and identifies it as 'Operator-only', distinguishing it from sibling tools like cypher_execute_query_by_key or cypher_list_queries.

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 specifies operator-only access but provides no explicit guidance on when to use this tool versus alternatives such as cypher_create_query, cypher_update_query, or cypher_list_queries. The context about edit_url is useful but insufficient for decision-making.

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

cypher_guard_invariant_symbolDInspect

Register a symbol an invariant guards.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesInvariant name.
npubNo
dpop_tokenNo
symbol_fqnYesA symbol in the invariant's bounded expected set.
Behavior1/5

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

No annotations and description lacks any behavioral disclosure: side effects, permissions, or return values not mentioned.

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

Conciseness2/5

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

Extremely brief but underspecified. A single confusing sentence does not earn its place; clarity sacrificed for brevity.

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

Completeness1/5

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

Description fails to provide enough context given the tool's complexity (4 params, no output schema, many siblings). Agent cannot determine correct usage.

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

Parameters2/5

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

Schema covers 50% of parameters with descriptions. The tool description adds no additional meaning beyond what is in the schema.

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

Purpose2/5

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

Description 'Register a symbol an invariant guards' is grammatically awkward and vague. It does not clearly state the action or differentiate from siblings like cypher_assert_invariant.

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?

No guidance on when to use this tool versus alternatives. No context about prerequisites or conditions.

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

cypher_index_symbolCInspect

Index a code symbol as belonging to a service.

ParametersJSON Schema
NameRequiredDescriptionDefault
langYesSource language, e.g. 'python', 'swift', 'typescript', 'rust'.
npubNo
repo_nameYesRepository name.
dpop_tokenNo
symbol_fqnYesFully-qualified symbol name (per-language normalized).
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It states 'Index' (a write operation) but does not explain whether previous indexes are overwritten, what happens on conflict, required permissions, or side effects. The description is insufficient for safe invocation.

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

Conciseness3/5

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

The description is a single sentence with no wasted words, appropriate for a simple tool. However, it is under-specified; conciseness should not come at the cost of completeness. A slightly longer description with key details would be more valuable.

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

Completeness2/5

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

Given the tool has no output schema and moderate parameter count (5), the description is too sparse. It does not explain return values, idempotency, or behavior on duplicate symbols. The context from siblings suggests a complex ecosystem, yet this description provides no integration guidance.

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

Parameters2/5

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

Schema coverage is 60% (3 of 5 parameters have descriptions). The description adds no additional meaning beyond the schema. It does not explain the purpose of the npub and dpop_token parameters (both with defaults), nor does it clarify the format or constraints for symbol_fqn beyond what the schema provides.

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 'Index a code symbol as belonging to a service' clearly states the verb (Index) and resource (code symbol) with a specific intent (belonging to a service). However, it does not differentiate from sibling tools like cypher_symbols_in_service or cypher_which_service_handles, which may have overlapping purposes.

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?

No guidance is provided on when to use this tool versus alternatives. The description lacks context about typical use cases, prerequisites, or exclusion criteria, leaving the agent to guess based solely on the name.

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

cypher_issue_provenanceInspect

Fetch an issue's GitHub URLs and provenance chain for browser click-through.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNo
repo_nameYesRepository name.
dpop_tokenNo
issue_numberYesGitHub issue number.
cypher_list_canonical_identitiesAInspect

Return canonical (tool_id, mcp_name, …) for every registered tool.

The authoritative source for any client (Studio, agents, FE) that needs to know how this MCP identifies its tools. Reconcile uses this output to UUID-join against the stored pricing model — no name-based UUID derivation, no guessing.

If the operator renames a function or rebrands a slug, the mcp_name in this output changes but tool_id stays. That's the whole point of the canonical-UUID design.

Free, no side effects.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

Given no annotations, the description fully discloses behavior: it's 'Free, no side effects.' It also explains the key behavioral trait: if a function is renamed or slug rebranded, 'mcp_name in this output changes but tool_id stays,' which is critical for understanding the tool's stable identity contract.

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?

Description is concise (5 sentences) and front-loaded with the action. Every sentence adds value: purpose, usage context, behavioral nuance, and guarantees. No wasted words.

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 (indicated by context), the description need not detail return values. It covers the purpose, usage, behavioral stability, and safety, making it complete for a read-only, no-parameter 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?

Tool has zero parameters and schema coverage is 100% (trivially). Baseline for 0 parameters is 4. Description adds no parameter info, but none is needed.

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?

Description clearly states action: 'Return canonical (tool_id, mcp_name, …) for every registered tool.' It uniquely identifies the tool as a list of canonical identities, distinguishing it from sibling tools by explaining its role as the authoritative source for tool identification.

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

Usage Guidelines5/5

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

Provides explicit when-to-use guidance: 'The authoritative source for any client (Studio, agents, FE) that needs to know how this MCP identifies its tools.' Also specifies a concrete use case: 'Reconcile uses this output to UUID-join against the stored pricing model — no name-based UUID derivation, no guessing.' This goes beyond typical usage hints.

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

cypher_list_capabilitiesCInspect

List every capability for semantic intent-matching.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNo
since_msNoEpoch-ms lower bound on change time; 0 (default) = any time.
dpop_tokenNo
Behavior2/5

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

No annotations exist, and the description does not disclose side effects, authorization requirements, or result details. It only states the action without behavioral nuance.

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

Conciseness3/5

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

Single sentence, front-loaded. While concise, it sacrifices informativeness; a few more words could improve clarity without losing brevity.

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

Completeness2/5

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

Tool has no output schema and minimal description. Missing details on what constitutes a 'capability,' potential filtering, or pagination. The description is incomplete for effective use.

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

Parameters1/5

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

Schema coverage is 0% and description omits any explanation of the two parameters (npub, dpop_token). The description adds no value 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?

Description states 'List every capability for semantic intent-matching.' The verb 'List' and resource 'capabilities' are specific. However, it does not differentiate from siblings that might also list items.

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?

No guidance on when to use this tool versus alternatives. No context or exclusion criteria provided.

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

cypher_list_constraint_typesAInspect

List all available constraint types and their parameter schemas.

Returns the type, category, description, and parameter specs for every constraint that can be used in a pricing pipeline. Free — no credits required.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations provided, the description carries the full burden. It states 'Free — no credits required,' which is helpful cost information. It describes the return structure but could be more explicit about read-only nature and required permissions.

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 sentences: one for purpose, one for detail and cost. No extraneous words. Front-loaded with the main action.

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 no parameters and an output schema (context indicates yes), the description sufficiently covers what an agent needs: what it does, what it returns, and cost. No 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 has zero parameters, so no parameter documentation is needed. The description adds value by explaining the output fields. Baseline for 0 params is 4, and the description meets it.

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?

Description clearly states 'List all available constraint types and their parameter schemas.' It specifies the returned fields (type, category, description, parameter specs) and context (pricing pipeline). The name itself is descriptive, and no sibling tool offers identical functionality.

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 does not explicitly state when to use this tool versus alternatives. It implies it's for exploring constraint types for the pricing pipeline, but lacks guidance on prerequisites or scenarios where this is the best choice.

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

cypher_list_couponsAInspect

List every coupon this operator has minted (newest first).

Each row carries the current times_redeemed counter — the Studio renders a progress bar from this against total_uses. RESTRICTED to operator — requires proof.

ParametersJSON Schema
NameRequiredDescriptionDefault
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses ordering (newest first) and output details (times_redeemed/total_uses progress bar), but does not explain what 'proof' means or authentication requirements in depth.

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 with three sentences, each adding value: purpose+ordering, output rendering hint, and access restriction. 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?

Given the tool's simplicity (list with one param and output schema), the description covers core aspects: what is listed, output details, and access scope. It could mention sibling differentiation (vs. cypher_list_my_coupons) and clarify the parameter, but overall it is sufficiently complete.

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

Parameters1/5

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

The input schema has one parameter (dpop_token) with 0% coverage in the description. The description does not mention or explain this parameter, leaving agents without guidance on its purpose or value.

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 lists every coupon minted by the operator, in newest-first order. This distinguishes it from siblings like cypher_list_my_coupons implicitly, as it specifies 'this operator' rather than the current user.

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 notes the tool is restricted to operators and requires proof, setting clear usage context. However, it does not explicitly state when not to use it or name alternative tools for non-operators.

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

cypher_list_issuesInspect

List every triaged issue for the Issues register.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNo
since_msNoEpoch-ms lower bound on triage/scope time; 0 (default) = any time.
dpop_tokenNo
cypher_list_my_couponsAInspect

List the coupons this patron has redeemed on this operator.

Returns both active and exhausted redemptions with a per-row status (active / window_closed / patron_limit / total_limit). Free — requires proof of npub.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubYes
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description discloses that the tool returns both active and exhausted redemptions with per-row status values (active, window_closed, patron_limit, total_limit). It also states it's free and requires proof, which adds transparency. It does not mention side effects or rate limits, but the read-only nature is implied.

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 with three short sentences. It front-loads the purpose and adds key details (return status values, cost, authentication) without waste. Every sentence provides value.

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 the presence of an output schema (not shown), the description does not need to fully detail all return fields. It covers the important status field and the auth requirement. The only gap is the dpop_token parameter, but overall it is fairly complete for a list operation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It mentions 'npub' as required with proof, but does not explain the dpop_token parameter at all. The dpop_token is optional with a default, but no meaning is given. The description adds minimal value 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 clearly states that the tool lists coupons redeemed by a specific patron on a specific operator. This distinguishes it from the sibling cypher_list_coupons, which likely lists all coupons. However, it does not explicitly name the alternative.

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 indicates that the tool is free and requires proof of npub, giving a usage context. However, it does not provide explicit guidance on when to use this versus alternatives like cypher_list_coupons, or when not to use it.

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

cypher_list_notarizationsBInspect

List recent Bitcoin notarization records.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum records to return (default 20).
statusNoOptional filter (e.g., 'submitted', 'confirmed').

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

With no annotations present, the description must fully communicate behavioral traits. It only states 'list' implying a read operation, but fails to disclose whether records are ordered, how 'recent' is defined, or any side effects. An agent would lack understanding of side effects, safety, or data recency.

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 focused sentence with no superfluous words. It is front-loaded and to the point.

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

Completeness2/5

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

Despite the presence of an output schema, the description lacks important context: ordering direction, pagination behavior, maximum allowed limit, and definition of 'recent'. These gaps reduce completeness for a list operation.

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%, so the description adds no new meaning beyond the schema's parameter descriptions. The schema already explains limit and status filter. Baseline 3 is appropriate.

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 action (list), the resource (Bitcoin notarization records), and a temporal qualifier (recent). This distinguishes it from sibling tools like cypher_get_notarization_proof (single record) and cypher_notarize_ledger (creation).

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 provides no guidance on when to use this tool versus alternatives. It does not mention contexts where it is appropriate, prerequisites, or situations to avoid. Without such information, an agent cannot make an informed selection.

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

cypher_list_queriesBInspect

Operator-only: list this operator's published query keys.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. The operator's npub (npub1...).
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations exist, so the description should fully disclose behavior. It only mentions 'Operator-only' and the action, omitting authentication needs, error behavior, or output details. Insufficient for a tool with no 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 sentence with no redundancies. However, it is too brief and sacrifices clarity for conciseness.

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

Completeness2/5

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

Despite having an output schema, the description fails to explain what 'query keys' are, the format of results, or operational context (e.g., prerequisites). Poorly covers needed context given no annotations.

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 50%. The description adds meaning for npub (labeling it required) but says nothing about dpop_token. Overall, minimal added value 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?

The description clearly states the tool lists an operator's published query keys, using a specific verb and resource. It distinguishes from siblings like cypher_get_query and cypher_create_query.

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?

It specifies 'Operator-only', implying a constraint on who should use it, but does not provide explicit when-to-use or alternatives guidance. Missing exclusions or scenarios.

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

cypher_mint_couponBInspect

Create a new operator-owned discount coupon.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe catchy code patrons type to redeem (operator-scoped uniqueness).
dpop_tokenNo
total_usesNoAggregate cap across all patrons (default None = unlimited).
valid_fromYesISO-8601 datetime when the coupon becomes active.
valid_untilYesISO-8601 datetime when the coupon expires.
uses_per_patronNoHow many tool calls one patron can claim the discount on (default 1; pass null/None for unlimited within the window).
discount_percentYesPercentage off the base price (0-100).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations provided, and the description does not disclose any behavioral traits beyond creation. Lacks information on side effects, authorization requirements, or idempotency, which is critical for a mutation tool.

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?

Single sentence, no fluff, but could benefit from a bit more detail. Effective and front-loaded.

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

Completeness2/5

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

Despite having an output schema, the description is insufficient for a creation tool with 7 parameters. It does not explain return values, constraints, or typical use cases, leaving gaps.

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 86%, so the schema already defines parameters well. The description adds no additional meaning beyond stating the tool creates a coupon.

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 action (Create) and the resource (operator-owned discount coupon), distinguishing it from sibling tools like cypher_delete_coupon and cypher_update_coupon.

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?

No guidance on when to use this tool versus alternatives such as cypher_update_coupon or cypher_delete_coupon. The description only states the action without context.

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

cypher_notarize_ledgerAInspect

Build a Merkle tree of all patron balances and submit the root to Bitcoin via OpenTimestamps.

Operator-only background task. Bitcoin confirmation takes 1-6 hours. Free — no credits required.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With no annotations, the description carries the full burden. It discloses key behaviors: it's operator-only, background, free, and slow. However, it does not describe side effects (e.g., whether it creates a Bitcoin transaction) or the return value, which is a gap.

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 concise sentences, each adding meaningful information (purpose, operator-only, timing, cost). No redundant or vague language.

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 zero parameters and the existence of an output schema (not shown but declared), the description covers the essential aspects: what it does, who can use it, timing, and cost. However, it does not explain whether the tool returns immediately or after confirmation, which could affect agent decision-making.

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 baseline is 4. The description adds no parameter info, which is appropriate since there are none to describe.

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 builds a Merkle tree of all patron balances and submits the root to Bitcoin via OpenTimestamps. The verb 'build and submit' is specific, and the resource 'ledger notarization' is distinct from sibling tools like cypher_check_balance or cypher_list_notarizations.

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 specifies that it is an operator-only background task and mentions the confirmation time (1-6 hours). This provides context on when to use it (operator) and expectation on duration, but does not explicitly state when not to use it or mention alternative tools.

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

cypher_note_rejectionCInspect

Record why the Porter rejected an issue.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNo
reasonYesWhy the issue was rejected (spam, out-of-scope, injection, ...).
repo_nameYesRepository name.
dpop_tokenNo
issue_numberYesGitHub issue number.
Behavior2/5

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

The description implies a write operation but does not disclose side effects, permission requirements, or processing details. With no annotations provided, the burden is high but unmet.

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?

Single sentence with no wasted words, though it could benefit from a brief qualifier about the Porter role.

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

Completeness2/5

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

Lacks explanation of return values, the purpose of 'npub' and 'dpop_token' parameters, and the broader context of issue rejection recording.

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 60% (3 of 5 params described). The description adds no additional parameter meaning beyond the schema, so baseline score of 3 applies.

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 the action ('Record') and the reason ('why Porter rejected an issue'), but does not distinguish from sibling tools like 'cypher_record_triage'.

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?

No guidance on when to use this tool versus alternatives; no context about prerequisites or when not to use it.

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

cypher_oracle_aboutAInspect

Describe the DPYC ecosystem via the Oracle. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

With no annotations provided, the description bears full responsibility for behavioral disclosure. It only states the tool describes the ecosystem and is free, but omits details such as output format, side effects, authentication needs, or any constraints. The brief description is insufficient for an agent to understand implications.

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 extremely concise at two short sentences. The first sentence clearly states the core purpose, and the second adds a minor note about cost. No unnecessary words or redundancy.

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

Completeness3/5

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

Given the tool has no parameters and an output schema exists, the description is adequate but minimal. It explains the high-level purpose but does not clarify what 'describe' means structurally or how it fits among many similar oracle tools. The lack of usage guidelines reduces completeness.

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 no parameters, so the schema is trivially covered. The description adds no parameter-level details, but none are needed. Baseline of 4 is appropriate because there is nothing missing.

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 uses the specific verb 'Describe' and identifies the resource ('DPYC ecosystem') and means ('via the Oracle'), making the tool's purpose unambiguous. It distinguishes itself from sibling tools that perform specific actions like checking balances or minting coupons.

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 provides no guidance on when to use this tool versus alternatives, such as the many sibling tools or other oracle tools like 'cypher_oracle_network_advisory'. There is no mention of prerequisites or use cases.

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

cypher_oracle_get_tax_rateAInspect

Get the current DPYC certification tax rate. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

No annotations are provided, so the description carries the burden. It states 'Free.' but does not disclose other behavioral traits such as read-only nature, idempotency, or any authorization requirements. For a simple getter with no parameters, the description is adequate but minimal.

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 with no redundant words. The description is highly concise and front-loaded with key 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?

Given no parameters and presence of an output schema, the description is sufficient. It covers the essential purpose and notes the cost aspect ('Free'). No missing elements for this simple retrieval 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, so baseline is 4. No additional parameter information is needed, and the description adds nothing 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?

The description clearly states the verb 'Get' and the specific resource 'current DPYC certification tax rate', with the additional note 'Free.' which distinguishes it from sibling tools that perform other operations like account statements or adoption status.

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 guidance on when to use this tool versus alternatives, but the simple nature implies use whenever the tax rate is needed. Lacks when-not or alternative mentions.

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

cypher_oracle_how_to_joinBInspect

Get DPYC onboarding instructions from the Oracle. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. The description only says 'Free.' and does not indicate whether the operation is read-only, any rate limits, authentication requirements, or side effects. The behavioral profile is essentially absent.

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 a single sentence, which is concise and front-loaded. It achieves clarity without extraneous words. However, it could be more informative without sacrificing brevity.

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

Completeness3/5

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

For a tool with no parameters and an output schema, the description is adequate but minimal. It does not explain what 'DPYC' means or what the onboarding instructions contain. The existence of an output schema reduces the burden, but the description still lacks context about the response and usage context.

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 no parameters (0), so schema description coverage is 100%. Baseline for no parameters is 4. The description correctly implies no input is needed, but does not add beyond that.

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 states 'Get DPYC onboarding instructions from the Oracle. Free.' which includes a specific verb ('get') and resource ('onboarding instructions'). However, the acronym 'DPYC' is not explained, which could cause confusion. Among sibling tools like 'cypher_oracle_about' and 'cypher_oracle_network_advisory', this tool is clearly distinct in its focus on how to join.

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?

No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, context, or scenarios where this tool should be used over other oracle-related tools.

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

cypher_oracle_lookup_memberCInspect

Look up a DPYC community member by npub. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations provided; description only says 'Free.' It does not disclose whether the tool is read-only, rate limits, data freshness, or side effects. The behavioral burden is not met.

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 very concise with two sentences that front-load key information (action, resource, identifier, cost). However, it is too sparse and could include more detail without losing conciseness.

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

Completeness2/5

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

Despite having an output schema, the description lacks usage context, parameter details, and behavioral transparency. For a simple lookup tool with 0% schema coverage and no annotations, it is insufficient for complete understanding.

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

Parameters1/5

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

Parameter 'npub' is documented only as a required string in the schema with 0% schema coverage. The description adds no meaning about format, length, or example, failing to compensate for the lack of schema descriptions.

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?

Clearly states the tool looks up a DPYC community member by npub, but does not differentiate from similar sibling tools like cypher_get_nostr_profile which may also look up by npub.

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?

Minimal usage guidance: no mention of when to use this tool versus alternatives, no prerequisites or scenarios. Only 'Free.' indicates cost, but not when to use.

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

cypher_oracle_network_advisoryAInspect

Get active network advisories from the Oracle. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

No annotations provided, so description must convey behavioral traits. It states 'Free' (cost implication) and 'Get' (read operation). However, no details on side effects, authentication, or rate limits. Given the tool has no parameters and is a simple advisory retrieval, the description is minimally adequate but lacks depth.

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?

Description is a single short sentence with no unnecessary words. It efficiently conveys the core action and a key attribute (free).

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

Completeness3/5

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

For a tool with no parameters and an output schema, the description is brief but omits details about the content of advisories or output format. It is sufficient for a simple call but could be more informative.

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?

Tool has zero parameters with 100% schema description coverage. Baseline for zero parameters is 4 per rubric. Description adds no parameter information, but none is needed.

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?

Description states 'Get active network advisories from the Oracle.' This clearly specifies the verb (Get), resource (network advisories), and source (Oracle). The tool is distinct from siblings like cypher_oracle_about or cypher_oracle_get_tax_rate.

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?

No guidance on when to use this tool versus alternatives. The description only mentions it is free but does not indicate prerequisites, context, or when not to use it.

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

cypher_publish_nostr_profileAInspect

Publish a CLIENT-SIGNED kind-0 profile to relays for an npub.

The wheel never holds a patron nsec. The frontend signs the kind-0 metadata event with the patron's session key or a NIP-07 extension and passes the signed event (JSON) here; the wheel verifies the signature matches the npub, then relays it to public relays. The signature is the authorization — no proof token, no key custody. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoThe patron's Nostr public key the event must be signed by.
signed_eventNoA JSON-encoded, client-signed kind-0 event.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description discloses key behaviors: no private key custody, signature verification, relay broadcast, and that authorization is via signature. Lacks details on error handling or rate limits, but covers core safety aspects.

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, no redundant words. The first sentence states the purpose, the second provides the usage context, and the third adds security nuance. Every sentence is necessary.

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 simple two-parameter tool with an output schema, the description covers input semantics and behavior adequately. The existence of an output schema likely covers return values, so no gap there.

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?

Although schema descriptions cover both parameters, the tool description adds valuable context: explains that 'signed_event' is a JSON-encoded client-signed kind-0 event and clarifies the role of 'npub' in signature verification, deepening understanding beyond 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?

The description clearly states 'Publish a CLIENT-SIGNED kind-0 profile to relays for an npub.' The verb 'Publish' and resource 'kind-0 profile' are specific. This distinguishes it from sibling 'cypher_get_nostr_profile' which reads profiles.

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 explains that the tool expects a client-signed event and that the wheel never holds private keys, implying when to use (when you have a signed event) and not to use (if you need server-side signing). It does not explicitly mention alternatives but provides clear context.

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

cypher_publish_toolAInspect

Operator-only: expose a catalog query as a named, typed MCP tool.

Projects the published query as a first-class tool named cypher_<key> whose flat, typed parameters come from the query's param schema (e.g. cypher_find_airline_flights(from_city, to_city)). The tool is registered immediately but starts unpriced — it appears in Pricing Studio like any new tool; set its price there. Until priced, calls return "not priced yet (TBD)". Patrons then call it by name with typed params instead of execute_query_by_key.

The key must be a valid tool identifier (^[a-z][a-z0-9_]*$). Reconnect to see the new tool in the tool list.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesAn existing catalog query key (see ``list_queries``).
npubNoRequired. The operator's npub (npub1...).
dpop_tokenNo
tool_intentNoOne-line description shown as the tool's purpose (defaults to the query's description).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description carries full disclosure burden. It reveals that the tool registers immediately but starts unpriced, causing calls to return 'not priced yet (TBD)' until pricing is set. It also notes the need to reconnect to see the new tool and enforces a valid tool identifier pattern. These details adequately cover behavioral traits beyond what the bare input schema provides.

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, then expands into details like pricing and naming. Each sentence contributes meaningful information (operator scope, registration behavior, key format, reconnect note). It is concise enough for quick comprehension, though it could be slightly tightened without losing clarity.

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 the presence of an output schema (so return values need no description) and the complexity of a publishing tool, the description covers the lifecycle: registration, unpriced state, pricing step, and client usage. Sibling tools like cypher_execute_query_by_key are referenced for contrast. The description feels complete for an agent to decide when and how to invoke the 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?

Three of four parameters have descriptions in the schema (75% coverage). The description adds value by explaining tool_intent as a one-line purpose display and by referencing list_queries for the key parameter. npub is marked required with format clue. The overall parameter context (flat, typed from query schema) is also outlined, though dpop_token lacks explanation.

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 'Operator-only: expose a catalog query as a named, typed MCP tool,' clearly stating the verb (expose), resource (catalog query), and result (named, typed tool). It further explains the output tool's naming convention (cypher_<key>) and contrasts with sibling cypher_execute_query_by_key, ensuring differentiation.

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 specifies 'Operator-only' to indicate target users and mentions the alternative workflow (using execute_query_by_key) when the tool is not yet published. It also covers the prerequisite of having a catalog query key. However, it does not explicitly list scenarios where the tool should not be used.

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

cypher_purchase_creditsAInspect

Buy credits via Bitcoin Lightning.

Creates a Lightning invoice. Pay it with any Lightning wallet, then call check_payment to confirm. Proof of npub ownership is required so credits land in the correct ledger.

Free — no credits required to call.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubYesThe Nostr public key (npub1...) the credits will fund.
dpop_tokenYesRaw JSON of a kind-27235 Nostr event signed by npub — not base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its `u` tag must hold THIS tool's exact name (from tools/list), not the endpoint URL; content:"", created_at within 60s of now, and a random `nonce` tag recommended. Or a cached dpop_token phrase.
amount_satsNoSatoshis to purchase (default 1000).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that the tool creates a Lightning invoice, requires a dpop_token for ownership proof, and is free to call. It doesn't detail the return format or failure modes, but it covers the core behavior well.

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 extremely concise: three sentences with no unnecessary words. It front-loads the purpose and then provides step-by-step guidance. Every sentence adds value.

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 the existence of an output schema (not shown), the description adequately covers the essential workflow, prerequisites, and follow-up tool. It could mention error handling or limitations, but for a purchase tool with a clear flow, it is sufficiently complete.

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%, so baseline is 3. The description does not add new parameter information beyond what is already in the schema; it reinforces the context of using npub and dpop_token. Thus, it meets the baseline.

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 starts with 'Buy credits via Bitcoin Lightning,' a specific verb+resource combination that clearly states the tool's purpose. It distinguishes itself from siblings like cypher_check_payment by outlining the workflow flow: create invoice, then call check_payment.

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 guidance: pay the invoice with any Lightning wallet, then call cypher_check_payment to confirm. It also states a prerequisite (proof of npub ownership) and mentions the tool is free. It does not explicitly list when not to use, but the context is sufficient.

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

cypher_receive_credentialsAInspect

Pick up credentials from the Secure Courier.

Completes the CREDENTIAL-DELIVERY flow (the ownership-proof counterpart is receive_npub_proof).

Call this only after the user confirms they have replied. Deterministic, one-shot retrieval: name the response you want with (sender_npub, service, dpop_token) and the tool drains ONLY the rendezvous relay that channel was pinned to. Every popped DM with the wrong session phrase is deleted and its sender is NACK'd; the first DM with the matching phrase is accepted (ACK'd) and the scan stops. If none match, the queue is drained and a courier_not_found result is returned. Do NOT poll, loop, or retry.

If a credential_card (ncred1...) is provided, it is redeemed directly without any relay access (dpop_token not required for that path). On success, the payment processor client is reinitialized from the new credentials — no server restart needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceNoRequired. The credential service name (must match the service used in request_credential_channel).
dpop_tokenNoRequired. The session phrase returned by request_credential_channel for this exact channel.
sender_npubNoRequired. The npub that sent the credentials.
credential_cardNoOptional. An ncred1... card to redeem directly (bypasses the relay drain; dpop_token not needed).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

No annotations provided, so description carries full burden. It details the relay drain behavior, deletion of wrong DMs, NACK of sender, first-match acceptance, and return of 'courier_not_found'. Also covers direct redemption via credential_card and reinitialization.

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?

Description is relatively long but each sentence adds value. It is front-loaded with purpose, then flow, then restrictions, then alternative path. No fluff, but could be slightly more concise.

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 complexity (4 params, no annotations, has output schema), description covers all important aspects: when to call, how it works, alternative path, return conditions. Output schema handles return values, so completeness is high.

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 descriptions for all 4 parameters. Description adds extra context: service must match that used in request_credential_channel, dpop_token is the session phrase, sender_npub is the sender, and credential_card bypasses relay. Adds meaningful info beyond 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?

Description clearly states 'Pick up credentials from the Secure Courier' and specifies it completes the CREDENTIAL-DELIVERY flow, distinguishing it from the sibling 'receive_npub_proof'. The verb 'receive' and resource 'Secure Courier' are specific.

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

Usage Guidelines5/5

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

Explicitly says 'Call this only after the user confirms they have replied' and warns 'Do NOT poll, loop, or retry'. It also explains the deterministic one-shot retrieval and what happens on no match, providing clear when-to-use and when-not-to.

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

cypher_receive_npub_proofAInspect

Receive npub ownership confirmation from a patron.

Completes the npub-OWNERSHIP-PROOF flow (the credential-delivery counterpart is receive_credentials).

Call this only after the user confirms they have replied. Deterministic, one-shot retrieval: name the response with (patron_npub, dpop_token) — the dpop_token being the value returned by request_npub_proof. The tool drains ONLY the pinned rendezvous relay that challenge was published on, stopping at the DM whose phrase matches. Mismatched DMs are deleted and NACK'd (without revealing the expected phrase). If called before the user replies, their message will never be found. Do NOT poll, loop, or retry.

The signed DM itself proves npub ownership (the patron's nsec signed it). On success, returns the dpop_token — the same token. The calling application MUST remember it and pass it as the dpop_token parameter on every subsequent paid tool call. The proof (a hash of the token) is stored in the vault keyed by that hash — the MCP never stores the raw token itself. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
dpop_tokenNoRequired. The dpop_token returned by request_npub_proof.
patron_npubNoRequired. The patron's npub to receive proof from.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

No annotations provided, so description carries full burden. It details deterministic one-shot retrieval, draining only the pinned relay, stopping at matching DM, and deleting mismatched DMs without revealing expected phrase. Slight lack of explicit mention of state modification (deletion) but covered.

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

Conciseness3/5

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

Description is thorough but verbose; includes multiple sentences, bold warnings, and parenthetical notes. Could be more concise while retaining clarity.

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 output schema exists (not shown), description adequately covers the flow, return value (dpop_token), and storage mechanism. Mentions important constraints like one-shot retrieval and relay draining.

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%, baseline 3. Description adds value by explaining that dpop_token is from request_npub_proof and that patron_npub is the patron's npub, plus the token's role in subsequent calls.

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?

Description clearly states it receives npub ownership confirmation from a patron, completing the npub-OWNERSHIP-PROOF flow, and distinguishes from the sibling 'receive_credentials' as the credential-delivery counterpart.

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

Usage Guidelines5/5

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

Explicitly instructs 'Call this only after the user confirms they have replied' and warns 'Do NOT poll, loop, or retry.' Also explains that premature calls will never find the message.

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

cypher_record_scopeInspect

Record the actionable spec and the code-location method for an issue.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNo
repo_nameYesRepository name.
dpop_tokenNo
issue_numberYesGitHub issue number.
resolved_viaYesHow the code was located: 'graph' | 'scoped-grep' | 'wide-grep'.
actionable_textYesThe Porter's rough-English -> actionable spec translation.
cypher_record_triageCInspect

Record the Porter's triage of a GitHub issue.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNo
titleYesIssue title.
repo_urlYesThe repository's actual GitHub URL (gh repo view --json url).
issue_urlYesThe issue's actual GitHub URL (gh issue view <n> --json url).
repo_nameYesRepository name.
dpop_tokenNo
dispositionYesRouting disposition, e.g. 'agent/fix', 'rejected', 'blocked/upstream'.
issue_numberYesGitHub issue number.
classificationYestype/* classification, e.g. 'bug'.
Behavior2/5

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

No annotations provided, so description must disclose effects. It only states 'Record', implying mutation, but no details on side effects, permissions, idempotency, or what happens if re-run. Minimal 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.

Conciseness3/5

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

Single sentence, no verbosity. However, it sacrifices substance for brevity. Structurally fine for a concise definition, but lacks depth for a 7-param tool.

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

Completeness2/5

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

Given 7 required parameters and no output schema, the description should explain return value, behavior on duplicates, or error conditions. It provides none of this. Incomplete for a record-creation action.

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

Parameters2/5

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

Schema description coverage is 71% (5 of 7 params described). The description adds no additional parameter context. Two parameters (npub, dpop_token) lack descriptions in both schema and tool description, leaving them unexplained.

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?

Description clearly states the action 'Record' and resource 'the Porter's triage of a GitHub issue'. It distinguishes from sibling tools like cypher_note_rejection by focusing on triage recording, but does not explicitly contrast with alternatives.

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?

No guidance on when to use this tool vs siblings. No mention of prerequisites, alternatives, or context. The description is too brief to provide usage direction.

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

cypher_redeem_couponAInspect

Claim a coupon by its name (the code the operator shared).

Looks up the operator's coupon by code, validates the window and total cap, and records a per-patron redemption row. Subsequent paid tool calls on this MCP auto-apply the discount until uses_per_patron is exhausted.

Free — no credits required. Requires proof of npub. Idempotent: redeeming the same code twice returns the existing redemption.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes
npubYes
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

Discloses validation steps (window, total cap), idempotency, cost (free), required proof (npub), and effect on future calls. No annotations exist, so description fully carries transparency burden.

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?

First sentence front-loads purpose. Six sentences, each providing essential info without redundancy or fluff.

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 all key aspects: lookup, validation, recording, idempotency, cost, and future discount application. Output schema exists, so return values are covered elsewhere.

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?

Explains 'code' (name from operator) and 'npub' (proof required), but 'dpop_token' remains unexplained despite having a default. Schema coverage is 0%, so description adds significant value for two of three params.

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?

Explicitly states 'Claim a coupon by its name' and distinguishes from sibling tools like cypher_mint_coupon and cypher_delete_coupon by focusing on redemption. The verb+resource pairing is clear.

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?

Describes the use case (patron redeeming a coupon) and mentions subsequent auto-application of discount, but does not explicitly exclude scenarios or compare with alternatives like cypher_list_my_coupons.

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

cypher_register_serviceCInspect

Register a repo as a Service node in the factory graph.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNo
repo_nameYesRepository name, e.g. 'tollbooth-sample'.
repo_npubYesThe service's own Nostr npub (the repo as an actor).
dpop_tokenNo
Behavior2/5

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

With no annotations, the description must fully disclose behavioral traits. It only states the action and target, omitting side effects, permissions, error conditions, or what happens after registration.

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

Conciseness3/5

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

The description is a single sentence, which is concise but lacks structure. It could be front-loaded with key details but is not verbose.

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

Completeness2/5

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

For a registration tool with 4 parameters and no output schema or annotations, the description is far from complete. It provides no return value, prerequisites, or context about the 'factory graph'.

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

Parameters2/5

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

The description adds no meaning beyond the input schema. Two parameters (npub, dpop_token) lack schema descriptions, and the tool description does not clarify their purpose or usage.

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 tool description clearly states the action ('register') and the resource ('a repo as a Service node in the factory graph'). However, it does not differentiate from similar sibling tools like 'cypher_publish_tool' or 'cypher_request_adoption', which could cause confusion.

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?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or exclusions.

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

cypher_report_issueInspect

File a field report about this service as a GitHub issue on the operator's repo.

Found a tool's metadata or response wrong or confusing? Report it where the tool lives. The author of record is your npub — no npub / no proof, no issue — and it is stamped into the issue so the report is attributed to you, not the operator. Costs a small fee (a free write to an issue tracker would be abused). The report is PUBLIC and goes to the maintainers' normal triage; nothing is verified here.

Returns the filed issue's repo, number, and url. If this operator has not enabled field reports, returns an "issue reporting not configured" situation and you are not charged.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesThe details — which tool, what was wrong, what you expected.
npubYesYour Nostr public key (npub1...); the report's author of record.
titleYesOne-line summary of the problem.
tool_nameNoOptional: the specific tool the report is about (e.g. "schwab_get_option_chain").
dpop_tokenYesRaw JSON of a kind-27235 Nostr event signed by npub — not base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its `u` tag must hold THIS tool's exact name (from tools/list), not the endpoint URL; content:"", created_at within 60s of now, and a random `nonce` tag recommended. Or a cached dpop_token phrase.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

cypher_request_adoptionAInspect

Ask a chosen Authority to adopt this operator (deferred courtship).

RESTRICTED to the operator — requires proof the caller controls this operator's npub. Resolves the Authority's MCP endpoint from the community registry, mints an inline ownership proof with this operator's nsec, and delivers the request MCP-to-MCP. The Authority records it as pending; its owner approves on their own time. Poll adoption_status for progress; the operator flips to ready once the Authority provisions it.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNooptional message for the Authority owner.
dpop_tokenNooperator-npub ownership proof (inline kind-27235 or cached token).
service_urlNothis operator's MCP endpoint (advertised to the Authority).
authority_npubYesnpub of the Authority to request adoption from.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

With no annotations provided, the description fully addresses behavioral aspects: details the steps (resolve MCP endpoint, mint ownership proof, deliver request), states side effects (records as pending, flips to ready), and discloses the sensitive use of 'nsec'. 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?

Concise at ~100 words, structured with a clear one-line summary followed by a process explanation. Every sentence adds value with no redundancy, front-loading the primary action.

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's complexity (courtship adoption, authority, npub, MCP endpoint, polling), the description covers the essential workflow, preconditions, and postconditions. Existence of an output schema further reduces need to document returns. Complete for agent decision-making.

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 parameter descriptions, but the description adds high-level context: explains how 'dpop_token', 'service_url', and 'note' function in the overall process beyond the schema, aiding agent understanding of their roles.

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?

Description clearly states the tool's action: 'Ask a chosen Authority to adopt this operator', with context 'deferred courtship'. It effectively distinguishes from siblings like 'cypher_adoption_status' and 'cypher_get_operator_onboarding_status' by specifying the request action.

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 states restrictions ('RESTRICTED to the operator — requires proof') and outlines the end-to-end flow, including dependency on polling 'adoption_status'. While it doesn't explicitly contrast with all siblings, the reference to polling guides proper sequencing.

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

cypher_request_credential_channelAInspect

Open a Secure Courier channel for credential delivery.

This is the CREDENTIAL-DELIVERY flow — use it to hand over a service secret (API keys, tokens). To merely prove you control an npub (the usual answer to a proof_required error), use request_npub_proof instead. Note: dynamic/OAuth2 services (e.g. Schwab) need NO couriered secret — check service_status first.

Sends a welcome DM with a credential template. The recipient must read the DM in their Nostr client, fill in the fields, and reply manually. This is a human-in-the-loop flow.

After calling this tool, STOP and tell the user what to do. Wait for the user to confirm they have replied before calling receive_credentials. Do NOT poll or retry — each receive_credentials call destructively drains the relay mailbox.

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceNoRequired. The credential service name (e.g., from get_operator_onboarding_status or get_patron_onboarding_status).
sender_npubNoRequired. The npub to send the template to.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

With no annotations, the description fully discloses behavioral traits: human-in-the-loop flow, sends a welcome DM, requires manual reply, and that receive_credentials destructively drains the relay mailbox.

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?

Well-structured and mostly concise; each sentence adds value. Slight length is justified by the complexity of the flow.

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?

Complete given output schema exists: covers workflow, next steps, human interaction, and constraints. No gaps for an agent to misuse.

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%, so baseline is 3. The description adds context on where service comes from (onboarding status) but does not add meaning beyond schema descriptions.

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?

Clearly states it opens a Secure Courier channel for credential delivery, distinguishes from request_npub_proof, and specifies it's for CREDENTIAL-DELIVERY of service secrets like API keys or tokens.

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

Usage Guidelines5/5

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

Provides explicit guidance: use for credential delivery, not for npub proof; check service_status for OAuth2 services; details the workflow (call, wait, then receive_credentials); warns against polling and retrying.

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

cypher_request_npub_proofAInspect

Request npub ownership proof from a patron via Nostr DM.

This is the npub-OWNERSHIP-PROOF flow — use it when a call returns proof_required. It proves the caller controls an npub; it does NOT deliver any service secret. To hand an operator its API keys or OAuth secrets, use request_credential_channel instead.

Sends a challenge DM that the patron must sign and reply to using their Nostr client. This is a human-in-the-loop flow.

After calling this tool, STOP and tell the user to check their Nostr client and reply to the challenge. Wait for the user to confirm they have replied before calling receive_npub_proof. Do NOT poll or retry — each receive_npub_proof call destructively drains the relay mailbox.

Returns a dpop_token — the demonstrated-proof-of-possession token that the calling application MUST remember and pass as the dpop_token parameter on every subsequent paid tool call. The MCP does not retain this value across restarts.

Lifecycle: The cached proof expires after the patron's chosen duration. When it expires, call request_npub_proof again for a fresh challenge, then wait for the user, then call receive_npub_proof.

Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoOptional. A human-readable purpose for the request ("I'm working on your request XYZ and need the Operator to do ABC for you"). Signed into the provenance attestation and shown in the DM, so the recipient sees *why* they are being asked — especially useful when the signer is unknown to them.
patron_npubNoRequired. The patron's npub to request proof from.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

No annotations provided, so the description carries full burden. It explains the human-in-the-loop flow, that it sends a challenge DM, warns not to poll, that each receive_npub_proof call destructively drains the relay mailbox, and covers lifecycle and expiration. This is thorough and beyond minimal.

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 well-structured with sections, front-loading purpose and usage. It uses line breaks and clear flow. However, it is somewhat verbose; some sentences could be trimmed without losing meaning.

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 complexity (human-in-the-loop, lifecycle, dpop_token), the description covers all essential context: it explains the return value, the need to remember and pass dpop_token, the lifecycle and expiration. An output schema exists, but the description already provides sufficient context.

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?

Only one parameter (patron_npub) with 100% schema coverage. The description does not add meaning beyond what the schema already provides ('Required. The patron's npub to request proof from.'). Baseline 3 is appropriate.

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: 'Request npub ownership proof from a patron via Nostr DM.' It uses a specific verb (request) and resource (npub ownership proof), and distinguishes it from sibling tools like receive_npub_proof and request_credential_channel.

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

Usage Guidelines5/5

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

Explicitly tells when to use it: 'use it when a call returns proof_required.' It clarifies what it does NOT do (deliver service secret) and names the alternative: 'use request_credential_channel instead.'

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

cypher_reset_pricing_modelAInspect

Erase all pricing models and restore a viable default.

Deletes every stored model, then self-initializes a fresh one from the tool registry — all tools at 0 sats with proper UUIDs. Returns the new model.

RESTRICTED to operator — requires proof (nsec-signed).

ParametersJSON Schema
NameRequiredDescriptionDefault
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

With no annotations provided, the description carries full burden and excellently discloses behavioral traits: deletes every stored model, self-initializes a fresh one with tools at 0 sats and proper UUIDs, returns the new model, and requires operator-level authentication. 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?

The description is extremely concise—around 60 words—with the key action front-loaded. Every sentence adds necessary information without any fluff.

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 the destructive nature of the tool, the description covers what it does (erase and restore), access restrictions, and that it returns the new model. An output schema exists, so return values need not be detailed. Minor omission: could mention reversibility or confirmation steps, but the restriction to operators and clear action make it fairly complete.

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

Parameters2/5

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

The only parameter dpop_token is not explained beyond its default value in the schema. With schema description coverage at 0%, the description fails to add meaning to this parameter, leaving ambiguity about its purpose or format.

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 erases all pricing models and restores a viable default. The verb 'Erase' and 'restore' specify the action on the 'pricing models' resource, and it distinguishes itself from siblings like cypher_get_pricing_model or cypher_set_pricing_model by indicating a reset operation.

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 explicitly restricts usage to operators and requires proof (nsec-signed), providing clear context on when the tool should be used. It does not explicitly list when not to use or alternatives, but the restriction serves as a strong usage guideline.

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

cypher_restore_creditsAInspect

Credit a patron's ledger from a BTCPay-settled invoice.

RESTRICTED to the operator — the operator owns the books and is the only party who can issue a manual credit grant. Patrons who believe they paid but never got credits must escalate to the operator's support, who then invokes this tool on their behalf.

Use cases: cold-start vault races during check_payment, ncred delivery hiccups, patrons closing Top-Off sheets before settle, any infrastructure incident that left an invoice settled at BTCPay but uncredited on the operator's ledger.

Idempotent — if the invoice is already credited (in the patron's credited_invoices), returns success with credits_granted=0.

ParametersJSON Schema
NameRequiredDescriptionDefault
dpop_tokenYesA kind-27235 Nostr event signed by the OPERATOR's nsec for this tool. Patron proofs are rejected.
invoice_idYesThe BTCPay invoice ID to verify and credit.
patron_npubYesThe patron's npub whose ledger receives the grant.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

No annotations provided, so description carries full burden. Discloses idempotency, operator-only restriction, and returns credits_granted=0 for already credited invoices. Could be more explicit about side effects or error handling, but sufficient for a manual tool.

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?

Well-structured with clear first sentence, then restrictions, use cases, and idempotency. Each sentence serves a purpose, though could be slightly tightened without losing clarity.

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?

Output schema exists, so return values need not be explained. Description covers purpose, restrictions, use cases, and idempotency. Lacks error condition details, but adequate for a restricted operator 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%, so baseline is 3. Description adds only marginal extra context for dpop_token (rejects patron proofs) beyond schema. Other parameters have no added value beyond schema descriptions.

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?

Description clearly states 'Credit a patron's ledger from a BTCPay-settled invoice' using a specific verb and resource. It distinguishes from other tools like cypher_purchase_credits by emphasizing manual credit grant for failure scenarios.

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

Usage Guidelines5/5

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

Explicitly restricts to operator, lists specific use cases (cold-start vault races, ncred delivery hiccups, etc.), and explains when patrons must escalate. Also mentions idempotency to guide retry behavior.

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

cypher_restore_neon_schemaAInspect

Re-run ensure_schema() on every NeonVault this operator uses.

Diagnostic / recovery tool for the case where the Neon HTTP SQL API is returning persistent 4xx errors and the operator suspects the schema isn't there or grants are wrong. Idempotent — uses CREATE TABLE IF NOT EXISTS so a successful re-run is harmless.

Returns the per-step result. If any step raises, surfaces the Neon error message inline (0.31.0 reads the SQL error body that earlier wheels swallowed behind raise_for_status).

RESTRICTED to operator — requires proof (nsec-signed).

ParametersJSON Schema
NameRequiredDescriptionDefault
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

With no annotations provided, the description fully discloses behavior: idempotent via CREATE TABLE IF NOT EXISTS, returns per-step results, surfaces Neon error messages, and requires operator proof (nsec-signed). This goes beyond typical annotation coverage.

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?

Description is concise yet comprehensive, covering purpose, usage context, behavior, output, error handling, and restrictions in a well-structured format. Every sentence adds value.

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 recovery tool with one parameter and an output schema, the description covers all essential aspects: when to use, behavior, result format, error handling, and access control. No gaps identified.

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

Parameters2/5

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

The sole parameter (dpop_token) is not described in the description. Schema description coverage is 0%, so the description should compensate but does not. The parameter is optional with a default, but its purpose remains unexplained.

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?

Clearly states it re-runs ensure_schema() on every NeonVault and is a diagnostic/recovery tool for persistent 4xx errors. Verb (re-run) and resource (schema) are specific, distinguishing it from sibling tools like cypher_get_operator_onboarding_status or cypher_service_status.

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 describes the scenario when to use (persistent 4xx errors, suspect schema/grants) and notes it is idempotent and harmless. Does not mention alternatives, but the context is clear enough.

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

cypher_route_rejectionInspect

Route a target's rejection reason back to the origin issue.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNo
reasonYesWhy the target declined (which DRY boundary / repo actually owns it).
by_repoYesThe repo that declined the escalation.
dpop_tokenNo
origin_repoYesThe ORIGIN repository the escalation routes back to.
origin_issueYesThe origin issue number.
cypher_routing_historyInspect

Show which repos have declined an issue and why.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNo
repo_nameYesRepository name.
dpop_tokenNo
issue_numberYesGitHub issue number.
cypher_service_provenanceInspect

Pivot to a service — its capabilities, symbols, and issues.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNo
repo_nameYesRepository name.
dpop_tokenNo
cypher_service_statusAInspect

Check the health and configuration of this service. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations provided; the description fails to disclose behavioral traits such as read-only nature, authentication requirements, or what 'health and configuration' entail. Minimal value beyond the name.

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?

Extremely short, no wasted words. However, it may be too terse; a bit more context on what 'health' means could improve without losing conciseness.

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

Completeness3/5

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

Given an output schema exists, the description need not explain return values, but it omits any context about side effects, cost (beyond 'Free'), or prerequisites. Adequate for a simple health check but incomplete for new users.

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?

No parameters defined; schema coverage is 100% for an empty schema. The description adds no parameter info, but none is needed. Baseline score of 4 is appropriate for zero-parameter tools.

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 checks health and configuration of the service, distinguishing it from sibling tools that handle specific operations like balance checks or queries.

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 guidance on when to use versus alternatives. The description implies general health monitoring, but lacks comparison to sibling tools or exclusion conditions.

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

cypher_session_statusAInspect

Check operator readiness. Returns the operator lifecycle state and clear guidance on what to do next. Free.

Lifecycle states:

  • ready: Operator is warm and fully operational — vault AND pricing model verified. Proceed with tool calls.

  • warming_up: Operator is initializing (cold start). Try a tool call — it will warm up on demand.

  • misconfigured: Persistence rejected a query with a permanent SQL error (permission denied, missing relation). Paid tools will fail until the operator repairs the database — retrying does not help.

  • quota_exceeded: The persistence provider (Neon) answered HTTP 402 — the operator's database has exhausted its compute/storage quota, so the books are locked for billing. Paid tools fail; retrying does NOT help. The operator's Authority must restore capacity (upgrade the plan or wait for the quota reset). Free tools remain available.

  • not_registered: Operator has no Authority relationship yet. Call register_operator first.

  • no_identity: Operator nsec is not configured. Deployment issue.

ParametersJSON Schema
NameRequiredDescriptionDefault
patron_npubNoOptional. If supplied, the response includes an ``upstream_oauth`` block with the patron's stored OAuth token expiry (runtime-derived from vault state) so a client can refresh proactively rather than reactively after a stale-token failure.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

With no annotations provided, the description fully discloses the tool's behavior, including listing possible lifecycle states and their implications, as well as noting it is free. 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?

The description is concise, front-loads the core purpose, and clearly enumerates lifecycle states in a structured list. Every sentence adds value.

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 the presence of an output schema, the description appropriately covers the tool's purpose, states, and the optional parameter's effect. It lacks mention of error conditions or prerequisites, but is adequate for the complexity.

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?

The sole parameter (patron_npub) is fully described in the input schema with clear semantics. The description adds no additional information beyond the schema, which is sufficient.

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 the tool checks operator readiness and returns lifecycle state and guidance. It distinguishes from siblings by focusing on operator readiness, but does not explicitly differentiate from other status tools like cypher_adoption_status.

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 explains when to use the tool (to check operator readiness) and provides clear next steps for each lifecycle state. However, it does not explicitly state when not to use this tool or mention alternatives.

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

cypher_set_pricing_modelBInspect

Set the active pricing model. RESTRICTED to operator.

Requires a valid proof (Schnorr-signed kind-27235 event) proving the caller holds the operator's nsec.

ParametersJSON Schema
NameRequiredDescriptionDefault
dpop_tokenNo
model_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

No annotations provided. Description discloses authorization requirement (operator proof) but lacks details on side effects, reversibility, or failure behavior. Adds some behavioral context but not comprehensive.

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?

Extremely concise: two lines with no superfluous information. Critical information (restriction, proof requirement) is front-loaded.

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

Completeness3/5

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

Covers authorization context but does not describe what happens after setting (e.g., confirmation, effect on system). With an output schema present, return values are less critical, but missing success/failure behavior.

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

Parameters1/5

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

Schema coverage is 0% and description does not mention any parameters. It fails to explain the purpose or format of 'model_json' or 'dpop_token', leaving agents to rely solely on 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?

Description clearly states the verb and resource: 'Set the active pricing model'. It distinguishes from sibling tools like 'cypher_get_pricing_model' and 'cypher_reset_pricing_model' by specifying it sets the model and is restricted to operators.

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?

It indicates the tool is restricted to operators and requires a proof, but does not compare with alternatives or state when not to use it. Usage context is implied 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.

cypher_suggest_capability_whyDInspect

Offer the Journeyman's read on why a capability exists.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCapability name.
npubNo
dpop_tokenNo
inferred_whyYesThe Journeyman's best explanation of why this capability exists.
Behavior1/5

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

With no annotations, the description should disclose behavioral traits. It states nothing about side effects, idempotency, permissions, or what happens when the tool is invoked.

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

Conciseness2/5

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

The description is a single sentence, but it is under-specified and does not earn its place. It lacks critical information about the tool's purpose and usage.

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

Completeness1/5

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

Given four parameters and no output schema, the description should address return values, behaviors, and use cases. It does not, leaving the agent with insufficient information.

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

Parameters1/5

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

Schema coverage is only 50% (two undocumented parameters: npub, dpop_token). The description adds no meaning to any parameter beyond the schema, and fails to explain the role of npub and dpop_token.

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

Purpose2/5

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

The description 'Offer the Journeyman's read on why a capability exists' is vague. It doesn't clarify whether the tool retrieves or stores an explanation, and fails to distinguish from siblings like cypher_explain_capability or cypher_authorize_capability_why.

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

Usage Guidelines1/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or exclusions.

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

cypher_symbol_provenanceInspect

Pivot to a code symbol — its service, capabilities, issues, decisions, invariants.

ParametersJSON Schema
NameRequiredDescriptionDefault
fqnYesThe symbol's fully-qualified name.
npubNo
dpop_tokenNo
cypher_symbols_in_serviceCInspect

List a service's indexed symbols.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNo
repo_nameYesRepository name.
dpop_tokenNo
Behavior2/5

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

No annotations are provided, so the description must carry behavioral disclosure. It only states 'List', implying read-only, but does not mention authentication requirements (npub, dpop_token), error behavior, or what happens when no symbols exist. Critical details are omitted.

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

Conciseness3/5

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

The description is extremely concise (5 words), which is efficient but borderline under-specified. It front-loads the core action, but the brevity sacrifices useful context.

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

Completeness2/5

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

With no output schema, 3 parameters, and no annotations, the description fails to cover return format, authentication, error handling, or pagination. It is insufficient for a tool with this complexity and sibling diversity.

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

Parameters2/5

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

Schema description coverage is only 33% (only repo_name has a brief description). The description adds no meaning for npub or dpop_token, leaving their roles entirely unexplained. The purpose of 'indexed symbols' is not elaborated.

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 uses a specific verb ('List') and resource ('service's indexed symbols'), which clearly indicates the tool's function. It distinguishes from sibling 'cypher_index_symbol' (which creates an index). However, it does not clarify what 'symbols' are in context or that the service is identified by repo_name.

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?

No guidance is provided on when to use this tool versus alternatives like 'cypher_index_symbol' or 'cypher_create_query'. The agent is given no context for selection among many sibling tools.

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

cypher_unpublish_toolAInspect

Operator-only: retire a previously published named tool.

The catalog query itself is kept (still runnable via execute_query_by_key); only its projected named tool is removed. Reconnect to see it disappear from the tool list.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
npubNoRequired. The operator's npub (npub1...).
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that only the projected named tool is removed and the query remains, plus the need to reconnect. However, it does not mention permissions beyond 'operator-only' or confirm if the action is irreversible, leaving gaps in behavioral understanding.

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 with no wasted words. The purpose is front-loaded ('Operator-only: retire...'), and each sentence adds distinct value (what happens, what is kept, how to verify).

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

Completeness3/5

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

The tool has an output schema, so return values are covered. The description explains the effect and a key constraint (operator-only). However, it omits prerequisites (tool must be previously published) and error conditions, leaving some completeness gaps.

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

Parameters2/5

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

Schema coverage is 33% (only npub has a description). The description adds implicit meaning for the 'key' parameter (identifying the published tool) but does not explain npub or dpop_token. Without further elaboration, the agent gains limited extra information 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?

The description clearly states the tool retires a previously published named tool, using a specific verb and resource. It distinguishes from sibling tools like cypher_publish_tool (the opposite action) and cypher_delete_query (which removes the query itself).

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 indicates operator-only usage and explains what happens (tool removed, query kept). It implies when to use this vs. execute_query_by_key or delete tools, but does not explicitly state when not to use it or name alternatives.

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

cypher_update_couponAInspect

Patch a coupon's editable fields.

Pass only the fields you want to change. To set a cap to unlimited (NULL in the schema), pass clear_uses_per_patron=true or clear_total_uses=true. Renaming the code is allowed — existing patron redemption rows survive (they key on coupon id).

RESTRICTED to operator — requires proof.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
coupon_idYes
dpop_tokenNo
total_usesNo
valid_fromNo
valid_untilNo
uses_per_patronNo
clear_total_usesNo
discount_percentNo
clear_uses_per_patronNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

No annotations are provided, so the description must convey behavioral traits. It discloses that renaming the code is allowed and existing redemption rows survive, and that the tool requires operator-level proof. This adds important context, though it does not cover all potential side effects or error conditions.

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 compact with five sentences, each adding value. It front-loads the purpose and includes usage guidance, special behavior, and restrictions without redundancy.

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

Completeness2/5

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

With 10 parameters and an output schema, the description is incomplete. It does not explain all parameters, return values, or constraints (e.g., date formats, discount ranges). The behavioral details for two parameters and the rename rule are useful, but overall coverage is insufficient for a complex tool.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It explains only two parameters (clear_uses_per_patron and clear_total_uses) and their effect of setting caps to unlimited, as well as the 'name' parameter being the code that can be renamed. The other 7 parameters (total_uses, valid_from, valid_until, etc.) are not described, leaving significant gaps.

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 'Patch a coupon's editable fields,' clearly indicating the action (patch) and resource (coupon). It distinguishes from sibling tools like cypher_mint_coupon (create) and cypher_delete_coupon (delete) by focusing on updating existing coupons.

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 advises 'Pass only the fields you want to change,' which is a clear usage guideline. It also explains how to set caps to unlimited using boolean flags and notes that the tool is restricted to operators. However, it does not explicitly contrast with other coupon tools, but the unique purpose is evident from the name.

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

cypher_update_patron_credentialAInspect

Add or update a single patron credential field.

Merges into existing stored credentials without affecting other fields. Useful for setting an account identifier after OAuth, changing a default brain, etc. Free. Proof of npub ownership is required — this is a write to the patron's sensitive credential vault.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubYesThe patron's Nostr public key (npub1...).
fieldYesThe credential field name to set.
valueYesThe value to store.
dpop_tokenYesRaw JSON of a kind-27235 Nostr event signed by npub — not base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its `u` tag must hold THIS tool's exact name (from tools/list), not the endpoint URL; content:"", created_at within 60s of now, and a random `nonce` tag recommended. Or a cached dpop_token phrase.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With no annotations, the description carries full burden. It discloses that it is a write to a sensitive credential vault and requires proof of npub ownership. However, it lacks details on side effects, idempotency, rate limits, or what the output schema returns. The description provides moderate behavioral context but leaves gaps.

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 well-structured sentences. The first sentence states the action, the second explains the behavior, and the third provides use cases and authentication requirements. No redundant or extraneous words, making it highly concise and efficient.

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 the tool has 4 parameters, no annotations, and an output schema, the description covers the main aspects: purpose, merge behavior, typical use cases, and authorization. However, it does not mention what the output schema returns (e.g., success status or updated credential) or error conditions, leaving minor gaps in completeness.

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 input schema already documents all parameters. The description adds marginal value by explaining the merge behavior (affects only the specified field), which relates to the 'value' parameter. Since the schema already conveys parameter meanings, a score of 3 is appropriate.

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 verb 'Add or update' and the resource 'single patron credential field'. It distinguishes itself from sibling tools (like cypher_delete_patron_credential) by specifying merge behavior without affecting other fields, making the purpose precise and 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 description provides context for when to use the tool (e.g., setting an account identifier after OAuth, changing a default brain) and highlights the requirement of npub ownership proof. However, it does not explicitly state when not to use it or name alternative tools for similar operations, such as cypher_get_patron_credential_fields or cypher_forget_credentials.

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

cypher_update_queryAInspect

Operator-only: update an existing named Cypher query template.

Same shape as create_query, but the key must already exist.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
npubNoRequired. The operator's npub (npub1...).
row_limitNo
dpop_tokenNo
timeout_msNo
access_modeNoread
descriptionNo
param_schemaNo
cypher_templateYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

No annotations provided, so description carries full burden. It discloses operator restriction and the existence constraint but does not detail behavior on success/failure, idempotency, or side effects. Adequate but not thorough.

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 succinct sentences, no wasted words. Front-loads key constraint. Efficient.

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

Completeness3/5

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

Covers core purpose and constraint. Missing context on error handling (e.g., key not found), prerequisites beyond operator role, and return value. Output schema helps but still not fully self-contained.

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

Parameters2/5

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

Schema description coverage is only 11%, yet the description adds no parameter-level details. It only refers to 'same shape as create_query' without explaining any parameters. Fails to compensate for schema gaps.

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?

Clearly states it updates an existing named Cypher query template. Distinguishes from create_query by noting 'key must already exist' and 'same shape as create_query', providing specific verb and resource.

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

Usage Guidelines5/5

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

Explicitly says 'Operator-only' (restricted access) and 'key must already exist' (when to use vs create). References sibling create_query as alternative. Clear guidelines.

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

cypher_upsert_capabilityBInspect

Record a cross-cutting service Capability and one of its owners.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCapability name, e.g. 'Secure Courier'.
npubNo
keywordsYesComma-joined search keywords for forward-map resolution.
dpop_tokenNo
owner_repoYesRepo of an owning Service (multi-owner: call again per owner).
Behavior3/5

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

No annotations are provided, so the description bears full responsibility. It indicates an upsert operation and hints at multiple owners via parameter description, but does not explicitly disclose idempotency, side effects, or whether existing data is overwritten. Adequate but not thorough.

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?

A single, front-loaded sentence that captures the core action. It is concise without being under-specified, though it could benefit from brief structural formatting.

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

Completeness2/5

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

The description lacks details on return values, error conditions, or success indicators. For a data-recording tool with no output schema, the agent would benefit from more context to understand the outcome of the operation.

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 60%. The description adds value for 'name', 'keywords', and 'owner_repo' with examples or clarifications, but 'npub' and 'dpop_token' remain unexplained. Overall, some compensation but not complete.

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 it records a Capability and one owner, using the verb 'Record' which aligns with the upsert intent. However, it does not explicitly distinguish from other capability-related sibling tools like 'cypher_authorize_capability_why' or 'cypher_bind_capability_to_symbol'.

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 usage for recording a capability and an owner but provides no explicit when-to-use or when-not-to-use guidance. Given many sibling tools, more context on alternatives would be helpful.

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

cypher_upsert_patent_elementCInspect

Record a patent reference numeral as a node.

ParametersJSON Schema
NameRequiredDescriptionDefault
refYesPatent reference numeral, e.g. 610.
nameYesElement name from the reference-numeral schedule.
npubNo
figuresYesFigures the element appears in, e.g. '5' or '1,4'.
dpop_tokenNo
claim_familyYesClaim family, e.g. 'Nostr Identity & Credential Exchange'.
Behavior1/5

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

With no annotations, the description bears full responsibility for behavioral disclosure. It merely states 'Record... as a node' without mentioning that it is an upsert operation (as implied by the tool name), whether it modifies existing nodes, what happens on conflict, or any side effects.

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

Conciseness3/5

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

The description is a single short sentence, which is concise but at the expense of clarity and completeness. It could be improved without becoming verbose.

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

Completeness1/5

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

Given the tool's complexity (6 parameters, upsert behavior, no output schema), the description is severely incomplete. It does not explain return values, error conditions, or the impact of parameters like claim_family or figures.

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

Parameters2/5

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

Although the input schema covers 4 out of 6 parameters with descriptions, the tool description adds no parameter information. The missing coverage for npub and dpop_token remains unaddressed.

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 'Record a patent reference numeral as a node' uses a specific verb-resource pair, clearly indicating the tool creates a node for a patent reference numeral. However, it does not differentiate from sibling tools like cypher_explain_patent_element which might also deal with patent elements.

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 provides no guidance on when to use this tool versus alternatives such as cypher_explain_patent_element or cypher_link_capability_to_patent. There is no statement of prerequisites or context.

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

cypher_what_realizes_capabilityCInspect

Find the symbols that implement a capability.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCapability name.
npubNo
dpop_tokenNo
Behavior2/5

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

No annotations provided, so description bears full burden. It states 'find' (implying read-only) but does not disclose authentication requirements (npub, dpop_token), error handling, or whether results are paginated. Limited behavioral insight.

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

Conciseness3/5

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

Single sentence is concise but too terse; lacks critical details. While front-loaded, it does not fully earn its place as it omits parameter context and usage conditions.

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

Completeness1/5

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

Given no output schema, no annotations, and three parameters with one described, the description is severely incomplete. Does not explain return format, what symbols are, or how to interpret results. Inadequate for reliable agent invocation.

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

Parameters1/5

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

Schema description coverage is only 33% (name described). Tool description adds no parameter explanations. npub and dpop_token remain undocumented despite being optional but possibly important for scoping. Description fails to compensate for low schema coverage.

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?

Description clearly states action ('find') and object ('symbols that implement a capability'), distinguishing it from siblings like cypher_bind_capability_to_symbol or cypher_explain_capability.

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?

No guidance on when to use this tool vs alternatives like cypher_explain_capability or cypher_symbols_in_service. Implied usage from description but no explicit context or exclusions.

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

cypher_which_service_handlesBInspect

Find which service handles a given intent.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNo
keywordYesIntent keyword, e.g. 'npub proof', 'vault', 'pricing'.
dpop_tokenNo
Behavior2/5

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

The description does not disclose behavioral traits beyond the basic query nature. With no annotations, the description carries full burden but fails to mention authentication (dpop_token), required permissions, or behavior when intent is not found.

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?

Single sentence with no wasted words; concise and to the point.

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

Completeness2/5

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

Lacks output description (no output schema), no explanation of what the service lookup returns (e.g., service name, endpoint, instructions). Given the tool's purpose, this is a significant completeness gap.

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

Parameters2/5

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

Schema description coverage is only 33% (only keyword has a description). The tool description adds no additional parameter meaning beyond the schema, and the npub and dpop_token parameters lack any explanation.

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 'Find which service handles a given intent' uses a specific verb (find) and resource (service handling intent), clearly distinguishing this discovery/routing tool from the many concrete-action sibling tools (e.g., cypher_check_balance, cypher_list_coupons).

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?

No guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. The description implies usage for intent routing but does not discuss when not to use it or suggest sibling tools.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.