cypher-mcp
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.
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.
Tool Definition Quality
Average 3.4/5 across 99 of 99 tools scored. Lowest: 1.3/5.
With 99 tools, many share similar intents: multiple provenance tools, link tools, record tools, and status checks. While descriptions differentiate them, the sheer volume creates ambiguity and likely misselection. Tools like check_balance versus check_authority_balance require careful reading.
Most tools follow cypher_verb_noun, but there are deviations like cypher_oracle_about, cypher_factory_resolution_stats, and mixed use of get_/list_/check_ prefixes. Overall consistent but not uniform.
99 tools vastly exceeds the typical 3-15 range for a well-scoped server. This is an extreme count that burdens the agent's tool selection and context.
The server covers extensive operations across billing, credentials, pricing, knowledge graph, and queries. Minor gaps like missing direct get/update for some entities are workaroundable. Overall comprehensive.
Available Tools
108 toolscypher_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.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days of daily usage history to include (default 30). | |
| npub | Yes | The patron's Nostr public key (npub1...). | |
| dpop_token | Yes | Raw 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
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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 is free and requires proof of ownership, but it does not cover error handling, rate limits, or other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, providing key information without unnecessary words. It is well-structured but could be slightly more efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 purpose, returned data, cost, and authentication. It does not mention pagination or limits, but overall it is complete for a read-only tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 context about npub and dpop_token (proof of ownership) but does not significantly enhance understanding of the parameters beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool generates a patron's account statement and lists the returned data. It distinguishes from the Authority tax balance but does not explicitly differentiate from siblings like 'cypher_account_statement_infographic'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (patron spending account, not operator balance) and prerequisites (proof of npub ownership). It does not explicitly mention alternatives or exclusions.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days of daily usage history to include (default 30). | |
| npub | Yes | The Nostr public key (npub1...) whose statement to render. | |
| dpop_token | Yes | Raw 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
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description provides key behavioral details: cost of 1 api_sat per call, verification via 'debit_or_deny', and the output being a dark-themed SVG with specific components. It does not cover failure cases or side effects, but overall adds substantial transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at four sentences, front-loading the core action. Every sentence adds value, though some internal structure like bullet points could improve readability. No superfluous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 adequately lists the graphic components (balance hero, metrics cards, etc.) and includes cost and verification context. No obvious gaps for a generative tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 additional meaning beyond the schema; for example, it restates the days parameter default but does not elucidate format or constraints beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 an account statement, distinguishing it from the sibling 'cypher_account_statement' which returns data in a different format. The verb 'generate' and noun phrase 'visual SVG infographic' provide a specific resource and action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions cost and verification but does not explicitly state when to use this tool versus alternatives like 'cypher_account_statement'. It implies use when a visual graphic is desired, but lacks explicit when-not or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_adoption_statusBInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | No | ||
| authority_npub | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavior. It states the tool is 'Free' and 'Polls the Authority MCP-to-MCP', indicating a read-only, network-dependent action. It does not mention side effects, authorization needs, rate limits, or whether the polling is synchronous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two short sentences. Each sentence provides distinct information: the main action and additional context (free, polling, possible statuses). No redundancy, and the primary purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and an output schema that exists but isn't shown, the description provides a reasonable overview but lacks parameter explanations and details on output format. It mentions possible statuses, which is helpful, but does not cover required vs optional parameters or behavior nuances.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description does not explain the parameters 'dpop_token' or 'authority_npub'. 'authority_npub' is hinted at by 'chosen Authority', but 'dpop_token' is completely ignored. The description adds no value beyond the schema in explaining parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks adoption-request status for an operator at an authority. It lists possible statuses (pending/approved/rejected/provisioned), which adds specificity. However, it does not explicitly distinguish from similar sibling tools like 'cypher_request_adoption' or 'cypher_get_operator_onboarding_status', slightly reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 vs alternatives, or what prerequisite steps (e.g., having made an adoption request) are needed. The context for invoking this tool is implied but not stated.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| file_path | Yes | Repo-relative path of the file the symbol lives in (the grep scope). | |
| dpop_token | No | ||
| symbol_fqn | Yes | Fully-qualified name of the symbol just edited. | |
| verified_at_sha | Yes | Commit/PR sha the anchor was verified against (from git). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must carry behavioral context. It states 'Record' (write operation) but does not disclose whether it overwrites existing anchors, auth requirements, rate limits, or side effects. This is insufficient for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no fluff. It is appropriately front-loaded, but its brevity trades off completeness. Still, it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters, no output schema, and no annotations, the description is too minimal. It does not explain the behavior for write operations, what happens on conflict, or the role of optional parameters. More context is needed for safe agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 60% (3 of 5 parameters have descriptions in schema). The tool description adds no additional meaning to the parameters. Parameters like npub and dpop_token are not explained, leaving gaps that the schema does not fill.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Record where a symbol lives so future triage scopes its grep,' which is a specific verb-resource pair. It distinguishes the tool's purpose from siblings like cypher_index_symbol or cypher_symbol_provenance by focusing on anchoring a symbol's location for grep scoping.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 usage when recording a symbol's location, but no context on prerequisites, conflicts, or preferred scenarios compared to sibling tools.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Invariant name, e.g. 'exactly two transaction types'. | |
| npub | No | ||
| rule | Yes | The rule stated plainly (the enforceable 'MUST NOT' / cardinality). | |
| severity | No | Enforceability band: 'Violation' | 'Warning' | 'Info' (SHACL-ish). | Violation |
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Record' which implies mutation, but it does not mention authentication requirements, side effects, overwrite behavior, validation, or what happens on conflict. The schema's severity parameter adds slight context, but the description itself is nearly silent on behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single well-formed sentence with no fluff or repetition. It is appropriately front-loaded, though it may be too terse to be fully useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (five parameters, no annotations, no output schema, and a large sibling set), this one-line description is insufficient. It does not explain return behavior, prerequisites, or how this assertion tool relates to guarding, listing, or checking invariants.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter-level meaning beyond the input schema. Schema coverage is 60% (three of five parameters have descriptions), leaving npub and dpop_token unexplained, and the description does not compensate for this gap or clarify the relationship between parameters like name and rule.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('Record') and a specific resource ('enforceable code invariant'), which communicates the tool's primary purpose. However, it does not distinguish this tool from closely related siblings 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.
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, no exclusions, and no mention of alternatives. It is a bare statement of what the tool does without any context for selection among the many invariant-related sibling tools.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| reason | Yes | Why — the rationale. | |
| repo_name | Yes | Repository name. | |
| statement | Yes | The decision, stated plainly. | |
| dpop_token | No | ||
| decision_id | Yes | Stable id for this decision (e.g. '<repo>#<issue>-<slug>'). | |
| issue_number | Yes | GitHub issue number. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully disclose behavioral traits. It indicates a write operation ('Record') and mentions 'unverified provenance', but fails to describe permissions required, side effects (e.g., data persistence), error conditions, or response behavior. The governance implications of recording rationale are not addressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words. It conveys the core purpose efficiently. However, it could benefit from a slightly more structured format (e.g., separating action from context) without adding verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, no output schema, and no annotations, the description is insufficiently complete for an agent to use the tool correctly. It omits what the tool returns, how it interacts with other entities (e.g., GitHub issues via issue_number), and the meaning of 'unverified provenance' in terms of data integrity. The tool exists in a complex ecosystem of 80+ siblings, and the description provides no integration context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 71% (5 of 7 parameters have descriptions), so the schema already provides meaning for most parameters. The description does not add any parameter-level detail beyond the schema. The two parameters without schema descriptions (npub, dpop_token) are set with defaults and their purpose is not clarified. The description's contribution to parameter understanding is minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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, with the qualifier 'unverified provenance'. The verb 'Record' and resource 'rationale' are specific, but the term 'Journeyman' is domain-specific and may not be universally understood, slightly reducing clarity. It distinguishes from siblings like 'cypher_assert_invariant' which focus on recording invariants, but the differentiation is implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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'. The description does not specify prerequisites, contexts, or exclusions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_audit_what_changed_sinceAInspect
Answer what changed on a capability since a given time.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Capability name. | |
| npub | No | ||
| since_ms | Yes | Epoch-ms lower bound — only assertions/invariants touched at or after this time. | |
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the query intent, but does not disclose whether the operation is read-only, what kind of changes are reported, whether any side effects occur, or what the response format is. This is a significant transparency gap for a tool that likely reads data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler or repetition. Every word contributes to the meaning, making it highly concise and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description should provide more context about the return value, scope of changes, or edge cases. It only states the basic action, leaving the agent guessing about what precisely is returned or how optional parameters affect behavior. This is incomplete for a tool in a family of audit utilities.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description reinforces the two required parameters (name as 'capability' and since_ms as 'since a given time'), which aligns with a 50% schema coverage. However, it adds no extra meaning for the optional parameters (npub, dpop_token) and does not go beyond what the schema already states. Since coverage is exactly 50%, a neutral score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Answer') and resource ('what changed on a capability'), and the temporal qualifier ('since a given time') distinguishes it from other audit siblings like cypher_audit_what_contradicts or cypher_audit_who_authorized. It leaves no ambiguity about the tool's core purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly tells the agent when to use it: when a change history over time is needed for a capability. The 'since' phrasing clearly differentiates it from alternative audit tools, though it does not explicitly mention exclusions or alternative tool names. This is sufficient for typical usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_audit_what_contradictsCInspect
Answer what contradicts a capability's assertions or guarding invariants.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Capability name. | |
| npub | No | ||
| as_at_ms | No | Valid-time point (epoch ms); 0 = now. Filters assertion/invariant valid_from/valid_to. | |
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, but it only states what the tool answers. It does not disclose whether it is read-only, what it returns (e.g., list, boolean), whether it requires authentication, or any side effects. This is a significant gap for a 4-parameter audit tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, but it is under-specified. It is concise but lacks structure that would help an agent understand the tool's scope or parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This tool has no output schema, no annotations, and only 50% parameter coverage in the schema. The description does not explain return values, the meaning of 'contradicts', how to specify a capability, or the role of optional parameters like npub and dpop_token. Substantial contextual gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (name and as_at_ms are documented; npub and dpop_token are not). The description adds no parameter-level information, so it does not compensate for the two undocumented parameters. It adds no meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Answer') and identifies the resource ('what contradicts a capability's assertions or guarding invariants'), which differentiates it from sibling audit tools like cypher_audit_what_guards or cypher_audit_what_changed_since. However, 'what contradicts' is somewhat ambiguous—it could mean listing contradictions or checking a particular contradiction—but it still conveys the core intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 other audit tools, no exclusions, and no mention of prerequisites or alternatives. Usage is only implied by the tool's name and the generic phrasing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_audit_what_derived_fromCInspect
Answer what sources a capability was derived from.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Capability name. | |
| npub | No | ||
| as_at_ms | No | Valid-time point (epoch ms); 0 = now. Filters assertion valid_from/valid_to. | |
| dpop_token | No |
Tool Definition Quality
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 says 'Answer' which implies a read-only query, but it does not disclose side-effect profile, auth requirements, or behavior for unknown capabilities. This is a significant gap for a tool with 4 parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one clear sentence, front-loaded with the action and object, containing no fluff. It is concise and well-structured for its limited content, though the brevity leaves out important details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, no annotations, and 4 parameters, this description is too thin. It does not explain what 'sources' means, the return format, or the roles of the optional parameters. Sibling audit tools likely provide richer context, making this one incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no meaning beyond the schema. It mentions 'capability,' but the schema already describes `name` as 'Capability name.' It does not explain `npub`, `as_at_ms`, or `dpop_token`. With 50% schema coverage, the description fails to compensate for the undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Answer') and clearly identifies the resource ('a capability') and the result ('what sources ... derived from'). It distinguishes this tool from siblings like cypher_audit_what_changed_since (changes) and cypher_audit_what_contradicts (contradictions) by focusing on derivation origin.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool vs the many audit siblings. It does not mention alternatives, exclusions, or prerequisites. Usage is only implied by the description's purpose, which is insufficient for a tool family with overlapping concerns.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_audit_what_guardsCInspect
Answer which invariants guard a capability.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Capability name. | |
| npub | No | ||
| as_at_ms | No | Valid-time point (epoch ms); 0 = now. | |
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden, but it only restates the query intent. It does not disclose whether the operation is read-only, how as_at_ms affects results, whether dpop_token is required, or what the return shape looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. However, it is somewhat too terse to be fully informative, though this is a conciseness strength rather than a flaw.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with four parameters (including time-travel and auth tokens) and no output schema, a one-sentence description is incomplete. It omits return values, parameter semantics, and any behavioral or usage context, making it insufficient for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, but the description adds no parameter meaning beyond the word 'capability,' which already maps to the required 'name' parameter. The optional npub, as_at_ms, and dpop_token parameters are left undocumented in both the schema and description, so the description does not compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Answer') and clearly identifies the resource ('which invariants guard a capability'). It distinguishes itself from sibling audit tools by focusing on the 'guards' relationship between invariants and a capability, which is unique among the cypher_audit_* family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. It does not mention exclusions or related tools like cypher_audit_what_contradicts or cypher_invariant_provenance, leaving the agent to infer usage solely from the tool name and one-line purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_audit_who_authorizedCInspect
Answer who authorized a capability's authoritative why.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Capability name. | |
| npub | No | ||
| as_at_ms | No | Valid-time point (epoch ms); 0 = now. | |
| dpop_token | No |
Tool Definition Quality
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 does not disclose whether this is a read-only operation, any permission requirements, or output format. It only restates the core query without adding behavioral context 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of eight words, with no unnecessary words. However, the phrase 'authoritative why' is jargon that may require prior domain knowledge, slightly reducing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is insufficiently complete. It does not explain return values, parameter usage beyond name, or when to invoke this tool. For a four-parameter audit tool, the agent would need more context to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (two of four parameters lack descriptions). The description only implies that 'name' refers to a capability, which the schema already states. It does not compensate for undocumented npub, as_at_ms, or dpop_token parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool answers a specific question: who authorized a capability's authoritative why. The verb 'Answer' and resource 'capability's authoritative why' convey the purpose. It distinguishes from sibling audit tools by focusing on the authorizer of the rationale rather than the rationale itself, though the phrasing is somewhat jargon-heavy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives like cypher_audit_why_exists or cypher_authorize_capability_why. Usage is only implied by the question it answers, with no exclusions or recommended scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_audit_why_existsBInspect
Answer why a capability exists with PROV-attributed assertions and gaps.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Capability name. | |
| npub | No | ||
| as_at_ms | No | Valid-time point (epoch ms); 0 = now. Filters assertion valid_from/valid_to. | |
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals that output includes PROV-attributed assertions and gaps, but it does not state whether the tool is read-only, how time filtering (as_at_ms) affects results, what authentication (dpop_token/npub) is required, or possible failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence: 'Answer why a capability exists with PROV-attributed assertions and gaps.' Every word contributes meaning, and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, no annotations, and only partial parameter documentation, the description should provide more operational context. It omits the purpose of npub/dpop_token, any usage caveats, and what 'gaps' means in practice, leaving the tool under-specified for safe and correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%, with name and as_at_ms already described in the schema. The tool description adds no parameter-level meaning and does not clarify the undocumented npub or dpop_token fields. For an agent to invoke this correctly, those parameters remain ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Answer') and resource ('why a capability exists'), and adds output detail ('PROV-attributed assertions and gaps'). This clearly distinguishes it from sibling audit tools like cypher_audit_what_changed_since or cypher_audit_what_contradicts, which focus on different questions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when you need to understand why a capability exists, but it provides no explicit when-to-use or when-not-to-use guidance. It does not mention any alternative tools or exclusions, leaving the agent to infer suitability from the name alone amidst many similar audit/provenance tools.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| why | Yes | The authoritative, human-authored reason this capability exists. | |
| name | Yes | Capability name. | |
| npub | No | ||
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It uses 'author' which implies a write operation, but does not disclose side effects, required permissions, or other behavioral traits. The lack of transparency is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly terse—a single sentence that barely explains the tool. While concise, it sacrifices clarity and structure. Every sentence should earn its place; this one does not provide enough value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 output schema, and a large sibling context, the description is completely inadequate. It does not explain the purpose of the 'why' parameter, the effect of authoring it, or how to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (descriptions for 'why' and 'name' only). The tool description adds no additional parameter information. Parameters 'npub' and 'dpop_token' are undocumented beyond defaults. The description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states the tool authors the 'authoritative why' for a capability, but the phrasing is vague and does not differentiate from similar tools like cypher_suggest_capability_why or cypher_explain_capability. The verb 'author' implies writing, but the resource and action are unclear without context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The sibling list includes cypher_suggest_capability_why and cypher_explain_capability, which might be related, but the description offers no comparison or usage context.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Capability name. | |
| npub | No | ||
| dpop_token | No | ||
| symbol_fqn | Yes | Fully-qualified name of a code symbol that realizes the capability. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description gives no behavioral details beyond the basic action. It does not disclose whether the operation is destructive, reversible, idempotent, or what side effects occur. For a mutation tool with zero annotation coverage, this is a severe gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded. However, it is too brief for the tool's complexity and could benefit from a slightly longer structure (e.g., listing the required parameters or adding a note about prerequisites).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 insufficient. It does not explain return values, error states, or the effect of optional parameters. An agent would lack critical context for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (the two required params have descriptions in the schema, but npub and dpop_token have only defaults). The tool description adds no additional meaning or context for any parameter—it does not explain format, restrictions, or relationships between parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Attach a capability to one of the symbols that implement it' uses a specific verb ('attach') and clearly identifies the resources (capability and symbol). It distinguishes this tool from siblings like 'cypher_bind_rationale_to_symbol' or 'cypher_anchor_symbol' by specifying the binding direction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (e.g., 'cypher_upsert_capability' or 'cypher_what_realizes_capability'). There is no mention of prerequisites, when not to use, or context about symbol implementation.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| dpop_token | No | ||
| symbol_fqn | Yes | Fully-qualified name of the code symbol the decision is about. | |
| decision_id | Yes | Id of the Decision (from assert_rationale). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as side effects, idempotency, or required permissions. For a tool that likely modifies state, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words. However, it is extremely brief and could be expanded slightly without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 parameters, no output schema, no annotations), the description is incomplete. It fails to explain return values, prerequisites, or the purpose of npub and dpop_token, leaving significant gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (only symbol_fqn and decision_id have descriptions). The description adds meaning by stating symbol_fqn is a fully-qualified name and decision_id comes from assert_rationale, but npub and dpop_token remain unexplained. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (attach rationale to symbol) and identifies the resource (code symbol). However, it does not differentiate it from sibling tools like cypher_assert_rationale or cypher_bind_capability_to_symbol, which might cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 implies it follows cypher_assert_rationale (via decision_id), but this is not explicit, leaving the agent unaware of 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_capability_patentsCInspect
Show a capability's patent grounding.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Capability name. | |
| npub | No | ||
| dpop_token | No |
Tool Definition Quality
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 says 'Show,' implying a read operation, but omits any details about side effects, authorization needs, rate limits, or error behavior. The description is too terse to be transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It is appropriately sized for a tool with few parameters and no complex concepts, though it sacrifices detail for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, low schema coverage, and a moderate number of siblings, the description is too incomplete. It does not explain what 'patent grounding' means, what the tool returns, or any edge cases (e.g., invalid capability). The agent lacks sufficient context to use the tool reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only 'name' has a description). The tool description adds no further parameter information beyond what the schema already states. The parameters 'npub' and 'dpop_token' remain completely unexplained, leaving their purpose ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Show a capability's patent grounding.' It is clear what the tool does in isolation, though it does not explicitly distinguish from siblings like cypher_link_capability_to_patent or cypher_list_patent_elements. The term 'patent grounding' is somewhat domain-specific but likely clear in context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of prerequisites, limitations, or when not to use it. The agent receives no help in deciding between this and similar sibling tools.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses return value (sats), ownership (operator's own funding), and cost (free). However, it does not explicitly state read-only nature or any authorization requirements, though implied by context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (4 sentences) with no wasted words. It is front-loaded with purpose, then return value, consequence, and clarification. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and presence of output schema, the description sufficiently explains purpose, return value, and usage context (including when to use another tool). Complete for agent decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. The description does not need to add parameter meaning. Baseline score of 4 is appropriate given the absence of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks the operator's tax balance at the Authority, returns sats for certifying patron purchases, and distinguishes from patron balances. It uses a specific verb ('check') and resource ('authority balance').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use (to check operator's tax balance) and what happens when balance is zero (call purchase_credits). It also notes it's free. It does not explicitly exclude other tools but provides actionable context.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | The Nostr public key (npub1...) whose balance to check. | |
| dpop_token | Yes | Raw 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
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that the tool is free, requires no credits, and that proof of npub ownership is needed to prevent enumeration. Although no annotations exist, the description provides relevant behavioral context for a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise paragraphs with front-loaded purpose. Every sentence adds value, no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given full schema coverage and presence of an output schema, the description adequately covers purpose, usage, and behavioral context. No gaps identified for an agent to decide.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters. The description adds minimal extra meaning beyond the schema, but the detailed param descriptions in schema suffice. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks a patron's credit balance at this operator, using specific verb and resource. It distinguishes from the sibling tool 'authority_check_balance' by contrasting operator vs Authority balance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use ('Check a patron's credit balance') and when not to ('For the operator's own balance...use authority_check_balance instead'). Also notes cost (free) and prerequisite (proof of npub ownership).
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | The Nostr public key (npub1...) that purchased the invoice. | |
| dpop_token | Yes | Raw 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_id | Yes | The invoice ID returned by purchase_credits. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description carries full burden. It discloses cost ('Free — no credits required') and security requirement ('Proof of npub ownership is required'), adding context beyond the schema. Does not mention rate limits or error behavior, but provides key behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise: four sentences with no wasted words. Front-loaded with the core purpose, followed by usage timing, cost, and security – an optimal structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters with full schema coverage and an output schema, the description sufficiently covers purpose, timing, cost, and security. It could mention typical response (e.g., status codes) but the output schema compensates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with detailed parameter descriptions in the schema. The tool description adds no extra meaning beyond what is already in the schema, meeting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the purpose: 'Check the payment status of a Lightning invoice.' It uses a specific verb ('check') and resource ('payment status'), distinguishing it from sibling tools like cypher_check_price or cypher_check_balance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Call after paying the invoice from purchase_credits,' providing clear when-to-use guidance. Also mentions cost and proof requirement, but does not specify when NOT to use or name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_check_priceBInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| tool_id | Yes | Either 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_token | No | ||
| tool_kwargs | No | Optional 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
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It explains it's a preview (likely read-only) and lists what it shows (cost, constraints). It does not explicitly state there are no side effects or mention what happens if the tool_id is invalid. This is 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, three sentences, and front-loads the core purpose. No unnecessary words. It efficiently conveys key points.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters (1 required) and an output schema (not shown), the description provides a functional overview but lacks details on return values or when to use this tool in a workflow. It is sufficient for basic use but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (two parameters lack descriptions). The description only provides a high-level purpose and does not explain individual parameters. For example, 'npub' and 'dpop_token' are not described in the description, leaving the agent without guidance on their meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Preview the effective cost of a tool call.' It specifies what is shown (base cost, constraint effects) and notes it's free. While sibling differentiation is not explicit, the tool's unique function as a cost preview among many cypher_ tools is evident.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'Free — no credits required,' implying it's safe to use without cost. However, it gives no explicit guidance on when to use this tool vs. other sibling tools or what prerequisites exist (e.g., which tool_id to use). Usage context is implied but not fully explained.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | No | Required. The dpop_token phrase returned by ``request_npub_proof`` / ``receive_npub_proof``. | |
| patron_npub | No | Required. The patron's npub (npub1...). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It clearly states the operation is free, has no side effects, does not evict the cache or touch relays, indicating a safe read-only check. It could be more explicit about the return value (e.g., boolean), but the output schema likely covers this. Score reflects good transparency with minor omission.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with two sentences. The first sentence immediately states the purpose, and the second provides usage context and safety. Every sentence earns its place with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple check tool with 2 parameters and an output schema, the description covers purpose, usage scenario, and behavioral traits. It doesn't detail prerequisites or output format, but the schema and output schema suffice. Score 4 indicates it is nearly 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The tool description does not add new information about the parameters beyond what the schema already provides (both are described as required with specific formats). The description adds context about the npub-proof flow, but that is incidental to parameter meaning. Score stays at 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Check whether') and clearly identifies the resource (validity of a cached dpop_token). It distinguishes from sibling check tools by explicitly mirroring 'check_oauth_status' for the npub-proof flow, providing clear differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a concrete use case: ask if a dpop_token will be accepted before a paid call to avoid wasting credits. It states the tool is free and has no side effects. While it doesn't explicitly list when not to use it, the mirroring hint offers some guidance. A score of 4 reflects clear context with room for explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_claim_issueCInspect
Mark an issue as actively being worked at the start of an agent's turn.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| title | No | Issue title (sets it if the node is new; omit to leave as-is). | |
| activity | Yes | What the agent is doing this turn: 'triaging' | 'fixing' | 'reviewing'. | |
| issue_url | Yes | The issue's actual GitHub URL (gh issue view <n> --json url). Required: an Issue node is never created without its URL. | |
| repo_name | Yes | Repository name. | |
| worked_by | Yes | The agent role picking it up: 'porter' | 'journeyman' | 'qa'. | |
| dpop_token | No | ||
| issue_number | Yes | GitHub issue number. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the basic purpose but lacks detail on side effects (e.g., does it change issue status?), idempotency, authentication (npub, dpop_token fields), or error conditions. The agent is left guessing about behavior beyond the simple claim action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no waste, but it could be structured to front-load more critical context. It is efficient, though borderline too short for the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters (5 required), no output schema, and no annotations, the description is too sparse. It fails to explain workflow context (turn-based agent system), parameter dependencies, or usage expectations, leaving significant gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, but the description adds no value beyond the schema. It does not explain how parameters like npub or dpop_token are used, nor does it clarify the meaning of worked_by or activity values. The 25% undocumented parameters lack any description context, and the existing schema descriptions are adequate but not enriched.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('mark an issue as actively being worked') and the resource ('issue'), and specifies the timing ('at the start of an agent's turn'). It distinguishes from sibling tools like cypher_report_issue (creating) and cypher_issue_provenance (tracking history).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. There is no mention of when to use this tool versus alternatives, prerequisites (e.g., issue must exist), or exclusions (e.g., not for finishing work).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_context_packDInspect
Return the code-orienteering scope for an intent keyword.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| keyword | Yes | Intent keyword from the issue, e.g. 'npub proof', 'books health'. | |
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as side effects, authentication requirements, rate limits, or whether the operation is read-only. The description is minimal and leaves the agent uninformed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, but it is underspecified and lacks front-loaded key information. It sacrifices clarity for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should indicate the structure of the return value. It only says 'scope', which is vague. Given the complexity and number of sibling tools, the description is insufficient for the agent to understand the tool's full behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only 1 of 3 parameters has a schema description (keyword). The description adds no extra meaning beyond the schema; it mentions 'intent keyword' but does not explain the 'npub' or 'dpop_token' parameters. With low schema coverage (33%), the description fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a verb and resource but 'code-orienteering scope' is unclear and not standard terminology. It fails to explicitly distinguish this tool from many sibling tools that may also return scopes or context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 any sibling tools. The description does not mention any context or criteria for selection.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Stable, human-meaningful key (e.g. 'holdings_by_sector'). | |
| npub | No | Required. The operator's npub (npub1...). | |
| row_limit | No | Max rows returned (default 1000). | |
| dpop_token | No | ||
| timeout_ms | No | Best-effort query timeout (default 5000). | |
| access_mode | No | 'read' (default) or 'write'. | read |
| description | No | Human-readable description of what the query returns. | |
| param_schema | No | Declared parameters and their types. | |
| cypher_template | Yes | Parameterized Cypher using $param placeholders. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It mentions that the tool is a write operation ('publish'), and provides constraints on parameter naming and param_schema format. However, it omits details on side effects, authorization beyond 'Operator-only', error handling, or rate limits, leaving gaps for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences. The first sentence states the core purpose, and the second provides essential usage details. No redundancy or irrelevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool creating query templates with parameters, the description covers key constraints (operator-only, parameter binding, param_schema format). An output schema exists, so missing return value information is acceptable. Some details like default values or error cases are omitted, but overall it sufficiently informs an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 89%, so the schema already documents most parameters. The description adds value by explaining the $name binding requirement and the param_schema format, which are not fully captured in schema descriptions. However, it does not elaborate on all parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'publish a new named Cypher query template', which is a specific verb and resource. It clearly distinguishes from sibling tools like cypher_execute_query_by_key or cypher_list_queries, and additionally mentions 'Operator-only' scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates the tool is for operators only, implying access restrictions, but does not explicitly state when to use this over alternatives (e.g., cypher_update_query, cypher_delete_query). No guidance on prerequisites or context is provided.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| coupon_id | Yes | ||
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses cascading to all patron redemptions, no-op behavior for references, and operator restriction. Lacks warning about irreversibility, but annotations absent so description carries burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise: two sentences plus restriction line. Front-loaded with action, no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers side effects and auth, but missing preconditions (coupon existence, state) and error scenarios. Output schema present reduces need for return description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameter descriptions in schema (0% coverage). Description does not explain dpop_token or its relation to 'requires proof'. Agent lacks guidance on authentication parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Explicitly states 'Delete a coupon' with clear verb and resource. Distinguishes from siblings like update, mint, forget by describing cascade behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Mentions restriction to operator with proof, but does not contrast with sibling tools like cypher_forget_coupon or when to use this hard delete vs soft alternatives.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | The patron's Nostr public key (npub1...). | |
| field | Yes | The credential field name to remove. | |
| dpop_token | Yes | Raw 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
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses the operation as a write to a sensitive vault, the requirement of ownership proof, and that it is free. It adds context about the scope (only one field) but does not detail reversibility or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (5 lines) with no wasted words. It front-loads the action and key points: effect, cost, requirement. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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) and 100% schema parameter coverage, the description is fairly complete. It covers the operation, prerequisites, and side effects. It could mention suggesting prior retrieval of fields to know which to delete, but is still adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add parameter-specific details beyond the schema; it only mentions 'Proof of npub ownership' which relates to dpop_token. No enrichment of field meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Remove a single patron credential field.' It uses a specific verb and resource, and distinguishes from sibling tools like cypher_update_patron_credential by emphasizing deletion of one field without affecting others.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a single credential field needs to be removed, but does not explicitly state when not to use it or compare with alternatives like update or get fields. It mentions the prerequisite of proof of npub ownership 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_delete_queryBInspect
Operator-only: delete a catalog entry by key.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | ||
| npub | No | Required. The operator's npub (npub1...). | |
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only says it deletes, without disclosing side effects, irreversibility, or permission details beyond operator status. This is insufficient for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. However, it lacks line breaks or front-loading of critical info; it is efficient but could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema and moderate complexity (3 params), the description is too terse. It does not explain return values, error conditions, or what a catalog entry is, leaving significant gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (one of three parameters described). The description adds no extra information about parameters like 'key' format or 'dpop_token' usage, failing to compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it deletes a catalog entry by key, using a specific verb and resource. It also notes 'Operator-only', which distinguishes it from sibling tools like cypher_create_query or cypher_update_query.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly restricts usage to operators, providing clear context. However, it does not mention when not to use the tool or list alternatives, leaving some ambiguity about appropriate scenarios.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | The published query key (e.g. 'holdings_by_sector'). | |
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| params | No | Parameters for the query — bound as Cypher $params, never interpolated. Must match the query's declared schema. | |
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses: operator owns query text, user never sees raw Cypher, billing rollback on error, params are bound not interpolated. These are critical behavioral traits beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short paragraphs, each with distinct purpose: purpose, usage alternative, billing note. Efficiently front-loaded with no redundant sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters (one required), no annotations, but has output schema, the description covers the key concept, security (no direct Cypher), billing behavior, and parameter usage. It is complete for an agent to decide and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75% (3 of 4 params described). The description adds value by explaining that params are bound as Cypher $params and never interpolated, and must match the query's schema. Dpop_token lacks description but is likely for auth; some gap remains.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool executes a published Cypher query by key, with specific verb 'execute a published, parameterized Cypher query'. It distinguishes from sibling tools that are named queries (e.g., cypher_find_airline_flights), noting those should be called directly instead.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use (supply key and params) and when not to (if operator published a named tool, call that). Also provides billing context: charged only for delivered answer, no charge on failure (unknown key, invalid params).
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Capability name. | |
| npub | No | ||
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose behavioral traits such as whether the tool is read-only, any side effects, or required permissions. For a tool that likely queries data, this lack of clarity impacts agent decision-making.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence), but it sacrifices necessary detail. While brevity is valued, more information is needed to meet the needs of tool selection. It is not wasteful, but it is under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, and that only one of three parameters is documented in the schema, the description fails to provide a complete picture. The tool's return value or behavior is not described, leaving significant gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 3 parameters but only 'name' has a description ('Capability name.'). The description adds no additional meaning to the parameters, and the optional 'npub' and 'dpop_token' are entirely unexplained, leaving their purpose ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'explain' and the resource 'capability', and it adds two aspects: 'why it exists' and 'where it lives', which gives a specific purpose. It distinguishes from siblings like 'cypher_authorize_capability_why' which focuses on authorization, and 'cypher_upsert_capability' which is about creation/update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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_suggest_capability_why' or 'cypher_authorize_capability_why'. There is no mention of prerequisites or disclaimers, leaving the agent without context for proper selection.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | Patent reference numeral, e.g. 400. | |
| npub | No | ||
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the action (Show) without revealing side effects, authentication requirements, rate limits, or whether it is read-only. While it implies a read operation, this is not explicitly confirmed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a single clear sentence. However, it could include slightly more information without becoming verbose, such as hinting at output or parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and three parameters (two undocumented), the description is incomplete. It fails to explain what the tool returns or the purpose of the optional parameters. The sibling tools list is large, and the description does not help differentiate this tool's specific role.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 33% (only 'ref' has a description). The tool description adds no semantics for 'npub' and 'dpop_token', which remain unexplained. For 'ref', the schema already provides an example (e.g., 400), so the description offers no additional value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to show what a patent reference numeral describes. It uses a specific verb (Show) and resource (patent reference numeral), and given the sibling tools like cypher_list_patent_elements and cypher_upsert_patent_element, this tool's function is distinct, though not explicitly differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not specify when to use this tool versus alternatives, nor does it indicate any prerequisites or context for invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_factory_resolution_statsCInspect
Report how issues were located, to measure grep-scope shrinkage.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It only states it 'reports' but does not clarify if the operation is read-only, requires authentication (e.g., dpop_token), or has side effects. The agent lacks insight into permissions, idempotency, or resource impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise but at the expense of clarity. It front-loads the purpose but uses domain-specific terminology without elaboration. It could be restructured to include more information without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 optional parameters, no output schema, and no annotations, the description is too sparse. It does not explain the return value, expected behavior with missing parameters, or how the 'grep-scope shrinkage' metric is derived. The agent lacks sufficient information to use the tool reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 the two parameters (npub, dpop_token) at all. The agent cannot infer their meaning, expected format, or whether they are optional (defaults to empty string). This is a critical gap for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it reports how issues were located to measure grep-scope shrinkage, which is a specific verb-resource pairing. However, 'issues' and 'grep-scope shrinkage' are jargon not explained, making the purpose somewhat vague for an AI agent. It is not a tautology but lacks clear connection to the tool's domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 sibling tools like cypher_adoption_status or cypher_check_balance. The description does not mention prerequisites, alternatives, or exclusions, leaving the agent without context for appropriate invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_find_airline_flightsCInspect
Find airline routes between two cities (named-tool smoke test).
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| to_city | Yes | ||
| from_city | Yes | ||
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It implies a read operation but does not confirm safety, auth requirements, or side effects. Parameters like npub and dpop_token hint at auth but are unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, but includes unnecessary 'named-tool smoke test' which adds no value. Front-loaded with the action, but could be cleaner.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite simplicity, description is incomplete. No output schema or return format mentioned. Authentication parameters are unexplained. Essential context for an agent to use this tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description must compensate. It only mentions 'two cities' but does not clarify expected format (e.g., airport codes vs city names) or explain npub/dpop_token. No added value over parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Find airline routes between two cities', a specific verb+resource. The smoke test note is noisy but does not obscure purpose. Sibling tools are mostly unrelated, so no confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. No mention of prerequisites, limitations, or when not to use it. The description only states what it does, not context.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | ||
| coupon_id | Yes | ||
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It reveals the cosmetic effect (coupon still exists, can be re-redeemed) and the free nature with npub proof requirement. It does not detail error cases or side effects but covers key behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, all essential. The main action is front-loaded, with clarifying details following. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero schema coverage and no annotations, the description explains the effect, permanence, and precondition. Output schema exists but is not shown; still, the description is fairly complete for a simple removal tool, missing only edge cases and return details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. It implies npub identifies the patron and coupon_id the coupon, but completely omits dpop_token. This partial coverage leaves a gap for one parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Remove a coupon from this patron's redemption list', specifying the action, target, and scope. It distinguishes from siblings like cypher_delete_coupon by noting it is 'cosmetic only' and the coupon still exists, helping the agent choose correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that removal is cosmetic and the coupon can be re-redeemed, and notes the prerequisite 'requires proof of npub'. This gives good context, though it lacks explicit when-not-to-use or direct comparison to alternatives.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | The Nostr public key (npub1...) whose credentials to forget. | |
| service | Yes | The credential service to forget. | |
| dpop_token | Yes | Raw 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
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations given, so description carries full burden. States deletion is as destructive as a write, which indicates behavioral implications. However, lacks details on side effects, idempotency, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: two sentences with clear front-loading. Every sentence adds necessary information without waste. Example of ideal conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists (not shown), return values need not be explained. Description covers destructive nature, ownership proof, and parameter roles. Still, could mention success/failure outcomes for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 detailing dpop_token format requirements beyond schema (e.g., 'not base64, not NIP-98 framing'). This extra context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool deletes vaulted credentials for a service and npub. Distinguishes between operator and patron npubs. However, does not differentiate from siblings like 'cypher_delete_patron_credential' or 'cypher_delete_coupon', which limits clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context on when to use (forgetting credentials) and explains npub ownership proof requirement. But no explicit when-not-to-use or alternatives mentioned, leaving guidance incomplete.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description fully discloses the read-only nature, no cost, and the fact that it returns the latest metadata or an empty profile. No destructive behavior 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, front-loaded with the action and purpose. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no nested objects, output schema exists), the description is complete. It lists return fields and mentions the empty profile case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates fully by explaining the 'npub' parameter as the public key whose profile to read. The schema only gives a default, but the description provides meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it reads a public Nostr profile for an npub, listing specific metadata fields. It effectively distinguishes from the sibling 'cypher_publish_nostr_profile' which is a write operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Indicates the operation is free and requires no proof because data is already public. Implicitly tells when to use, though does not explicitly mention alternative tools for non-public data.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | The patron's Nostr public key (npub1...). | |
| notarization_id | Yes | The notarization record ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It only states the tool generates a proof, offering no additional behavioral context (e.g., idempotency, required permissions, cost implications, or whether it modifies state). The description is minimal beyond the core action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence that front-loads the key action and resource. No unnecessary words; every part contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (indicated by context), the description adequately explains the input purpose. It could mention that the tool is read-only, but the output schema likely covers return details. Parameters are fully documented in schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'npub' and 'notarization_id' have descriptions). The tool description adds no parameter-specific meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a Merkle inclusion proof for a patron's balance in a Bitcoin-notarized snapshot. It uses specific verb 'Generate' and specifies the resource (patron's balance in notarized snapshot), distinguishing it from sibling tools like 'cypher_notarize_ledger' (creates notarizations) and 'cypher_list_notarizations' (lists them).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for obtaining proof of inclusion but does not explicitly state when to use this tool versus alternatives like 'cypher_check_balance' or 'cypher_check_proof_status'. No exclusions or alternative mentions are provided.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It describes the output: shows which settings are configured/missing and how to deliver missing values. It does not mention side effects or authentication, but given it's a read-only report, the description 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three informative sentences with no wasted words. Each sentence adds value: purpose, details of output, and alternative guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 is complete. It explains what the report contains and distinguishes from a related tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so baseline is 4. Description adds context about the tool's scope (operator's configuration) but does not need to describe any parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool 'Report this operator's configuration readiness' with a specific verb and resource. It distinguishes itself from the sibling tool 'get_patron_onboarding_status' by explicitly mentioning the alternative for patron-level status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides when to use this tool vs. alternatives: 'For patron-level credential status, use get_patron_onboarding_status instead.' This tells the agent when not to use this tool.
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, plus each
field's delivered_at ISO-8601 timestamp when known (null
for secrets vaulted before timestamps were recorded). Values
are never exposed — use this to verify which fields are
configured and how old each one is. Free. Proof of npub
ownership is required: the list of configured fields is itself
sensitive (reveals which integrations a patron has set up).
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | The patron's Nostr public key (npub1...). | |
| dpop_token | Yes | Raw 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
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description reveals key behaviors: it's free, requires proof of ownership, lists only field names (values never exposed), and notes sensitivity. Sufficiently transparent for a read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the core purpose. Every sentence serves a purpose, with no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of an output schema, the description covers essential aspects: what is returned, what is not, authentication, and security rationale. Complete for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 that dpop_token proves ownership due to sensitivity, but does not add new parameter syntax or details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists stored patron credential field names (not values), specifying what is returned and its purpose. It distinguishes itself from sibling tools by focusing on field names and timestamps, not values.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool (verify configured fields and their age) and notes the authentication requirement (proof of npub ownership). However, it lacks explicit exclusions or alternatives from the sibling tool set.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | Yes | A kind-27235 Nostr event signed by patron_npub for this tool. | |
| patron_npub | Yes | The patron's Nostr public key (npub1...). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses read-only nature, requirement for proof of npub ownership via dpop_token, and reason for sensitivity. Lacks details on side effects or performance, but sufficient given the context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is 5 sentences, front-loaded with main purpose, then provides details on service types and requirements. Clear and well-structured, though could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of two service types and existence of output schema, description covers what the tool does, how it differs by service, and the proof requirement. No major gaps identified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions. Description adds context: explains dpop_token is a kind-27235 event signed by patron_npub for this tool and why proof is needed. This goes beyond schema, enhancing parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool reports a patron's credential readiness, distinguishes between set-once and dynamic OAuth2 services, and specifies what is shown (configured/missing secrets or none needed). This is specific and differentiates 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage context (checking credential readiness for a patron) and mentions service types, but does not explicitly state when not to use or compare with sibling tools like cypher_get_operator_onboarding_status or cypher_get_patron_credential_fields.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses key behavioral traits: self-initialization behavior and the fact that no economic data is sourced from code. This adds transparency beyond a simple 'get' operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise: three short sentences that front-load the core purpose, then add necessary behavioral details. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with an output schema, the description covers the main purpose and a critical behavioral nuance (self-initialization). Sufficient for agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has zero parameters, so baseline per rubric is 4. No parameter description needed; description provides no extra param info but none is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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'. The word 'Free' might be ambiguous but overall purpose is clear. Does not explicitly differentiate from related sibling tools like 'cypher_set_pricing_model' but the verb 'get' suffices.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context that the tool self-initializes a scaffold if no model exists and that there is 'No economic data from code.' However, it does not give explicit guidance on when to prefer this tool over alternatives 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_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).
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | ||
| npub | No | Required. The operator's npub (npub1...). | |
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses conditional behavior (edit_url included only if credentials are delivered, best-effort) and guarantees the raw template is always present. This gives the agent a good understanding of what to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficient: four sentences front-loading the core purpose, then adding key details about the edit_url. It is not verbose but covers necessary behavioral nuances without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (fetch by key) and the existence of an output schema, the description adequately covers what the agent needs: what is fetched, the conditional edit_url, and the fallback. It does not need to detail return fields since the output schema provides that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (33%), and the description does not explain parameters beyond the tool's purpose. The key parameter is left without context, and npub's requirement is mentioned in schema but not elaborated. The dpop_token is not described. The description adds minimal value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'fetch' and the resource 'one catalog entry (template + schema + metadata)', making the tool's purpose unambiguous. It distinguishes itself from sibling tools like cypher_list_queries (list) and cypher_create_query (create) by specifying it retrieves a single entry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly restricts usage to operators with 'Operator-only', and suggests a workflow: fetch with this tool, refine via edit_url in Neo4j Browser, then save with update_query. While it doesn't explicitly say when not to use it or list alternatives, the context is clear enough for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_guard_invariant_symbolCInspect
Register a symbol an invariant guards.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Invariant name. | |
| npub | No | ||
| dpop_token | No | ||
| symbol_fqn | Yes | A symbol in the invariant's bounded expected set. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description is too brief to disclose behavior such as side effects, idempotency, permissions, or error conditions. It fails to inform the agent about important behavioral aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (5 words), which aids conciseness but sacrifices completeness. It is not well-structured to front-load critical information, and the brevity reduces its utility.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 output schema, and many sibling tools, the description is severely incomplete. It lacks information on return values, side effects, and relationship to other tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no extra meaning beyond the input schema. Two parameters (npub, dpop_token) lack schema descriptions, and the description does not cover them. With 50% schema coverage, the description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Register a symbol an invariant guards' is grammatically awkward but conveys the core action: registering a symbol that an invariant guards. However, it lacks clarity and does not explicitly differentiate from siblings like cypher_anchor_symbol or 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.
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, prerequisites, or context. With many sibling tools, clear usage guidelines are missing.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | Yes | Source language, e.g. 'python', 'swift', 'typescript', 'rust'. | |
| npub | No | ||
| repo_name | Yes | Repository name. | |
| dpop_token | No | ||
| symbol_fqn | Yes | Fully-qualified symbol name (per-language normalized). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations; description provides no behavioral details such as idempotency, destructiveness, authentication requirements, or side effects. Fails completely to add value beyond the minimal purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise but underspecified. Lacks essential details; not well-structured for agent comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters, no output schema, and no annotations, the description is severely incomplete. No explanation of return values, side effects, or prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 60% of parameters; description adds no additional meaning for any parameter. Parameters 'npub' and 'dpop_token' lack schema descriptions and are not explained in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States verb 'Index' and resource 'code symbol', specifying association with a service. Adequately clear but does not distinguish from sibling tools like 'cypher_anchor_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.
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 exclusions or context provided. Agent cannot determine appropriate scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_invariant_provenanceCInspect
Explain an invariant and what it guards.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Invariant name. | |
| npub | No | ||
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It only says 'Explain an invariant and what it guards,' omitting details on output format, side effects (likely none), error handling, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it lacks necessary detail. It is not wasteful, but being too brief reduces usefulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given three parameters and no output schema or annotations, the description is too sparse. It fails to explain the return value, the role of optional parameters, or how the tool fits into a workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (name has a basic description). The tool description adds no parameter meaning beyond the schema. npub and dpop_token are left unexplained, so the agent has no guidance on how to use them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool explains an invariant and its guard, which is a specific action on a resource. This distinguishes it from siblings like cypher_assert_invariant or cypher_list_invariants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 mention of prerequisites, when not to use it, or comparison with similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_issue_provenanceBInspect
Fetch an issue's GitHub URLs and provenance chain for browser click-through.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| repo_name | Yes | Repository name. | |
| dpop_token | No | ||
| issue_number | Yes | GitHub issue number. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so description carries full burden. Only states 'Fetch' indicating read-only, but fails to disclose authentication needs, error handling, or what the provenance chain includes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no extraneous words. Front-loaded with verb and purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Low complexity tool (fetch by repo and issue) but description lacks detail on provenance chain output, URL format, or expected behavior. No output schema. Incomplete for a developer unfamiliar with the domain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (repo_name and issue_number described). Description adds no parameter meaning beyond schema; npub and dpop_token unexplained. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Fetch', the resource 'issue's GitHub URLs and provenance chain', and the purpose 'for browser click-through'. It distinguishes this from sibling tools like cypher_list_issues or cypher_link_issue_to_capability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use vs. alternatives. The description implies use for a single issue's provenance, but does not contrast with other provenance or issue tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_link_capability_consumerCInspect
Record that a service consumes a capability.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Capability name. | |
| npub | No | ||
| dpop_token | No | ||
| consumer_repo | Yes | Repo of a Service that consumes this capability. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must disclose behavioral traits. "Record" implies a write operation, but there is no mention of side effects, idempotency, or permissions needed for this action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. It could benefit from more detail without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool likely creates a relationship, but the description omits critical context: what happens on duplicate, how to verify the record, or any prerequisites. With no output schema, the description should address these gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% with only name and consumer_repo described. The tool description adds no additional meaning beyond the schema. For a tool with 4 parameters and 50% coverage, the description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb "record" and identifies the resources (service, capability), making the purpose clear. It also distinguishes from siblings like "cypher_upsert_capability" which creates/updates a capability itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. Given many sibling tools, explicit context for when this action is appropriate would be beneficial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_link_capability_to_patentCInspect
Ground a capability in a patent reference numeral.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Capability name. | |
| npub | No | ||
| dpop_token | No | ||
| patent_ref | Yes | Patent reference numeral the capability is described by. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry full burden. It only states the basic action without disclosing side effects, authorization needs, or whether it is destructive. For a write-like operation, safety information is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence with no verbosity. Every word is meaningful, but conciseness does not excuse missing critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and minimal description. Agent cannot infer return value, errors, or side effects. With 4 parameters and multiple siblings, the description is too brief to fully guide correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (only name and patent_ref have descriptions). The description adds no parameter-level details beyond restating 'patent reference numeral.' It does not explain npub or dpop_token, leaving gaps not compensated by schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Ground a capability in a patent reference numeral' uses a specific verb and clarifies the resource (capability) and relationship (patent reference numeral). It is distinct from siblings like cypher_bind_capability_to_symbol or cypher_link_invariant_to_patent, though 'ground' is domain-specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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_link_invariant_to_patent. There is no mention of prerequisites, context, or when not to use it. Given many similar sibling tools, this is a gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_link_invariant_to_patentCInspect
Ground an invariant in a patent reference numeral.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Invariant name. | |
| npub | No | ||
| dpop_token | No | ||
| patent_ref | Yes | Patent reference numeral the invariant is described by. |
Tool Definition Quality
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 'Ground' which implies a state change or association, but offers no details on side effects, permissions, reversibility, or impact on existing links. This is insufficient for a likely 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. However, given the tool's role and sibling context, it could benefit from slightly more detail without losing conciseness, but it's still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and 50% of parameters lack schema descriptions. The description should compensate by explaining return values, side effects, or parameter usage. It does not, leaving the agent underinformed about the tool's behavior and output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (name and patent_ref have descriptions; npub and dpop_token lack descriptions). The description adds no extra meaning beyond the schema, merely echoing 'invariant' and 'patent reference numeral'. It does not help with the undocumented parameters, which have defaults but no semantic guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Ground an invariant in a patent reference numeral' clearly states the action (ground) and resources (invariant, patent reference numeral). It distinguishes from sibling tools like 'cypher_assert_invariant' and 'cypher_link_capability_to_patent' by focusing on linking an invariant to a patent reference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. Sibling tools include many linking operations (e.g., 'cypher_link_capability_to_patent', 'cypher_link_issue_to_capability'), but the description fails to specify conditions or prerequisites for using this specific tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_link_issue_to_capabilityBInspect
Attach an issue to the capability it is about.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| repo_name | Yes | Repository name. | |
| dpop_token | No | ||
| issue_number | Yes | GitHub issue number. | |
| capability_name | Yes | Capability the issue is about (from context_pack). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral transparency. It states the action ('attach') but does not disclose details such as idempotency, side effects, permission requirements, or error behavior. For a mutation tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that delivers the core message without unnecessary words. It is front-loaded and efficient, earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters (3 required) and no output schema, the description is too brief. It does not explain what 'attach' entails operationally, what constitutes a successful response, or how errors are handled. More context would be needed for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 60% description coverage (3 of 5 parameters described). The description adds no parameter details beyond what the schema already provides, such as the meaning of 'capability_name' or the role of 'npub' and 'dpop_token'. This does not improve semantic clarity for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Attach an issue to the capability it is about' uses a specific verb ('attach') and clearly identifies the resources ('issue' and 'capability'), making the tool's purpose unambiguous. It also distinguishes from sibling tools like cypher_link_capability_consumer and cypher_link_capability_to_patent, which link different entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, nor does it mention any prerequisites or exclusion criteria. Without context like 'use this when other linking tools are not appropriate', the agent lacks decision support for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_link_prCInspect
Attach the fix PR's GitHub URL to its issue.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| pr_url | Yes | The actual GitHub URL of the PR that fixes this issue (from gh pr create). | |
| repo_name | Yes | Repository name. | |
| dpop_token | No | ||
| issue_number | Yes | GitHub issue number. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It implies a mutation (attaching a URL to an issue) but omits side effects, permissions required, or whether the operation is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence. However, it could be expanded slightly to improve clarity without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fails to provide adequate context for a mutation tool with no output schema and no annotations. It does not explain what 'attach' means operationally or what the result looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds minimal value beyond the schema: it recontextualizes 'pr_url' but ignores 'npub' and 'dpop_token' entirely. Schema coverage is 60%, but the description does not compensate for the undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (attach) and the resources (fix PR GitHub URL to its issue), distinguishing it from sibling link tools like cypher_link_capability_consumer. However, it could be more specific about what 'attach' entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 similar linking tools. The description lacks context on prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_link_root_causeCInspect
Point an issue at the code symbol that caused it.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| repo_name | Yes | Repository name. | |
| dpop_token | No | ||
| symbol_fqn | Yes | Fully-qualified name of the code symbol at fault. | |
| issue_number | Yes | GitHub issue number. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as side effects, permissions required, or whether links can be overwritten. For a mutation tool, this lack of transparency is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. It is front-loaded and easy to parse, though it could benefit from slightly more detail without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 5 parameters, no output schema, and is a mutation operation. The description is too minimal to provide complete context; it does not explain return behavior, error conditions, or validation. More details are needed for adequate understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 60%, but the tool description only echoes the schema for two parameters (issue_number, symbol_fqn) without adding new meaning. Two parameters (npub, dpop_token) lack any description in both schema and description, providing no additional value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the purpose: linking an issue to a code symbol that caused it. The verb 'point' is specific, and the resources (issue, code symbol) are identified. However, it does not differentiate from sibling tools like 'cypher_link_issue_to_capability' or 'cypher_link_pr', leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of prerequisites, intended use cases, or scenarios where other sibling tools would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_list_canonical_identitiesAInspect
Return canonical (tool_id, mcp_name, …) for every tool the wheel exposes.
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.
Includes both ToolIdentity-seeded tools and any UUID recorded by
@paid_tool that is missing from the registry. The latter appear
with registered: false (and in the top-level unregistered
array) so Reconcile can flag deploy drift instead of silently
reporting clean when a live tool was never seeded (#174).
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.
Also diffs the live FastMCP wire surface against the registry.
Tools exposed on the wire but absent from the registry appear in
unregistered so Reconcile can flag deploy drift instead of
silently under-reporting (issue #175).
Free, no side effects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It explicitly states 'Free, no side effects,' discloses the inclusion of unregistered tools with 'registered: false', and explains the canonical-UUID design rationale (tool_id stays stable while mcp_name can change). It also discloses the live wire-surface diff behavior. The description adds substantial context beyond what any structured field would provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is informative but somewhat verbose at ~200 words for a zero-parameter list tool. There's some redundancy: the 'unregistered' flag/drift concept is explained twice (once for UUID-missing tools via #174, once for wire-surface diff via #175). The core message could be tightened, though each section does add distinct value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a low-complexity zero-param tool with an output schema present. The description thoroughly covers what's returned, why it matters, how it's used by Reconcile, and the drift-detection behavior. It also explains behavioral nuances (UUID stability across renames) that an agent needs to interpret results correctly. Complete for this tool's purposes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
This tool has 0 parameters and 100% schema coverage, so the baseline is 4 (no params means description needn't compensate). The description notes what the output array contains (tool_id, mcp_name, registered flag, top-level unregistered array), providing semantic context for the returned data despite no input params.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource construction: 'Return canonical (tool_id, mcp_name, …) for every tool the wheel exposes.' It clearly distinguishes itself from siblings by focusing on the canonical identity mapping and UUID reconciliation, which no sibling tool name suggests.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states it is 'The authoritative source for any client (Studio, agents, FE)' and that 'Reconcile uses this output to UUID-join against the stored pricing model.' It also names specific downstream consumers and clearly delineates what this tool does versus sibling identity/provenance tools.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| since_ms | No | Epoch-ms lower bound on change time; 0 (default) = any time. | |
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavioral traits. It does not mention read-only nature, authentication requirements (dpop_token parameter hints at auth but not stated), pagination, or performance implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise (single sentence), but lacks any structure or elaboration. Could be improved with brief parameter notes or usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 3 optional parameters and no output schema. The description does not clarify output shape, whether since_ms filters 'every' capability, or what 'capability' means in this domain. Insufficient for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (since_ms described), but description adds no parameter information. The description does not explain how npub, since_ms, or dpop_token affect the listing, leaving agents to infer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists capabilities for 'semantic intent-matching', which distinguishes it from sibling tools like explain/upsert. However, it does not explicitly differentiate from similar list tools (e.g., 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.
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_explain_capability or cypher_upsert_capability. The description is purely imperative.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It explains the return contents (type, category, description, parameter specs) and notes it's free. No side effects or destructive actions are implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences: purpose, return details, cost. No fluff, every sentence is informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema, the description doesn't need to detail return values. It sufficiently describes the scope and cost, making it complete for a list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and schema coverage is 100%. The description adds no additional parameter info, but the baseline for no parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all constraint types and their parameter schemas. The verb 'list' and resource 'constraint types' are specific, and no sibling tool duplicates this purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says 'Free — no credits required,' indicating it can be used without cost. While it doesn't mention when not to use, the context is sufficient for such a simple tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_list_couponsBInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. States access restriction and data included, but lacks details on failure modes or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise, three sentences front-loading purpose and data description. Lacks parameter explanation but otherwise efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema is present but not detailed. Description covers purpose and data but omits parameter semantics and potential pagination or limits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description does not explain the dpop_token parameter or how to obtain the required proof.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool lists coupons minted by the operator, ordered newest first, and distinguishes from sibling tools like cypher_list_my_coupons.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Specifies that the tool is RESTRICTED to operators and requires proof, but does not mention when to avoid this tool or compare with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_list_invariantsCInspect
List every enforceable invariant.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| since_ms | No | Epoch-ms lower bound on change time; 0 (default) = any time. | |
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states 'list' (a read operation) but does not mention any side effects, permissions, pagination, or ordering. This is insufficient for a tool with 3 parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, which is efficient, but it sacrifices necessary detail. It packs no information beyond the name, so it is under-specified rather than appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of 3 parameters, no output schema, and many sibling tools, the description fails to provide sufficient context. The agent cannot reliably determine how to filter invariants or interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (33%), with only 'since_ms' having a description. The tool description does not explain the meaning or purpose of 'npub', 'since_ms', or 'dpop_token', leaving the agent without needed context for correct usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List every enforceable invariant' clearly indicates the action (list) and the resource (invariants), but it does not differentiate from sibling tools like cypher_assert_invariant or cypher_guard_invariant_symbol, which could be confused.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 such as cypher_assert_invariant or cypher_guard_invariant_symbol. The agent is left to infer the context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_list_issuesCInspect
List every triaged issue for the Issues register.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| since_ms | No | Epoch-ms lower bound on triage/scope time; 0 (default) = any time. | |
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must convey behavioral traits. It only states it lists triaged issues, omitting whether it is read-only, requires authentication (likely dpop_token), pagination, or effect on system state. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise, but it is too terse and lacks crucial information. It earns its place by stating the core purpose, but fails to deliver additional value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given three parameters, no annotations, and no output schema, the description is severely incomplete. Does not explain parameters, return values, or usage context compared to related tools like cypher_claim_issue.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description does not mention any of the three parameters (npub, since_ms, dpop_token). With schema description coverage at only 33% (only since_ms documented in schema), the tool description adds zero value for parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action (list), resource (triaged issues), and scope (Issues register). Distinguishes from issue-modification siblings like cypher_claim_issue or cypher_report_issue. However, 'triaged' is not defined, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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_claim_issue or cypher_report_issue. No mention of 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_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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | ||
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description fully discloses behavior: it lists redeemed coupons, returns both active and exhausted with specific status values, and is free. It also notes the required npub proof, which aligns with the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short (two sentences plus a list) and front-loaded with the main purpose. Every sentence adds value, with no redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema (not shown) which likely covers return values; the description mentions status values. However, it lacks parameter explanations and does not address any side effects or limitations. Still, it is mostly complete for a simple read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description does not explain the npub or dpop_token parameters beyond mentioning npub proof. It fails to add meaning to the parameter semantics, leaving the agent uninformed about their purpose or format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and resource 'coupons this patron has redeemed on this operator', distinguishing it from siblings like cypher_list_coupons. It also specifies the returned statuses and the prerequisite (npub proof).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use: to view a patron's redeemed coupons. It mentions it's free and requires npub proof, but does not explicitly state when not to use it or compare with alternatives like cypher_list_coupons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_list_notarizationsCInspect
List recent Bitcoin notarization records.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum records to return (default 20). | |
| status | No | Optional filter (e.g., 'submitted', 'confirmed'). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It fails to state read-only nature, authorization needs, or any side effects. The single sentence is insufficient for transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (7 words) but lacks essential details, making it under-specified rather than efficiently compact. Every word should add value, but here they miss necessary context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 and many sibling tools, the description is far too minimal. It does not explain 'recent,' output format, or how status filtering works. The tool has simple parameters but 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter having a description in the schema. The tool description adds no extra meaning beyond what the schema already provides, so baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'List' and identifies the resource as 'recent Bitcoin notarization records,' which is clear and differentiates from sibling tools like get_notarization_proof or notarize_ledger. However, it lacks specificity on scope (e.g., user-specific or global) and the meaning of 'recent'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 or situational advice. The description is minimal and provides no context for appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_list_patent_elementsCInspect
List every filed patent reference numeral.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| since_ms | No | Epoch-ms lower bound on change time; 0 (default) = any time. | |
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears full responsibility for disclosing behavior. It only states that it lists elements, without mentioning read-only nature, response volume, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
While the description is short, it is too minimal to be useful. It lacks structure and does not front-load critical information. Important context is omitted for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the three parameters and the presence of sibling tools for patent elements, the description fails to explain the output, filtering options, or relationship to other tools. It is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only since_ms has a description). The tool description adds no meaning for the parameters; it does not mention npub, since_ms, or dpop_token at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'List' and resource 'patent reference numerals', making the basic purpose clear. However, it does not distinguish from siblings like 'cypher_explain_patent_element' or 'cypher_upsert_patent_element'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, nor any context about prerequisites or when not to use it. The description lacks any usage direction.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. The operator's npub (npub1...). | |
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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 only hints at access restriction ('Operator-only') and read-only nature, but omits details on authentication, failure modes, or output behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words, conveying the essential purpose and access restriction efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 incomplete: it does not clarify the role of dpop_token or that npub is effectively required. For a tool with many siblings, more context about what constitutes 'published query keys' would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 50% schema description coverage, the tool description adds no extra meaning to the parameters. The dpop_token parameter remains unexplained, and the npub description in the schema is duplicated; no compensatory information is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'list', the resource 'published query keys', and the scope 'operator's', effectively distinguishing it from sibling tools like cypher_get_query or 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While the description states 'Operator-only', it fails to provide explicit guidance on when to use this tool versus alternatives (e.g., cypher_get_query), nor does it mention any 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_mark_funding_stateAInspect
Reflect an LLM-credit outage (or its clearance) in the intention graph.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Canonical GitHub URL of the issue/PR, carried from the CI run at runtime (github.server_url + repository) — never derived from a hardcoded owner. Lets the graph hyperlink straight to GitHub. | |
| kind | Yes | The deferred work-item's kind: 'issue' or 'pr'. | |
| npub | No | ||
| state | Yes | 'awaiting-funds' when a credit outage defers the item; 'clear' when the canary confirms funding is restored. | |
| number | Yes | The issue or PR number the outage deferred. | |
| repo_name | Yes | Repository name. | |
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention side effects, permissions, idempotency, or error conditions. The statement 'reflect ... in the intention graph' is ambiguous about whether the operation is destructive or what exactly changes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with zero wasted words. Front-loaded with the core action and target, every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 7 parameters and no output schema, the description offers only high-level purpose. It does not explain what the tool returns, prerequisites, error handling, or how the intention graph update works. A more complete description would include these for reliable agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 71% (high), so baseline is 3. The description adds value by explaining the role of the 'state' parameter ('awaiting-funds' vs 'clear') and tying the parameters to the overall action of reflecting outage/clearance. This enhances semantics beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'reflect' and resource 'LLM-credit outage/clearance', and identifies the target 'intention graph', clearly distinguishing it from sibling tools which focus on accounting, queries, or other operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used when an LLM-credit outage occurs or is cleared, but provides no explicit guidance on when to use alternatives or exclusions such as not to use it for non-credit-related funding states. Lacks differentiation from possibly related sibling (e.g., cypher_retire_funding_block).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_mark_invariant_contradictionCInspect
Mark two invariants as contradictory.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| name_a | Yes | One side of the contradiction (Invariant name). | |
| name_b | Yes | The other side of the contradiction (Invariant name). | |
| reason | Yes | Why these two invariants are incompatible. | |
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing behavioral traits. It only says 'mark', implying a state change, but does not explain side effects, idempotency, authorization requirements, or potential failures.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It is front-loaded with the action and object, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with 5 parameters, no annotations, and no output schema. The description is too terse to cover essential context like side effects, prerequisites, or error cases, leaving the agent underinformed for safe and correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 60% of parameters with descriptions (name_a, name_b, reason), which are self-explanatory. The tool description adds minimal parameter meaning beyond the schema, and the optional npub and dpop_token remain undocumented in both the description and schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Mark two invariants as contradictory' uses a specific verb and resource, clearly indicating the action. It distinguishes from sibling tools like cypher_assert_invariant and cypher_audit_what_contradicts by focusing on marking a contradiction. However, it could be more explicit about whether this creates, updates, or only links entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, such as cypher_assert_invariant or cypher_audit_what_contradicts. No mention of prerequisites, such as whether the invariants must already exist, or any context for appropriate use.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The catchy code patrons type to redeem (operator-scoped uniqueness). | |
| dpop_token | No | ||
| total_uses | No | Aggregate cap across all patrons (default None = unlimited). | |
| valid_from | Yes | ISO-8601 datetime when the coupon becomes active. | |
| valid_until | Yes | ISO-8601 datetime when the coupon expires. | |
| uses_per_patron | No | How many tool calls one patron can claim the discount on (default 1; pass null/None for unlimited within the window). | |
| discount_percent | Yes | Percentage off the base price (0-100). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states 'Create,' implying mutation but fails to mention side effects, permission requirements, idempotency, or whether the coupon becomes immediately active.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single clear sentence is concise and front-loaded. No additional structure is needed for such a short description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters, 4 required, and an output schema, the description is too minimal. It fails to explain validation, uniqueness of 'name', default values, or the nature of the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86% (high), so baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions; it merely repeats the tool purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Create') and resource ('operator-owned discount coupon'). This directly distinguishes it from sibling tools like cypher_update_coupon, cypher_delete_coupon, and cypher_redeem_coupon.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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_update_coupon or cypher_redeem_coupon. There are no prerequisites, context, or when-not-to-use instructions.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the key behavioral aspects: builds a Merkle tree, submits to Bitcoin, confirmation delay, and cost. No annotations were provided, so the description carries the full burden; it does well but could mention idempotency or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. It front-loads the core action and adds essential context about operator restrictions, timeline, and cost.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and the existence of an output schema, the description covers all needed context: what the tool does, who can use it, how long it takes, and cost. It is complete for a trigger tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so schema coverage is 100%. Per guidelines, 0 parameters earns a baseline of 4, and the description adds no further parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 patron balances and submits the root to Bitcoin via OpenTimestamps. It specifies it is an operator-only background task, distinguishing it from related tools like cypher_get_notarization_proof.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context: it is an operator-only background task with a 1-6 hour confirmation time and is free. It does not explicitly list alternatives or when not to use, but the context is sufficient for an experienced user.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| reason | Yes | Why the issue was rejected (spam, out-of-scope, injection, ...). | |
| repo_name | Yes | Repository name. | |
| dpop_token | No | ||
| issue_number | Yes | GitHub issue number. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only says 'Record', implying a write operation, but does not explain side effects, idempotency, authorization requirements, or what happens after recording (e.g., stored where, any triggers). The description is too minimal to provide adequate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words. It is front-loaded with the essential action. However, it could be slightly expanded to include context without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and the simplicity of the action (recording a reason), the description is minimally adequate. However, it does not clarify the meaning of 'Porter', expected input formats, or any relations to other entities. For a tool with 5 parameters, more context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 60% (3 of 5 parameters have descriptions). The tool description does not add any parameter details beyond what is in the schema. For instance, npub and dpop_token are undocumented in the schema and not mentioned in the description. This meets the baseline for medium coverage but does not add value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 context 'why the Porter rejected an issue'. It indicates the tool's purpose without ambiguity, though it assumes domain knowledge about 'Porter'. The name itself distinguishes it from siblings like cypher_route_rejection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidelines on when to use this tool vs alternatives. It does not specify prerequisites, postconditions, or scenarios where this tool should be chosen over similar tools like cypher_route_rejection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_oracle_aboutCInspect
Describe the DPYC ecosystem via the Oracle. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry the burden of behavioral disclosure. The description only says 'Describe' and 'Free', which is minimal. It does not disclose any side effects, authentication needs, or output characteristics beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief (two short sentences), which is appropriate for a tool with no parameters. It is front-loaded and wastes no words, though could add a bit more context without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no parameters and an output schema exists, so the description is adequate but minimal. It explains the core purpose but lacks usage guidance. Given the simplicity, a score of 3 is appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, and schema coverage is 100%. Baseline is 3 per guidelines. The description adds no parameter meaning beyond the schema, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool describes the DPYC ecosystem via the Oracle. It distinguishes from sibling oracle tools which are more specific (e.g., cypher_oracle_get_tax_rate). The verb 'describe' and resource 'DPYC ecosystem' are specific and clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. With many sibling oracle tools, explicit usage context is missing. The description does not mention when to choose this over other oracle tools.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states 'Get' and 'Free', but fails to disclose any behavioral traits such as caching, rate limits, or side effects. Minimal information beyond the basic purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with only two short sentences, each serving a purpose. It is front-loaded and contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there are no parameters and an output schema exists, the description is adequate for a simple tool. However, it lacks any context about the output or how the tax rate is calculated, making it minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema description coverage is 100%. The description adds no parameter information, but none is needed. Per guidelines, baseline is 4 for no parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'current DPYC certification tax rate', making the tool's purpose immediately obvious. It also adds 'Free' to indicate no cost, which helps distinguish it from other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives. Since it's a simple getter, usage may be inferred, but there is no context about when it should be preferred.
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_joinAInspect
Get DPYC onboarding instructions from the Oracle. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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 traits. It only mentions 'Free', which is a minor behavioral hint. There is no disclosure of authentication needs, side effects, rate limits, or output format, leaving significant gaps for a read-only information tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—two short sentences front-loading the primary action and adding a minor qualifier. Every word earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and an output schema (whose content is unknown but available), the description is nearly complete. It could specify the return format (e.g., text or URL) but is adequate for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, schema coverage is trivially 100%. Baseline is 4, and the description adds no parameter details (none needed). It does not exceed baseline but meets it adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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' with a specific verb ('Get') and resource ('DPYC onboarding instructions'), clearly distinguishing it from siblings like cypher_oracle_about or cypher_oracle_lookup_member. The addition of 'Free' provides extra context without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage context is implied through the tool name and description (for obtaining onboarding instructions), but there is no explicit guidance on when to use this tool versus alternatives. No exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_oracle_lookup_memberBInspect
Look up a DPYC community member by npub. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It mentions 'Free' as a behavioral trait, which adds value. However, it does not disclose other important aspects like authorization requirements, rate limits, or whether the lookup is read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, no redundant information, and front-loaded purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 can be minimal. However, it lacks context to differentiate from sibling tools and does not explain what a 'DPYC community member' is, which may hinder selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description only adds 'by npub' which is obvious from the parameter name. No format, examples, or constraints are provided to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (look up) and resource (DPYC community member) with a specified parameter (npub). However, it does not distinguish this tool from similar siblings 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.
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 over alternatives. The context of siblings suggests other lookup tools, but the description offers no comparison or conditions.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description only adds 'Free' as a behavioral trait. It does not disclose idempotency, side effects, authentication needs, or rate limits. However, the tool is a simple read with no parameters, so minimal disclosure is somewhat acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: two sentences that immediately convey the purpose and cost. Front-loaded with the verb. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple query tool with an output schema, the description adequately states the action and cost. Lacks details on advisory scope or format, but output schema likely covers that. Reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. The description adds no parameter info, but none is needed. Baseline 4 for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'Get' and resource 'active network advisories from the Oracle'. Distinguishes implicitly from sibling Oracle tools like cypher_oracle_about, but does not explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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_oracle_get_tax_rate or cypher_oracle_how_to_join. Mentions 'Free' but no context on 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_public_factory_statsAInspect
Aggregate-only factory stats for the unauthenticated landing pages.
Free — no credits, no npub proof. Returns counts only (capabilities, invariants, issues, services, symbols), the resolved_via mix (graph | scoped-grep | wide-grep), and a last-activity timestamp. Never returns issue titles, symbol paths, or npubs.
Hard-cached in-process (~5 min) so a sleeping AuraDB free tier is not woken on every page view. Safe for cold Bolt: failures return an empty available=false payload rather than raising.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden and excels. It discloses caching behavior ('Hard-cached in-process (~5 min)'), error handling ('failures return an empty available=false payload rather than raising'), and what data is never returned ('Never returns issue titles, symbol paths, or npubs'). This is thorough and actionable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, using three short paragraphs: purpose, content/constraints, and caching/error behavior. Every sentence provides unique value without redundancy. It is front-loaded with the primary purpose and prioritizes the most important operational details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters) and the presence of an output schema, the description is highly complete. It covers what the tool returns, what it omits, caching behavior, and failure semantics. There are no significant gaps for an agent to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is 100% by default. The description adds meaning beyond the empty schema by detailing the output structure: counts for five entity types, resolved_via mix, and a timestamp. This compensates for the lack of parameters and fully informs the agent of what to expect.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides 'Aggregate-only factory stats for the unauthenticated landing pages,' with a specific scope and content (counts, resolved_via mix, timestamp). It also explicitly distinguishes it from more detailed tools by noting it 'Never returns issue titles, symbol paths, or npubs,' which differentiates it from sibling tools like cypher_factory_resolution_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It specifies when to use: 'for the unauthenticated landing pages' and highlights that it is 'Free — no credits, no npub proof,' implying it is suitable for public/anonymous contexts. It also says 'Safe for cold Bolt,' providing operational guidance. However, it does not explicitly name alternatives or state 'use instead of X,' so it lacks explicit exclusion criteria.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | The patron's Nostr public key the event must be signed by. | |
| signed_event | No | A JSON-encoded, client-signed kind-0 event. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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 wheel verifies the signature matches the npub before relaying, and states it's free. Missing details on error conditions (e.g., signature mismatch) but still provides good 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short paragraphs, front-loaded with the action, no fluff. Every sentence adds value: what the tool does, security model, and cost.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no required params, high schema coverage), the description covers purpose, security, and cost adequately. Output schema exists, so return values need not be explained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds context that signed_event is a client-signed JSON and that npub is the public key the event must be signed by, which matches the schema. No significant extra value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('publish'), resource ('kind-0 profile'), and scope ('to relays for an npub'). It distinguishes from sibling tools like cypher_get_nostr_profile by specifying the action is publication of a client-signed event.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use this tool (when you have a client-signed kind-0 event) and what not to expect (no key custody, no proof token). It implicitly contrasts with tools that handle key custody, though it could explicitly state 'use this when the frontend has signed the event'.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | An existing catalog query key (see ``list_queries``). | |
| npub | No | Required. The operator's npub (npub1...). | |
| dpop_token | No | ||
| tool_intent | No | One-line description shown as the tool's purpose (defaults to the query's description). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses key behaviors: tool names as cypher_<key>, immediate registration but unpriced state, return message 'not priced yet (TBD)', key validation regex, and need to reconnect. Could mention conflict handling if key already published, but overall informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise three-paragraph structure with no fluff. First sentence captures essence, subsequent details are front-loaded and relevant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers key aspects: operator restriction, naming, pricing, and key validation. However, missing error scenarios (e.g., key not found, duplicate key) and dpop_token usage. Output schema exists, so return values not needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, baseline near 3, but description states npub as 'Required' while schema lists it as optional with default, creating a contradiction. Also dpop_token lacks schema description and description adds no value. tool_intent correctly explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'expose' and resource 'catalog query as a named, typed MCP tool'. Distinguishes from sibling 'cypher_execute_query_by_key' by stating patrons use the published tool instead. Naming convention and operator-only scope are explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Operator-only' to restrict usage, and advises patrons to call the published tool 'instead of execute_query_by_key'. also explains pricing implication that tool starts unpriced, guiding when it can 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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | The Nostr public key (npub1...) the credits will fund. | |
| dpop_token | Yes | Raw 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_sats | No | Satoshis to purchase (default 1000). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility. It discloses that the tool creates a Lightning invoice and requires dpop_token for proof of ownership. It also states the call is free. However, it does not mention invoice expiry, idempotency, or error behavior, which would enhance transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (4 sentences) and front-loaded with the main action. Every sentence adds value, but some details could be structured more clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (purchasing credits via Lightning) and the existence of an output schema, the description covers the core flow, prerequisites, and cost. However, it lacks details on invoice expiry and recovery from failed payments, leaving minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, with detailed descriptions for each parameter. The tool description does not add new semantic value 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: "Buy credits via Bitcoin Lightning. Creates a Lightning invoice." It specifies the resource (credits) and the payment method (Bitcoin Lightning), and distinguishes itself from siblings like cypher_check_payment by outlining the next step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage guidance: pay the invoice with any Lightning wallet, then call check_payment. It also notes prerequisites (proof of npub ownership) and that the call itself is free. However, it does not explicitly state when to avoid using this tool or list alternative purchase methods.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| service | No | Required. The credential service name (must match the service used in request_credential_channel). | |
| dpop_token | No | Required. The session phrase returned by request_credential_channel for this exact channel. | |
| sender_npub | No | Required. The npub that sent the credentials. | |
| credential_card | No | Optional. An ncred1... card to redeem directly (bypasses the relay drain; dpop_token not needed). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully details deterministic one-shot retrieval, draining only the relevant relay, deletion of wrong DMs, first-match acceptance, and result scenarios like courier_not_found. It also explains credential_card bypass and payment processor reinitialization.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph but well-structured, with all relevant info. It is slightly dense but not verbose; every sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, two distinct paths, and an output schema), the description is complete. It covers when to call, how each parameter works, behaviors for success/failure, and post-call effects. No gaps are apparent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning beyond the schema by explaining the roles of sender_npub, service, dpop_token as a session phrase, and credential_card as optional bypass. Schema coverage is 100%, so baseline is 3; the description adds sufficient extra context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool picks up credentials from the Secure Courier, completing the CREDENTIAL-DELIVERY flow. It distinguishes from sibling 'receive_npub_proof' as the ownership-proof counterpart, using specific verbs and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says 'Call this only after the user confirms they have replied' and warns against polling, looping, or retrying. It describes when to use the credential_card path vs. the relay path, but does not explicitly list alternatives to this tool outside of the flow.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | No | Required. The dpop_token returned by request_npub_proof. | |
| patron_npub | No | Required. The patron's npub to receive proof from. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses behavior: drains only the pinned relay, identifies the correct DM, deletes mismatched DMs without revealing the phrase, and explains that the signed DM proves ownership. It also details the return value and token storage policy.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear one-sentence purpose followed by a detailed breakdown. Every sentence adds value, though it could be slightly more concise without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all necessary aspects: prerequisites, behavior, error handling, return values, and post-call requirements. Despite having an output schema (not shown), it comprehensively explains the tool's role in the protocol.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds meaningful context beyond the schema: `dpop_token` is 'the value returned by `request_npub_proof`' and its purpose in the overall flow. This enhances understanding despite high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Receive npub ownership confirmation from a patron' and places it within the npub-OWNERSHIP-PROOF flow, differentiating it from the sibling `receive_credentials`. The verb 'receive' and resource are specific, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states it should be called 'only after the user confirms they have replied', and warns 'Do NOT poll, loop, or retry'. It also describes the consequence of premature calls. While it doesn't list alternative tools, the guidance is strong and clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_recent_activityCInspect
List every domain object changed within a date window, across all node types.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| since_ms | No | Epoch-ms lower bound on change time (inclusive); 0 = from the beginning. | |
| until_ms | No | Epoch-ms upper bound on change time (exclusive); 0 (default) = open (now). | |
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It does not disclose authentication needs, destructive potential, rate limits, or what 'changed' means (creation, update, deletion). Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded, no wasted words. However, it is so concise it omits useful context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description should explain return values. Missing auth context, pagination, or clarification of 'changed'. Incomplete for a 4-parameter tool with no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (only until_ms described). Description only implies date-window parameters via 'date window' but leaves npub and dpop_token unexplained. Adds little beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists every domain object changed within a date window across all node types. This distinguishes it from other list tools (e.g., cypher_list_capabilities) that target specific entity types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool over alternatives like cypher_list_*. No explicit when-not or recommended context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_record_scopeCInspect
Record the actionable spec and the code-location method for an issue.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| repo_name | Yes | Repository name. | |
| dpop_token | No | ||
| issue_number | Yes | GitHub issue number. | |
| resolved_via | Yes | How the code was located: 'graph' | 'scoped-grep' | 'wide-grep'. | |
| actionable_text | Yes | The Porter's rough-English -> actionable spec translation. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fails to disclose critical behavioral traits. It implies a write operation but does not explain idempotency, authentication requirements (npub, dpop_token), or side effects. The term 'Record' is vague.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, but it is too brief for a tool with 6 parameters. It sacrifices essential details for brevity, making it less useful for precise invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's 6 parameters, no annotations, and no output schema, the description is incomplete. It lacks information on return values, authentication, and how this tool fits into the workflow (e.g., relation to cypher_record_triage and cypher_report_issue).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no meaning beyond the input schema for the 4 described parameters. It ignores the two undocumented parameters (npub, dpop_token) entirely, providing no context for them. Schema coverage is 67%, but the description does not compensate for the gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to record the actionable spec and the code-location method for an issue. It uses a specific verb ('Record') and identifies distinct resources, which helps differentiate it from siblings 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.
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 prerequisites, such as the issue must already exist, nor does it contrast with related tools like cypher_record_triage or cypher_link_issue_to_capability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_record_triageBInspect
Record the Porter's triage of a GitHub issue.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| title | Yes | Issue title. | |
| repo_url | Yes | The repository's actual GitHub URL (gh repo view --json url). | |
| issue_url | Yes | The issue's actual GitHub URL (gh issue view <n> --json url). | |
| repo_name | Yes | Repository name. | |
| dpop_token | No | ||
| disposition | Yes | Routing disposition, e.g. 'agent/fix', 'rejected', 'blocked/upstream'. | |
| issue_number | Yes | GitHub issue number. | |
| classification | Yes | type/* classification, e.g. 'bug'. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It mentions 'record triage' but does not disclose side effects, idempotency, permissions, or what happens if a duplicate triage is attempted. The behavior beyond the basic action is opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It could benefit from slight expansion (e.g., clarifying 'Porter'), but it remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 required parameters and no output schema, the description is too sparse. It fails to explain the recording mechanism, return value, or how it integrates with other issue tools, leaving significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 78% schema description coverage, the schema already provides useful descriptions for most parameters (e.g., disposition examples). The tool description itself adds no additional parameter context beyond schema defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (record triage) and the resource (GitHub issue), using a specific verb and noun. It distinguishes from siblings like 'cypher_claim_issue' or 'cypher_report_issue' by focusing on triage recording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. Given many issue-related sibling tools (e.g., 'cypher_claim_issue', 'cypher_route_rejection'), the description should explicitly indicate the context for triage recording.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | ||
| npub | Yes | ||
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It states the tool validates window and total cap, records a redemption, is idempotent, and that subsequent calls auto-apply discount. It does not explicitly describe error handling on validation failure or response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences with clear progression: purpose, process, ongoing effect, and idempotency. No redundant information; each sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and 0% schema coverage, the description covers core behavior: validation, idempotency, free usage, and npub requirement. It lacks details on dpop_token and possible error conditions, but is mostly complete for a redemption tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains 'code' as the coupon name shared by operator and 'npub' as requiring proof. However, the third parameter 'dpop_token' is not mentioned at all. With 0% schema coverage, the description partially compensates but misses one parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Claim a coupon by its name (the code the operator shared).' This clearly identifies the action (claim), resource (coupon), and input (code). It distinguishes from sibling tools like cypher_list_coupons or cypher_mint_coupon.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates this is for redeeming a coupon ('Claim a coupon by its name') and notes that it is free and requires proof of npub. However, it does not explicitly mention when not to use it or provide direct comparison to alternatives.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| repo_name | Yes | Repository name, e.g. 'tollbooth-sample'. | |
| repo_npub | Yes | The service's own Nostr npub (the repo as an actor). | |
| dpop_token | No |
Tool Definition Quality
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 such as idempotency, side effects, authorization requirements, rate limits, or what happens to existing registrations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but lacks necessary detail. It could be improved by adding more context without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and annotations, and the presence of four parameters, the description is far too minimal. It does not explain the registration process, idempotency, or what the tool returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (two of four parameters have descriptions). The tool description adds no additional meaning to the parameters; it merely lists them in the schema without context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'register', the resource 'repo', and the target 'Service node in the factory graph'. It is specific and distinct 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.
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 or exclusions. The usage context is only implied by the purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_report_issueAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | The details — which tool, what was wrong, what you expected. | |
| npub | Yes | Your Nostr public key (npub1...); the report's author of record. | |
| title | Yes | One-line summary of the problem. | |
| tool_name | No | Optional: the specific tool the report is about (e.g. "schwab_get_option_chain"). | |
| dpop_token | Yes | Raw 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
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully bears the burden. It discloses that it creates a public GitHub issue, requires an npub as author of record, charges a fee, and returns issue details or a 'not configured' situation. It also details the dpop_token requirements (raw JSON, specific event kind, constraints). This is comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose in the first sentence and efficiently adds context in subsequent sentences. At ~100 words, it is concise but covers all necessary aspects without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, required authentication, cost, public reporting), the description covers all necessary context: what it does, how to authenticate, what happens on success (returns repo, number, url), and the edge case (not configured). An output schema is present, so return details are sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 100%, the description adds significant meaning beyond the schema. It explains that 'npub' is the author of record, 'body' contains details, 'dpop_token' must be raw JSON of a kind-27235 event with specific constraints, and 'tool_name' is optional. This aids correct usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'File a field report about this service as a GitHub issue on the operator's repo.' It uses a specific verb and resource, and the unique purpose distinguishes it from numerous sibling tools (e.g., cypher_list_issues, cypher_check_payment).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on when to use the tool (when a tool's metadata or response is wrong/confusing) and mentions prerequisites (npub, dpop_token) and a cost. It does not explicitly compare to alternatives, but the unique purpose makes guidance clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | optional message for the Authority owner. | |
| dpop_token | No | operator-npub ownership proof (inline kind-27235 or cached token). | |
| service_url | No | this operator's MCP endpoint (advertised to the Authority). | |
| authority_npub | Yes | npub of the Authority to request adoption from. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
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 thoroughly explains the flow: resolving the Authority's endpoint, minting an ownership proof, delivering MCP-to-MCP, and the deferred nature of the approval. It also describes the eventual outcome (operator flips to ready).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose and then elaborates on the process. It is slightly long but every sentence contributes essential information. Could be slightly more concise by merging the sentences about the process without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (4 parameters, one required, with an output schema), the description covers the entire workflow, prerequisites, and the deferred nature. It even references a sibling tool for polling. The output schema exists, so the description correctly avoids explaining return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for each parameter. The description adds value by explaining the role of `dpop_token` as an ownership proof and `service_url` as the operator's MCP endpoint, which goes beyond the schema descriptions. However, it does not detail the `note` parameter's purpose beyond 'optional message', which is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Ask' and the resource 'Authority to adopt this operator', and distinguishes it from the sibling tool 'adoption_status' by describing the initial request step. The phrase 'deferred courtship' adds clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the restriction to the operator and the requirement for ownership proof. Explains the process and suggests polling adoption_status. However, does not explicitly mention when not to use this tool or provide alternative tools for different scenarios.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| service | No | Required. The credential service name (e.g., from get_operator_onboarding_status or get_patron_onboarding_status). | |
| sender_npub | No | Required. The npub to send the template to. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It fully discloses the human-in-the-loop flow, the need to stop and tell the user, the requirement to wait for user confirmation before calling 'receive_credentials', and the destructive nature of the relay mailbox drain. Covers all key behavioral aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise and well-structured. Starts with a clear one-liner, then a paragraph with usage guidance, then flow details, then specific instructions. Front-loaded with purpose. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that output schema exists and no annotations, the description is complete: it covers the purpose, when to use, the asynchronous flow, human intervention requirement, and post-call actions. References sibling tools appropriately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. Description adds context by explaining that 'service' is the credential service name from specific tools and that 'sender_npub' is the target npub. Also ties parameters to the overall flow of sending a DM template.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Open a Secure Courier channel for credential delivery' and distinguishes from 'request_npub_proof' by specifying that this is for credential delivery (API keys, tokens) versus proving npub control. It also notes dynamic services need no couriered secret.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use this tool (for credential delivery) and when not to (for npub proof or dynamic/OAuth2 services). Provides alternatives: 'request_npub_proof' and 'check service_status first'. Also gives step-by-step instructions for the human-in-the-loop flow.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Optional. 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. | |
| verify_at | No | Optional. A free-form statement of WHERE you (the initiating agent) already showed this proof's one-time code to the user — a URL, or "your Claude.ai conversation", "the Grok session". The OAuth 2.0 Device Grant ``verification_uri``, generalized: the user approves only if the code in the DM matches the one you displayed there, so an unsolicited request they've never seen is refused. Signed into the attestation. | |
| patron_npub | No | Required. The patron's npub to request proof from. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description discloses key behaviors: sends challenge DM, human-in-the-loop, destructive drain of relay on receive, dpop_token management, expiration, and that the proof does not deliver service secrets. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with clear sections, front-loaded purpose and differentiator. Slightly verbose but every sentence adds necessary detail for a complex async flow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers lifecycle, expected output (dpop_token), process steps, and expiration. Despite complexity, the description is complete given the presence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with good descriptions. The tool description adds contextual value by explaining the reason and verify_at parameters in the flow (provenance attestation, verification URI).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool requests an npub ownership proof via Nostr DM, distinguishes it from similar tools like request_credential_channel and receive_npub_proof, and explains what it does not do (deliver service secret).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use (when proof_required is returned), provides alternatives (request_credential_channel), and gives step-by-step instructions including stopping, telling user, waiting, and calling receive_npub_proof. Also warns against polling and explains lifecycle.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the destructive nature (erasing all models) and the reinitialization process. It also notes the integrity of the new model (proper UUIDs, 0 sats). Could be improved by mentioning if there are any side effects or dependencies, but the core behavior is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the main action. Every sentence adds value: action, method of reset, auth requirement. No extraneous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the destructive reset nature, the description covers the action, the return (new model), and the authentication requirement. An output schema exists, so return values are detailed there. The description is complete for an operator tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'dpop_token' has no description in the schema and is not explained in the tool description. Schema description coverage is 0%, so the description should compensate but does not. The parameter likely relates to the required auth proof, but this is not clarified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 default. It specifies the action (deletes every stored model, self-initializes a fresh one) and the result (returns new model). This distinguishes it from siblings like cypher_set_pricing_model, which updates individual settings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly restricts usage to operators with nsec-signed proof. It implies not for regular updates (use cypher_set_pricing_model instead). However, it does not explicitly list alternative tools or specify when not to use it beyond the operator restriction.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | Yes | A kind-27235 Nostr event signed by the OPERATOR's nsec for this tool. Patron proofs are rejected. | |
| invoice_id | Yes | The BTCPay invoice ID to verify and credit. | |
| patron_npub | Yes | The patron's npub whose ledger receives the grant. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description carries full burden. It discloses restrictions, use cases, and idempotent behavior (returns success with credits_granted=0 if already credited). Lacks explicit statement that it is a write operation, but the context implies ledger mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise and well-structured: bold lead, then paragraph, use cases, idempotency note. Every sentence adds value, no fluff. Front-loaded with purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given medium complexity, no annotations, and presence of output schema, the description fully covers purpose, who can use it, when to use it, and key behavior (idempotency). It is sufficient for an agent to decide and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline 3. Description does not add parameter-specific information beyond the schema; it mentions no parameter names or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Credit a patron's ledger from a BTCPay-settled invoice' with a specific verb and resource. It distinguishes from siblings like cypher_purchase_credits and cypher_check_payment by clarifying it is for operator-only manual crediting after infrastructure incidents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says RESTRICTED to operator, defines when to use (e.g., cold-start vault races, ncred hiccups), and when not (patrons must escalate). Also notes idempotency, guiding agents on safe invocation.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses idempotency, safety (harmless re-run), error handling (surfaces Neon error message), and restriction to operator with signed proof. No annotations provided, so description fully covers behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is 5-6 sentences, front-loaded with core action, followed by context, behavioral details, and restrictions. No fluff; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, output schema exists), the description covers purpose, usage condition, behavior, and restrictions comprehensively. Output schema not required to be explained per rules.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter dpop_token has 0% schema description coverage and is not mentioned or explained in the description. The description references 'nsec-signed proof' but does not clarify its relation to dpop_token, leaving the parameter's meaning completely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (re-run ensure_schema), resource (NeonVault), and purpose (diagnostic/recovery for 4xx errors). Distinguishes itself from the many sibling tools as a niche recovery tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly specifies the condition for use (persistent 4xx errors, suspect schema/grants). Mentions idempotency and restricted access. However, does not explicitly state when not to use 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_retire_funding_blockCInspect
Retire a stale funding block to a historical record when its item closes.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | The work-item's kind: 'issue' or 'pr'. | |
| npub | No | ||
| number | Yes | The issue or PR number whose block is being retired. | |
| repo_name | Yes | Repository name. | |
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It mentions retiring to a historical record, implying mutation, but does not detail side effects, required permissions, or whether the action is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that clearly states the purpose. It is front-loaded with the verb and resource, but could benefit from structured details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and incomplete parameter documentation, the description is insufficient. It does not explain the retirement process, what happens to related data, or prerequisites, leaving significant gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60%; three parameters (kind, number, repo_name) have descriptions, but npub and dpop_token are undocumented. The description adds no parameter information beyond what the schema provides, failing to compensate for the missing descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a clear action (retire) on a specific resource (stale funding block) and a condition (when its item closes). It distinguishes from general funding tools like 'cypher_mark_funding_state', though not explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description hints at when to use ('when its item closes'), providing context. However, it lacks guidance on when not to use or explicit alternatives, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_route_rejectionCInspect
Route a target's rejection reason back to the origin issue.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| reason | Yes | Why the target declined (which DRY boundary / repo actually owns it). | |
| by_repo | Yes | The repo that declined the escalation. | |
| dpop_token | No | ||
| origin_repo | Yes | The ORIGIN repository the escalation routes back to. | |
| origin_issue | Yes | The origin issue number. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is too brief to disclose behavioral traits: side effects, permissions, idempotency, or return behavior. With no annotations provided, the agent lacks crucial 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundancy. However, it could be structured to include key usage context, but it remains efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, no annotations, and 6 parameters (some undocumented), the description is insufficient. It does not explain return values, workflow integration, or necessary preconditions for this routing operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% (4 of 6 parameters have descriptions). The description does not add extra semantics beyond the schema. It is adequate but not compensatory for the undocumented 'npub' and 'dpop_token' parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool routes a rejection reason back to an origin issue. The verb 'Route' and the nouns 'rejection reason' and 'origin issue' identify the core action. However, it lacks differentiation from sibling tools like 'cypher_note_rejection', limiting clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, nor are any prerequisites or exclusions mentioned. The agent has no context to choose this over related tools like 'cypher_note_rejection'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_routing_historyBInspect
Show which repos have declined an issue and why.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| repo_name | Yes | Repository name. | |
| dpop_token | No | ||
| issue_number | Yes | GitHub issue number. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden for behavioral disclosure. It mentions only 'show', implying a read-only operation, but does not confirm safety, idempotency, or required permissions. No disclosure of whether the tool has side effects or authorization needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no redundant information. Could be improved by separating purpose from usage guidelines, but still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema provided, but description doesn't explain return format. Required parameters are listed, but no mention of prerequisites or permissions. Adequate for a read tool but lacks full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (only repo_name and issue_number have descriptions). The description adds 'which repos' and 'issue' context but does not explain undocumented parameters npub and dpop_token. Fails to compensate for missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool shows which repos declined an issue and why, with specific verb 'show' and resource 'repos that have declined an issue'. It effectively distinguishes from siblings like 'cypher_route_rejection' or 'cypher_note_rejection' which are about performing rejections, not viewing history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage for viewing decline history, but does not explicitly state when to use this tool versus alternatives like 'cypher_route_rejection' or 'cypher_note_rejection'. No guidance on exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_service_provenanceDInspect
Pivot to a service — its capabilities, symbols, and issues.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| repo_name | Yes | Repository name. | |
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and a description that only says 'Pivot to a service', there is no disclosure of behavioral traits such as read/write nature, side effects, authentication requirements, or rate limits. The agent has no information on 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise but at the expense of clarity. It consists of one short sentence that fails to convey essential information, making it under-specified rather than efficiently concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has three parameters, no output schema, and no annotations, the description is completely inadequate. It does not explain return values, required context, or how this tool fits into a workflow with many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (only repo_name has a description). The tool description does not explain any of the three parameters (npub, repo_name, dpop_token) or their roles. The agent cannot infer how to use the parameters beyond their types and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Pivot to a service — its capabilities, symbols, and issues.' uses the vague verb 'pivot' and does not clearly specify the action. It gives a general idea of the tool's focus but lacks precision, making it harder for an AI agent to understand what exactly the tool does compared to siblings like cypher_issue_provenance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when or when not to use this tool. There is no mention of alternatives or prerequisites, leaving the agent without context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_service_statusAInspect
Check the health and configuration of this service. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure, but only says 'Check' with no mention of side effects, read-only nature, or operational traits like authentication needs or performance implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short sentence that communicates the purpose efficiently with no wasted words. It is front-loaded and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, but it could add context about what 'health' and 'configuration' encompass. As a simple no-param tool, it is minimally adequate but lacks depth.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to add parameter meaning. According to guidelines, 0-param tools get a baseline of 4, and the description does not detract from that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb (Check) and resource (health and configuration of this service), clearly distinguishing it from sibling tools like cypher_adoption_status or cypher_session_status which focus on specific aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, nor any exclusions or context for its invocation. It simply states what it does without situational advice.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| patron_npub | No | Optional. 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
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It comprehensively explains each state, including implications like retrying not helping for misconfigured or quota_exceeded states, and notes that the tool is free.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
First line states purpose clearly, followed by structured bullet points for each state. While detailed, every sentence adds value; could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all possible lifecycle states with clear actions, and despite no annotations, provides sufficient behavioral context for an agent to determine readiness and next steps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description does not add meaning beyond what the schema already provides for the optional patron_npub parameter. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Check operator readiness' and enumerates specific lifecycle states, distinguishing it from sibling tools that perform other domain-specific operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance for each lifecycle state (e.g., 'Proceed with tool calls', 'Try a tool call', 'Call register_operator first'), making it clear when and how to use the tool.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | No | ||
| model_json | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose all behavioral traits. It covers the authentication requirement but does not explain side effects (e.g., changes to pricing model usage, persistence, or rollback possibility) or error scenarios beyond authorization failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, with the action stated front-loaded. However, the second sentence is lengthy and could be better structured as a bullet or separate line for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, return values are not required in the description. However, critical context is missing: the format and constraints of 'model_json', error handling, effect on existing pricing, and relationship with sibling pricing tools. The description feels incomplete for a setting operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description adds no meaning to the parameters. It does not explain what 'model_json' should contain (e.g., format, structure) or the purpose of 'dpop_token'. The proof requirement is mentioned but not linked to any parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Set the active pricing model,' using a specific verb and resource. It also mentions 'RESTRICTED to operator,' which distinguishes it from sibling tools like cypher_get_pricing_model (read-only) and cypher_reset_pricing_model (reset).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly notes that the tool is restricted to operators and requires a specific proof, giving clear context for eligibility. However, it does not directly state when not to use it or mention alternatives for non-operators, which is a minor gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_suggest_capability_whyCInspect
Offer the Journeyman's read on why a capability exists.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Capability name. | |
| npub | No | ||
| dpop_token | No | ||
| inferred_why | Yes | The Journeyman's best explanation of why this capability exists. |
Tool Definition Quality
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 only says 'Offer...read,' implying a read operation, but does not mention side effects, auth requirements, or error handling. Important behavioral traits are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, which is efficient and front-loaded. However, it sacrifices informativeness for brevity, earning a 4 rather than 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 minimal. It does not explain return values, prerequisites, or behavior when inputs are invalid, leaving significant gaps for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, with required parameters having minimal descriptions. The tool description adds no extra meaning beyond the schema, and optional parameters (npub, dpop_token) are undocumented. Given the gap, the description fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it 'Offer[s] the Journeyman's read on why a capability exists,' which gives a specific verb and resource but uses the unexplained term 'Journeyman.' It does not differentiate from sibling tools like 'cypher_authorize_capability_why' or 'cypher_explain_capability,' making the purpose somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 or what prerequisites are needed. The description lacks explicit context or exclusion criteria, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_symbol_provenanceCInspect
Pivot to a code symbol — its service, capabilities, issues, decisions, invariants.
| Name | Required | Description | Default |
|---|---|---|---|
| fqn | Yes | The symbol's fully-qualified name. | |
| npub | No | ||
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavior. It does not mention safety (read-only vs destructive), authentication needs, rate limits, or side effects. The description only states what the tool does, not its behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one sentence) and front-loaded, but it sacrifices necessary detail. It is concise but lacks structure; there is no explanation of return value or how to interpret the output. It saves words but at the cost of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 3 parameters (one undocumented), the tool description is insufficient for correct invocation. It does not explain what the tool returns, how to use the optional parameters, or any prerequisites. For a tool in a large sibling family, this is a major gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only 33% of parameters have schema descriptions (fqn has a minimal description). The tool description adds no additional parameter semantics for npub or dpop_token, failing to compensate for the low coverage. It does not explain the role of optional parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool pivots to a code symbol and lists several aspects it covers (service, capabilities, etc.), but the verb "pivot" is ambiguous and not immediately clear whether it means retrieve, navigate, or something else. It does distinguish from siblings which focus on single aspects, but could be more precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. Given the large number of sibling tools, explicit usage context or exclusion criteria would help the agent decide correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_symbols_in_serviceCInspect
List a service's indexed symbols.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| repo_name | Yes | Repository name. | |
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states the action and resource, without mentioning read-only nature, authentication needs, rate limits, or effects on the system.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
At five words, the description is too terse and omits critical details. While concise, it sacrifices necessary completeness, making it insufficient for effective agent use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With three parameters, no annotations, and no output schema, the description is drastically insufficient. It does not explain what 'indexed symbols' are, how parameters relate, or what the output contains, leaving the agent with major gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 description). The tool description does not add meaning for npub, dpop_token, or clarify the relationship between params. It 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists indexed symbols for a service, using a specific verb and resource. It distinguishes from siblings like cypher_index_symbol (which likely creates/updates an index) and cypher_symbol_provenance (which retrieves provenance), 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as cypher_index_symbol or cypher_symbol_provenance. The description lacks 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_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.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | ||
| npub | No | Required. The operator's npub (npub1...). | |
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description discloses key behavioral traits: the catalog query persists, only the named tool is removed, and the change is visible after reconnection. It does not cover all edge cases (e.g., republishing), but sufficiently informs the agent of the primary effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (two sentences) with the key purpose and constraint front-loaded. Every word adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description is brief, it covers the essential behavior of the tool. Given the presence of an output schema (not shown), return values are implicitly addressed, but the description could mention prerequisites or error cases. Still, it is fairly complete for a specialized operator tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the description adds no information about parameters. The 'key' parameter is undocumented, and the description does not clarify its purpose or format beyond the schema's minimal entry.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('retire a previously published named tool') and the resource (named tool), and distinguishes it from the similar 'publish_tool' sibling by specifying it removes only the projected tool, not the underlying query.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies 'Operator-only' as a usage constraint but does not explicitly mention when not to use this tool or provide alternatives (e.g., 'publish_tool' for creation). The guidance is implicit but lacks comparative context.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| coupon_id | Yes | ||
| dpop_token | No | ||
| total_uses | No | ||
| valid_from | No | ||
| valid_until | No | ||
| uses_per_patron | No | ||
| clear_total_uses | No | ||
| discount_percent | No | ||
| clear_uses_per_patron | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses mutation behavior and side effects: renaming code is allowed and existing patron redemption rows survive (key on coupon id). Restriction to operators is stated. No annotations provided, so description carries full burden; it gives important context beyond basic patch semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short and front-loaded with purpose. Three sentences plus one about restriction. Efficient but could be slightly more structured. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters and no schema descriptions, the description covers the core idea and two special cases. It does not explain all parameters or error conditions, but with an output schema present, return values need not be detailed. Adequate for a moderately complex mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. It explains the purpose of 'clear_uses_per_patron' and 'clear_total_uses' as ways to set caps to unlimited. However, other parameters like name, discount_percent, valid_from, etc., are not described. Adds value but leaves gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it patches a coupon's editable fields. The verb 'patch' is specific and distinguishes from siblings like cypher_delete_coupon, cypher_mint_coupon, and 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear guidance on how to use: pass only fields to change, explains clearing caps with boolean flags. Mentions 'RESTRICTED to operator — requires proof,' indicating access control. Does not explicitly compare to alternatives, but context implies use for updates only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_update_operator_credentialAInspect
Add or update a single operator secret field.
Merges into the operator's stored credentials without touching the
others — the field-level counterpart to re-delivering the whole
bundle over Secure Courier. Use it to rotate one secret (a reissued
btcpay_api_key, say) without restating the six you did not
change, where any field omitted from a courier reply is destroyed.
The value is never echoed back. RESTRICTED to the operator — requires proof (nsec-signed kind-27235 or a cached dpop_token phrase); patron proofs are rejected.
| Name | Required | Description | Default |
|---|---|---|---|
| field | Yes | The operator credential field to set. Must be declared in the operator's credential template. | |
| value | Yes | The value to store. | |
| dpop_token | Yes | Operator proof for this tool. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It reveals merge semantics ('without touching the others'), security restrictions ('RESTRICTED to the operator... patron proofs are rejected'), and that 'The value is never echoed back'. It doesn't cover side effects like invalidation, but the key behaviors are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three well-organized paragraphs. The first sentence states the purpose, the second explains the alternative scenario, and the third covers security. Each sentence earns its place, though the example and some phrasing add slight length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool without annotations but with an output schema. The description covers usage, merge semantics, security requirements, and the distinction from sibling tools. It doesn't explain error handling or idempotency, but it provides enough context for correct selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema descriptions cover all three parameters (field, value, dpop_token) with meaningful details, so the baseline is 3. The description adds a concrete example (btcpay_api_key) and context for dpop_token, but doesn't materially exceed schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Add or update a single operator secret field', a specific verb+resource. It also distinguishes from the whole-bundle re-delivery via Secure Courier, clarifying its unique scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly positions itself as 'the field-level counterpart to re-delivering the whole bundle' and says 'Use it to rotate one secret'. It describes the scenario where a courier reply would destroy omitted fields, giving a concrete when-to-use condition.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | The patron's Nostr public key (npub1...). | |
| field | Yes | The credential field name to set. | |
| value | Yes | The value to store. | |
| dpop_token | Yes | Raw 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
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full disclosure burden. It reveals this is a write to a sensitive credential vault, requires proof of ownership, is free, and merges without affecting other fields. This adequately informs the agent of the tool's impact and safety considerations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with immediate front-loading of the primary action ('Add or update a single patron credential field'). Subsequent sentences add valuable context without redundancy. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, usage, behavior, prerequisites, and side effects. An output schema exists, so return value explanation is unnecessary. All aspects needed for correct tool selection and invocation are addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, providing detailed parameter descriptions (especially dpop_token). The tool description does not add significant parameter-level detail beyond the schema, meeting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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), resource (single patron credential field), and behavior (merge, no side effects on other fields). It distinguishes from sibling tools like delete or get by focusing on update and giving concrete use cases (setting account identifier after OAuth, changing default brain).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 ('useful for setting an account identifier after OAuth, changing a default brain, etc.'). It also notes prerequisites (proof of npub ownership). However, it does not explicitly mention when not to use it or direct to alternative siblings (e.g., delete_patron_credential, get_patron_credential_fields).
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.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | ||
| npub | No | Required. The operator's npub (npub1...). | |
| row_limit | No | ||
| dpop_token | No | ||
| timeout_ms | No | ||
| access_mode | No | read | |
| description | No | ||
| param_schema | No | ||
| cypher_template | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It mentions it is an update (write operation) and operator-only, but does not detail error handling (e.g., if key missing), return format, or side effects. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences. The first sentence front-loads the purpose and access restriction, and the second adds a critical distinction. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (9 parameters, low schema coverage) and the existence of an output schema, the description is too sparse. It omits parameter semantics, error conditions, and return value details, relying on a vague reference to create_query.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 11%, so the description should compensate. It adds no parameter details beyond the key existence constraint. It references 'Same shape as create_query' but does not explain any parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates an existing named Cypher query template. It uses a specific verb ('update') and resource ('Cypher query template'), and differentiates from the sibling create_query by noting the key must already exist.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates it is 'Operator-only' and contrasts with create_query by requiring an existing key. However, it does not explicitly state when not to use it or list alternative tools beyond create_query.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_upsert_capabilityCInspect
Record a cross-cutting service Capability and one of its owners.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Capability name, e.g. 'Secure Courier'. | |
| npub | No | ||
| keywords | Yes | Comma-joined search keywords for forward-map resolution. | |
| dpop_token | No | ||
| owner_repo | Yes | Repo of an owning Service (multi-owner: call again per owner). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry full burden. It states 'Record' but does not clarify whether this is an insert or upsert (upsert is in name only), nor does it mention idempotency, authentication, or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one sentence) but lacks structure. While concise, it sacrifices detail needed for clarity. Could be improved with additional context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's mutation nature, absence of output schema, and 5 parameters, the description is insufficient. It does not explain return values, error conditions, or how to handle multiple owners beyond a single call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does not add extra meaning beyond the schema, especially for undocumented parameters npub and dpop_token. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 resource (a cross-cutting service Capability and one of its owners), distinguishing it from sibling tools like list or explain capability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 such as cypher_link_capability_consumer or cypher_bind_capability_to_symbol. The description does not mention exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_upsert_patent_elementBInspect
Record a patent reference numeral as a node.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | Patent reference numeral, e.g. 610. | |
| name | Yes | Element name from the reference-numeral schedule. | |
| npub | No | ||
| figures | Yes | Figures the element appears in, e.g. '5' or '1,4'. | |
| dpop_token | No | ||
| claim_family | Yes | Claim family, e.g. 'Nostr Identity & Credential Exchange'. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. 'Record' implies a write operation, but it does not specify if this is an insert or update, idempotency, authentication requirements, side effects, or response format. This is minimal disclosure 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (7 words) and front-loaded with the action verb 'Record'. Every word contributes meaning with no redundancy. For a simple tool, this efficiency is commendable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters (4 required), no annotations, and no output schema, the description is insufficient. It does not explain what a 'patent reference numeral' or 'node' means, nor does it provide context on error handling, return values, or typical usage. The agent would lack critical information to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no information about parameters beyond what the input schema already provides. With 67% schema description coverage, the description should compensate for the three undocumented parameters (npub, dpop_token, and possibly others), but it fails to do so.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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.' clearly states the action (record/upsert), the resource (patent reference numeral), and the outcome (as a node). This distinguishes it from sibling tools like 'cypher_explain_patent_element' or 'cypher_list_patent_elements', which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 any prerequisites, conditions, or scenarios where this tool is appropriate or inappropriate. Given the many sibling tools related to patents, this lack of guidance hinders correct selection.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Capability name. | |
| npub | No | ||
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only states the function without mentioning read-only status, side effects, authentication needs, or error conditions. 'Find' implies a read operation but is not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, but it sacrifices necessary detail. While front-loaded and efficient, it could include more context (e.g., output, parameter roles) without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters (one required), no output schema, and no annotations, the description is insufficient. It does not clarify the role of optional parameters, expected output, or usage scenarios, leaving significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (only 'name' has a description). The tool description adds no meaning beyond the schema: 'name' is already described as 'Capability name.' The other parameters ('npub', 'dpop_token') are undocumented in both schema and description, leaving their purpose unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Find the symbols') and the target ('that implement a capability'). It uses a specific verb and resource, distinguishing it from sibling tools like cypher_list_capabilities 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.
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_explain_capability or cypher_list_capabilities. There is no mention of prerequisites or context, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cypher_which_service_handlesCInspect
Find which service handles a given intent.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| keyword | Yes | Intent keyword, e.g. 'npub proof', 'vault', 'pricing'. | |
| dpop_token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose behavioral traits beyond the basic purpose. Since no annotations are provided, it carries the full burden but fails to mention whether this is a read-only operation, authentication requirements, or side effects. The presence of parameters like npub and dpop_token suggests auth needs but are unmentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence, which is concise. However, it sacrifices important details for brevity. It is adequately structured but leaves much unsaid.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no output schema, and no annotations, the description is severely incomplete. It does not explain return values, parameter usage beyond examples, or any operational context. The description fails to provide a complete understanding of the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (33%), with only 'keyword' having a description. The tool description adds no parameter meaning beyond the schema. For 'npub' and 'dpop_token', neither the schema nor description explains their role, leaving the agent guessing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Find') and resource ('which service handles a given intent'). It is clear about the tool's goal but does not explicitly distinguish it from sibling tools, many of which also involve service-related operations. The example in the keyword parameter helps clarify.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 siblings or alternatives. The description lacks context for appropriate invocation, such as prerequisites or exclusion criteria. With many similar tools, explicit usage guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Flicense-qualityCmaintenanceExposes a Neo4j graph database as MCP tools, enabling AI agents to run read and write Cypher queries.
- Alicense-qualityDmaintenanceExtracts structured operator data from Neo4j query plans and provides rich context for MCP clients to deliver intelligent optimization recommendations.1MIT
- Alicense-qualityCmaintenanceProduction-ready MCP server for Neo4j graph databases, enabling natural language to Cypher query translation with enterprise security and async performance.MIT
- AlicenseAqualityBmaintenancePayQL is an MCP server that lets any AI agent query The Graph and pay per query in USDC — gasless, keyless, bring-your-own-wallet.518MIT
Your Connectors
Sign in to create a connector for this server.