taxsort-mcp
Server Details
TaxSort — Tollbooth-monetized MCP server for personal tax transaction classification
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- lonniev/taxsort-mcp
- GitHub Stars
- 0
- Server Listing
- taxsort-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.6/5 across 84 of 84 tools scored. Lowest: 1.9/5.
Most tools have clearly distinct purposes and thorough descriptions. However, the sheer number (84) and some similarly named tools (e.g., check_balance vs check_authority_balance) could cause minor confusion for an agent.
All tools share the 'taxsort_' prefix, but the naming pattern is inconsistent: some use verb_noun (check_balance), while others use noun_noun (account_statement) or other structures. This mixed convention reduces predictability.
84 tools is excessive for typical MCP server coherence. While the domain is broad, many tools seem administrative (e.g., get_anthropic_key) and could be consolidated. The high count likely overwhelms agents.
The tool set covers the core tax classification workflow (import, classify, summarize) plus auxiliary systems (payments, credentials, coupons, notarization). Minor gaps exist (e.g., no CSV export), but overall coverage is comprehensive.
Available Tools
85 toolstaxsort_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.
Args:
npub: The patron's Nostr public key (npub1...).
dpop_token: Raw JSON of a kind-27235 Nostr event signed by npub —
not base64, not NIP-98 'Authorization: Nostr ' 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.
days: Number of days of daily usage history to include (default 30).
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| npub | Yes | ||
| dpop_token | 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 discloses the free operation, no credit consumption, the need for dpop_token authentication, and detailed requirements for the token (event kind, tag, expiration). It does not mention rate limits or side effects, but for a read-only statement tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear lead sentence followed by details and an explicit Args section. Every sentence adds value, though the dpop_token explanation is somewhat lengthy. It is front-loaded with the core 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 has 3 parameters, no annotations, and an output schema exists (so return values don't need elaboration), the description covers all needed aspects: purpose, free nature, auth requirements, and parameter details. It is complete for an agent to 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 coverage is 0%, so the description must compensate. It thoroughly explains npub (patron's Nostr public key), dpop_token (raw JSON event with specific constraints), and days (default 30, number of days of history). This adds significant meaning beyond the bare schema types.
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 patron's account statement, lists what it includes (purchase history, credit tranches, usage breakdown, daily logs), and distinguishes it from the operator's Authority tax balance. The verb 'Generate' and resource 'account statement' make 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 provides explicit usage context: it is free, requires proof of npub ownership, and specifies the dpop_token format. It implicitly tells when to use (to get a patron's statement) but does not explicitly contrast with sibling tools like taxsort_get_transactions or taxsort_get_summary. Still, the guidance is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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.
Args:
npub: The Nostr public key (npub1...) whose statement to render.
dpop_token: Raw JSON of a kind-27235 Nostr event signed by npub —
not base64, not NIP-98 'Authorization: Nostr ' 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.
days: Number of days of daily usage history to include (default 30).
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| npub | Yes | ||
| dpop_token | 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 provided, the description carries the full burden. It discloses the cost (1 api_sat per call), authentication verification via `debit_or_deny`, output format (dark-themed SVG), and detailed dpop_token requirements. It does not mention potential error states or rate limits, but the provided information is substantial and adds value.
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 purpose statement followed by a bullet-like argument list. It is not overly verbose, though the dpop_token explanation is detailed but necessary. Every sentence adds value, making it appropriately sized 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 presence of an output schema (though not provided) and the lack of annotations, the description covers input parameters thoroughly, mentions output format and content (balance hero, metrics cards, etc.), relates to sibling tool, and includes cost. It is sufficiently complete for an agent to understand what the tool does and how to invoke it.
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 the description must fully explain parameters. It does so excellently: `npub` is clearly described, `dpop_token` has a thorough explanation with format and constraints, and `days` is explained with default value. This adds significant meaning 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 visual SVG infographic of an account statement. It distinguishes itself from the sibling tool `taxsort_account_statement` by noting that it returns the same data but rendered as a graphic, making it specific and 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?
The description implies when to use this tool (when a visual infographic is desired) and contrasts with the sibling `taxsort_account_statement`, which returns raw data. However, it does not explicitly state when not to use it or provide exclusions for other tools, though the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_adoption_statusAInspect
Check this operator's adoption-request status at a chosen Authority.
Free. Polls the Authority MCP-to-MCP for the status of this operator's request (pending / approved / rejected / provisioned).
| 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?
With no annotations, the description adds 'Free' and 'Polls the Authority MCP-to-MCP', which are helpful but lacks details on errors, rate limits, or data freshness. Adequate but not fully 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?
Three short sentences, front-loaded with the core purpose. No extraneous text; 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?
For a simple status check with output schema available, the description is largely complete. Could mention the output format briefly, but not 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?
The description mentions 'chosen Authority' hinting at authority_npub, but does not explain either parameter (dpop_token or authority_npub) explicitly. Schema coverage is 0%, so 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 clearly states the action ('Check') and the resource ('adoption-request status'), specifies the target ('at a chosen Authority'), and lists possible statuses. This distinguishes it from siblings like request_adoption.
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 the tool polls the Authority for status, giving clear usage context. However, it does not explicitly exclude alternatives or provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_apply_rulesBInspect
Apply rules to unclassified transactions in a session.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| dpop_token | No | ||
| session_id | 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 carries full responsibility for behavioral disclosure. It does not mention destructive potential, idempotency, error states, or what happens to the input data. The existence of an output schema is not leveraged to describe return values.
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 fluff. It efficiently communicates the core action and scope.
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 an output schema exists, the description should explain what the tool returns or accomplishes beyond the input. It omits information about the outcome (e.g., number of transactions affected, errors). Mutation behavior and session state changes are unclear.
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 schema parameters have descriptions in the schema (npub), and the tool description adds no additional meaning. session_id lacks description, and dpop_token is empty. The description does not explain how parameters relate to the action.
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 action ('apply rules'), the target ('unclassified transactions'), and the context ('in a session'). It distinguishes the tool from siblings like taxsort_save_rule and taxsort_get_rules by focusing on applying existing rules.
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, prerequisites (e.g., having a session and rules), or when not to use it. The description lacks context about workflow ordering.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_ask_advisorCInspect
Ask the Financial Advisor about using TaxSort.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| history | No | ||
| question | Yes | ||
| dpop_token | No | ||
| session_id | 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, and the description is too minimal. It does not disclose behavioral traits such as authentication requirements (e.g., npub for billing), response behavior, 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?
Description is concise with one sentence, but it is appropriately short. However, it lacks necessary detail 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 5 parameters and an output schema, the description is incomplete. It does not cover parameter roles, the nature of the advisor interaction, or output expectations.
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 low (20%), and the description adds no meaning beyond the schema. Parameters like npub, history, dpop_token, and session_id are not 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?
Description clearly states the tool is for asking the Financial Advisor about TaxSort. However, it does not differentiate from the sibling tool taxsort_ask_tax_researcher, which likely serves a similar 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?
No guidance on when to use this tool versus alternatives, no when-not scenarios, and no prerequisites or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_ask_tax_researcherCInspect
Ask the Tax Code Researcher about IRS provisions.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| history | No | ||
| question | Yes | ||
| dpop_token | No | ||
| session_id | 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, and the description does not disclose any behavioral traits such as whether it is read-only, if it incurs costs, or has rate limits. The description is too minimal to inform the agent of side effects or constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that concisely states the tool's purpose. It is front-loaded but could be more informative 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?
Despite having an output schema, the description lacks details on how results are returned or what to expect. Given the tool's complexity, more context is needed for the agent to use it 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?
Only 20% of parameters have descriptions in the schema. The description adds no extra meaning beyond the schema; it does not explain how to use the parameters or their semantics.
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 asks a tax code researcher about IRS provisions. It uses a specific verb-resource combination but does not differentiate from sibling tools like taxsort_ask_advisor.
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. Does not mention prerequisites, context, or scenarios for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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?
With no annotations, the description carries full burden. It declares a read-only check, explains return value (sats available), and notes the financial consequence of zero balance. Could mention idempotency or lack of side effects, but 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?
Five sentences, front-loaded with purpose, then return value and workflow implications. 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?
Complete for a parameterless check tool: explains what it returns, why it matters, and what action to take next. Output schema provides additional detail, but description stands alone.
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%. Description adds no parameter detail, which is acceptable. Baseline 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 it checks the operator's tax balance at the Authority and distinguishes it as the operator's own funding, not a patron balance. Distinguishes from sibling tools like check_balance and purchase_credits.
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?
Implies when to use (before certifying patron credit purchases) and what to do when balance is zero (call purchase_credits). Does not explicitly list when not to use, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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.
Args:
npub: The Nostr public key (npub1...) whose balance to check.
dpop_token: Raw JSON of a kind-27235 Nostr event signed by npub —
not base64, not NIP-98 'Authorization: Nostr ' 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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | ||
| dpop_token | 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?
Discloses that the operation is free and requires proof of npub ownership to prevent enumeration. Describes dpop_token format in detail. Lacks explicit statement about being read-only or idempotent, but context implies it. With no annotations, this is strong coverage.
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 (~150 words), front-loaded with core purpose, then sibling differentiation, then cost and proof requirements, then parameter details. No redundant sentences. Well-organized.
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 only two required parameters and an existing output schema, the description covers purpose, usage context, authentication, and parameter details thoroughly. No 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 has zero description coverage, but the description compensates fully: explains npub meaning (Nostr public key) and dpop_token format (kind-27235 event specs) with specific constraints, adding significant 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?
Clearly states the action ('check a patron's credit balance') and the resource (patron's balance at this operator). Distinguishes from sibling tool authority_check_balance by specifying its use for operator's own 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 states when to use (to check patron's spending balance) and when not to (for authority balance, use authority_check_balance). Also provides prerequisites: proof of npub ownership and that it's free.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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.
Args:
invoice_id: The invoice ID returned by purchase_credits.
npub: The Nostr public key (npub1...) that purchased the invoice.
dpop_token: Raw JSON of a kind-27235 Nostr event signed by npub —
not base64, not NIP-98 'Authorization: Nostr ' 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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | ||
| dpop_token | Yes | ||
| invoice_id | 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 provided, so the description fully handles behavioral disclosure. It explains the dpop_token requirements in detail (kind-27235, u tag with exact tool name, created_at within 60s, random nonce), mentions the purpose of preventing front-running, and states no cost. 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 well-structured with a clear purpose followed by usage context and parameter details. While it is somewhat lengthy due to the dpop_token explanation, every sentence adds necessary value for a tool requiring a complex authentication token.
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 (dpop token, Nostr proof, no annotations) and the presence of an output schema, the description covers all necessary context: usage flow, prerequisites, parameter meanings, and behavioral constraints. No 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 coverage is 0%, but the description adds complete meaning for all three parameters: invoice_id is from purchase_credits, npub is the purchasing public key, and dpop_token has a detailed format specification. This fully compensates for the lack of schema documentation.
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 payment status of a Lightning invoice, with specific usage context ('Call after paying the invoice from purchase_credits'). It distinguishes itself from siblings like taxsort_check_balance and taxsort_check_proof_status by focusing on invoice payment 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 states when to use ('after paying the invoice'), provides cost context ('Free — no credits required'), and details a prerequisite ('Proof of npub ownership is required'). This gives clear guidance on appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_check_priceAInspect
Preview the effective cost of a tool call.
Shows the base cost and any constraint effects (discounts, free trials, surge pricing). Free — no credits required.
Args:
tool_id: 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.
tool_kwargs: Optional JSON object with tool call parameters
for ad valorem / categorical-multiplier pricing preview
(e.g. '{"amount_sats": 5000}' or
'{"difficulty": "sovereign", "mode": "live"}').
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| tool_id | Yes | ||
| dpop_token | No | ||
| tool_kwargs | 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 that the tool is free and previews costs, implying it is non-destructive and read-only. However, it does not explicitly state side effects, authorization requirements, or error handling behavior. The description adds context beyond the input schema but lacks completeness.
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: a one-line summary, a brief explanation, then clear parameter descriptions with examples. Every sentence adds value, and there is no unnecessary repetition. It is efficient 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 tool's complexity (4 params, output schema exists), the description covers the main purpose and two key parameters well. However, it omits explanations for npub and dpop_token, and does not mention output format or error conditions. While the output schema exists, the missing parameter descriptions reduce 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 0%, so the description must compensate. It explains tool_id and tool_kwargs in detail, including examples and resolution logic. However, it does not explain npub and dpop_token (both with defaults). This leaves two out of four parameters undocumented, which is a gap for agent 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?
The description clearly states the tool's purpose: 'Preview the effective cost of a tool call.' It specifies that it shows base cost and constraint effects (discounts, free trials, surge pricing). This is specific and distinguishes it from sibling tools like taxsort_get_pricing_model, which likely returns the pricing model 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?
The description mentions that it is free ('Free — no credits required'), which provides a usage guideline. However, it does not explicitly state when to use this tool versus alternatives (e.g., when to use cost preview vs. actual pricing model). No exclusions or when-not-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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.
Args:
patron_npub: Required. The patron's npub (npub1...).
dpop_token: Required. The dpop_token phrase returned by
request_npub_proof / receive_npub_proof.
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | No | ||
| patron_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?
The description explicitly states the tool is free, has no side effects, does not evict the cache or touch relays. Since no annotations are provided, the description fully bears the burden and does so comprehensively.
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: begins with core purpose, provides behavioral context, and ends with a clear Args list. 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 is simple, has no annotations, and has an output schema, the description covers all necessary behavioral and parameter information. The presence of an output schema means return details are not required in the description, making it 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?
With 0% schema description coverage, the description adds full meaning for both parameters: patron_npub is required and described as a npub1... string, dpop_token is required and linked to related tools. This fully compensates for lack of 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?
The description clearly states the tool checks if a dpop_token is valid, with a specific verb and resource. It distinguishes itself by explicitly mirroring check_oauth_status for the npub-proof flow, making its 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 explains when to use the tool ('before burning credits') and that it is free with no side effects. While it does not explicitly say when not to use it, the context is clear and alternative tools are implied. Slight improvement could be explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_check_unlockCInspect
Check if the unlock response is valid.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| response | 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 are provided, so the description must cover behavioral traits. It only says 'check if valid' without indicating whether this is a read-only operation, what constitutes validity (e.g., signature check, format validation), or any side effects. This lack of clarity leaves the agent guessing about the tool's 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 short sentence, which is concise but lacks critical details. It does not waste words, but it also does not add enough value to justify its brevity. It 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 presence of an output schema and siblings like 'taxsort_request_unlock', the description is incomplete. It does not explain the output (even though output schema exists, it still helps to give context), the expected format of the 'response', or how this tool fits into a workflow. The agent would need additional 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 only 33% (only 'npub' described). The description does not add any parameter meaning beyond 'response' and 'dpop_token' are used. With three parameters and no explanation of 'response' or 'dpop_token', the tool is nearly unusable without external knowledge.
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: 'Check if the unlock response is valid.' It specifies a verb ('check') and a resource ('unlock response validity'), and it implicitly distinguishes from the sibling 'taxsort_request_unlock' which would handle the request side.
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 or when not to. It does not mention that a prior call to 'taxsort_request_unlock' is needed to obtain a response, nor any prerequisites or output interpretation context. The description gives no usage context at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_clear_transactionsAInspect
Delete all transactions and classifications for a session, so CSVs can be re-imported.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| dpop_token | No | ||
| session_id | 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?
Describes the destructive action of deleting all transactions and classifications. With no annotations, the description carries full burden; it lacks details on irreversibility, authentication needs, 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?
Single sentence of 15 words, front-loaded with the core action and purpose. Every word is relevant and 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?
Lacks details on prerequisites (e.g., valid session), return values (despite output schema existing), and fails to describe two parameters. For a destructive tool with no annotations, this is insufficient.
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 explain any of the three parameters. Schema description coverage is only 33% (npub has description), leaving two parameters (dpop_token, session_id) undocumented in both schema and 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?
Clearly states 'Delete all transactions and classifications for a session', specifying the verb and resource. Distinguishes from siblings like taxsort_delete_account_transactions and taxsort_delete_classification by targeting all session data.
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 mentions the use case 'so CSVs can be re-imported', guiding the agent on when to use this tool. Does not explicitly state when not to use or list alternatives, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_count_rule_matchesCInspect
Count how many transactions match a rule pattern (live preview).
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| dpop_token | No | ||
| session_id | Yes | ||
| amount_value | No | ||
| amount_operator | No | ||
| description_pattern | 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 must fully disclose behavior. The phrase 'live preview' suggests no data mutation, but this is not explicitly stated. There is no mention of side effects, required permissions, or whether the operation is safe. An agent might infer read-only, but the lack of certainty is a gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise but omits important information. It earns its place in brevity but sacrifices completeness. The structure is front-loaded with the key action, but could be extended to cover essentials.
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 parameter richness (6 params, 2 required) and low schema coverage, the description is under-informative. It does not reference the output schema or explain the return value. The 'live preview' and rule pattern hint are helpful but insufficient for an agent to confidently invoke the 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 17% (only npub is described). The description adds no parameter details beyond mentioning 'rule pattern', which corresponds to description_pattern. Critical parameters like session_id, amount_value, and amount_operator are unexplained. The description does not compensate for the sparse 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 'count' and the resource 'transactions matching a rule pattern', and adds 'live preview' to indicate it's non-binding. This distinguishes it from sibling tools like taxsort_apply_rules (which modifies data) and taxsort_get_rules (which lists rules). However, it could more explicitly contrast with similar counting tools if any 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?
No guidance is provided on when to use this versus alternative tools such as taxsort_save_rule (to save rules) or taxsort_apply_rules (to execute rules). The 'live preview' hint is the only usage hint, but it's implicit. No when-not-to-use or prerequisite context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_create_feedback_issueCInspect
Create a GitHub issue for bug reports, feature requests, or feedback.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | ||
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| title | Yes | ||
| contact | No | ||
| category | No | feedback | |
| 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; description does not mention side effects, authentication requirements, or that npub is needed (though schema suggests it). Limited 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, no waste. However, lacks essential details; could benefit from elaboration.
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 6 parameters and 1 required, the description is too minimal. Missing when to use, behavior, output handling (output schema exists but not mentioned).
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 17% (only npub has a description). Tool description does not explain any parameters beyond the general purpose. Inconsistency between npub being described as 'Required' in schema property but not in top-level required array.
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 creates GitHub issues for bugs, features, or feedback. However, sibling tool 'taxsort_report_issue' likely overlaps, and no differentiation is provided.
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 'taxsort_report_issue' or when not to use it. Missing context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_create_sessionCInspect
Create a new TaxSort session for a tax year.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| label | No | ||
| tax_year | No | ||
| 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 the full burden. It does not disclose behavioral traits such as side effects, authentication requirements, or what happens upon creation. The description is too minimal to be 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?
The description is a single 9-word sentence, which is concise but overly minimal. It lacks structure such as bullet points or sub-sections, and could include more detail 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 complexity (4 parameters, no annotations, low schema coverage, many siblings), the description is incomplete. It does not explain the return value, when to use, or what a session is, and does not leverage the existence 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 description coverage is only 25% (only 'npub' has a description). The tool description adds no additional meaning to parameters beyond the schema, 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 'Create a new TaxSort session for a tax year,' providing a specific verb and resource. It distinguishes from siblings like 'get_session' and 'list_sessions' that retrieve or list sessions.
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 'taxsort_get_session' or 'taxsort_list_sessions'. No prerequisites, context, or exclusions are mentioned, leaving the agent without direction among 40+ siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_delete_account_transactionsCInspect
Delete all transactions and classifications for a specific imported account.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| account | Yes | ||
| dpop_token | No | ||
| session_id | 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?
The description indicates a destructive action (delete all data), but with no annotations provided, it lacks detail on irreversibility, required authentication, or potential side effects. The behavioral disclosure is minimal.
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 communicates the core function efficiently with 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 existence of sibling tool taxsort_clear_transactions, the description lacks contextual completeness by not explaining the difference. Also, it does not clarify the effect on the account or subsequent operations.
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 25% (only 'npub' has a description). The description adds no additional meaning beyond the schema parameter names, which are somewhat self-explanatory but insufficient.
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 'delete' and the resource 'all transactions and classifications for a specific imported account'. However, it does not distinguish from sibling tools like taxsort_clear_transactions, which may have similar 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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_delete_classificationBInspect
Remove a classification, reverting the transaction to unclassified.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| dpop_token | No | ||
| session_id | Yes | ||
| transaction_id | 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 effectively discloses the primary behavioral effect: removing a classification reverts the transaction to unclassified. This is sufficient for a simple deletion action, though it does not mention if the operation is reversible or if multiple classifications can be removed at once.
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 immediately conveys the primary action and effect. However, it could be slightly expanded to include usage context 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's simplicity and the presence of an output schema, the description is minimally viable. It states what the tool does but lacks guidance on when to use it or how it differs from similar tools, leaving the agent to infer from the name alone.
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 25% (only npub has a description). The tool description adds no information about any of the four parameters, leaving session_id and transaction_id entirely undocumented despite being required. This is inadequate for 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 the action 'Remove a classification' and the effect 'reverting the transaction to unclassified', which distinguishes it from sibling tools like taxsort_save_classifications or taxsort_reset_classifications that 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 like taxsort_reset_classifications or taxsort_clear_transactions. The description does not mention any prerequisites or context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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?
With no annotations, the description discloses key behaviors: cascading to patron redemptions, no-op effect on chain steps referencing the deleted coupon, and the Studio surfacing warnings. The 'requires proof' detail is vague, but overall it provides substantial operational context beyond a bare delete 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 four sentences, front-loaded with the primary action, then detailing effects and restrictions. Every sentence provides unique information with no redundancy or 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?
Given the tool's destructive nature and side effects, the description covers cascades, no-op behavior, and access restrictions. However, it omits parameter explanations and does not describe what the output schema contains (e.g., deletion count, error), leaving some gaps for an agent to handle 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 input schema has 0% description coverage, yet the description adds no explanation for either parameter (coupon_id or dpop_token). The description fails to clarify what coupon_id expects (e.g., format, lifecycle) or the purpose of dpop_token, leaving the agent to guess.
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 'Delete a coupon,' specifying the exact action and resource. It distinguishes this deletion tool from related siblings like taxsort_mint_coupon or taxsort_forget_coupon by detailing the cascading effect on redemptions and the no-op behavior for references.
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 notes 'RESTRICTED to operator — requires proof,' indicating a usage constraint. However, it does not explicitly state when to use this tool versus alternatives like taxsort_forget_coupon, nor does it describe prerequisites or conditions for safe use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_delete_custom_categoryCInspect
Delete a custom category.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| dpop_token | No | ||
| category_id | 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 and minimal description, the description fails to disclose side effects, required permissions, or that the operation is destructive and likely irreversible.
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 terse (4 words) and lacks necessary detail, 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?
The description is insufficient given the tool has three parameters (one required) and is a destructive operation; it provides no context about return values, errors, or 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?
The description does not mention any parameters, and the schema coverage is only 33%, leaving two parameters (dpop_token, category_id) undocumented in both schema and 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?
The description clearly states the verb 'Delete' and the specific resource 'custom category', but does not differentiate this from sibling tools like delete_classification or delete_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 on when to use this tool versus alternatives, such as other delete tools, nor any prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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.
Args:
npub: The patron's Nostr public key (npub1...).
dpop_token: Raw JSON of a kind-27235 Nostr event signed by npub —
not base64, not NIP-98 'Authorization: Nostr ' 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.
field: The credential field name to remove.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | ||
| field | Yes | ||
| dpop_token | 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?
Discloses that this is a write operation to sensitive vault, requires ownership proof via dpop_token, and is free. With no annotations, the description adequately informs about behavioral traits, though it lacks mention of irreversibility or error handling.
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 a summary sentence and an Args section. The dpop_token detail is lengthy but necessary for correct usage. Could be slightly more concise, but overall clarity is not compromised.
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 purpose, parameters, cost, and security requirements. Output schema exists, so return value documentation is not needed. Minor gaps like field existence behavior are acceptable given the 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 0%, but the description provides thorough explanations for all three parameters. The dpop_token parameter is described in depth including format, constraints, and recommendations, far exceeding schema's bare string type.
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 'Remove a single patron credential field', specifying verb and resource. Explicitly says 'without affecting other fields', distinguishing it from bulk delete tools like taxsort_forget_credentials.
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 like 'Proof of npub ownership is required' and 'Free', but does not explicitly mention when to use this tool versus alternatives (e.g., taxsort_forget_credentials for removing all fields). Implicit differentiation through scope, but no direct guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_delete_ruleBInspect
Delete a classification rule by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| rule_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?
No annotations provided, so description carries full burden. It does not disclose whether deletion is permanent, cascading, or requires authorization. For a deletion 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?
One sentence, efficient, with no wasted words. Front-loaded with the action and resource.
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 deletion operation with billing tokens (npub, dpop_token) and an output schema, the description is too minimal. It lacks context on success/failure, token usage, and any side effects.
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?
Of 3 parameters (npub, rule_id, dpop_token), only rule_id is implied by 'by ID'. npub and dpop_token are not explained. With only 33% 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 clearly states the verb 'delete' and resource 'classification rule' with the method 'by ID'. It distinguishes from sibling tools like save_rule and get_rules.
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 (e.g., there is taxsort_save_rule for creating/updating). No mention of prerequisites like the rule existing or idempotency.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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?
Discloses that the operation is cosmetic (non-destructive) and that the patron can re-redeem. However, it does not detail auth requirements beyond 'npub proof' or mention any side effects like rate limits or response format. Without annotations, the description carries full burden and is mostly 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?
Three sentences, each serving a distinct purpose: action, behavioral caveat, and cost/requirement. Front-loaded with the verb, minimal waste.
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 the action and behavioral nuance but omits parameter guidance and does not reference the output schema. While the output schema exists, the description should help the agent understand inputs, which it does not.
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 what npub, coupon_id, or dpop_token mean. It mentions 'npub' in context but adds no semantic value for parameters, leaving the agent without guidance on how to fill 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 action: 'Remove a coupon from this patron's redemption list.' This distinguishes it from siblings like taxsort_delete_coupon (permanent deletion) and taxsort_redeem_coupon (adding a 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?
Explicitly states it is 'cosmetic only' and that the coupon still exists and can be re-redeemed, guiding when to use this tool versus permanent deletion. Also mentions 'Free — requires proof of npub,' providing cost and prerequisite context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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.
Args:
service: The credential service to forget.
npub: The Nostr public key (npub1...) whose credentials to forget.
dpop_token: Raw JSON of a kind-27235 Nostr event signed by npub —
not base64, not NIP-98 'Authorization: Nostr ' 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.
Free.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | ||
| service | Yes | ||
| dpop_token | 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 provided, so description carries full burden. It discloses that deletion is as destructive as a write and requires proof of npub ownership. Also details dpop_token requirements (format, time constraint, tag constraints), offering excellent 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?
Description is relatively long but every sentence adds value. The parameter details are necessary. Could be slightly more concise, but structure is logical with a clear intro followed by parameter list.
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 purpose, usage context, destructive nature, and parameter details thoroughly. Given an output schema exists, return values need no explanation. Could mention error behavior or idempotency, but overall complete for a destructive 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 explain all parameters. It does so thoroughly: service and npub are described clearly, and dpop_token has a detailed explanation of format, constraints, and examples. This adds significant meaning beyond the bare 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?
Clearly states it deletes vaulted credentials for a specific service and npub. The verb 'forget' conveys deletion. While not explicitly distinguishing from siblings like 'delete_patron_credential', the description clarifies it handles both operator and patron credentials, which reduces 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?
Provides explicit context: use for operator credentials with operator's npub, for patron credentials with patron's npub, and notes destructive nature. Does not explicitly exclude scenarios or mention alternatives, but the context is sufficient for most cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_get_accountsAInspect
List all accounts in this session with their types and transaction counts.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| dpop_token | No | ||
| session_id | 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 the burden of behavioral transparency. It indicates a read operation ('list') and scoping ('in this session'), but does not disclose potential side effects, authorization needs, or pagination behavior. Adequate for a simple list 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, concise sentence that directly conveys the tool's purpose. No extraneous information. Perfectly 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?
The description is complete for the tool's simplicity. It specifies the output scope (accounts with types and transaction counts) and the presence of an output schema covers return value details. No gaps given the tool's straightforward nature.
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 npub has a description). The tool description adds no additional meaning to the parameters beyond what the schema provides. For instance, 'session_id' is required but its role is not explained. The description fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list), resource (accounts), and scope (in this session with types and transaction counts). It effectively distinguishes from sibling tools like taxsort_get_transactions (lists transactions) or taxsort_get_summary (aggregated data).
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 (when account-level information is needed) but provides no explicit guidance on when not to use or comparisons with alternatives. The context is clear but lacks exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_get_amount_neighborsAInspect
Fetch transactions with the same amount within ±days of a date. Used by the classifier to detect duplicates from overlapping CSV imports.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| days | No | ||
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| amount | Yes | ||
| dpop_token | No | ||
| exclude_id | No | ||
| session_id | 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 bear the full load. It states the core behavior (fetching neighbors) but omits details on auth requirements, rate limits, or state changes. The npub parameter's billing mention adds some transparency, but overall it lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no extraneous words. The first sentence states the action, the second provides context. 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 an output schema, the description is too brief for a tool with 7 parameters. It doesn't clarify the return format, pagination, or how exclude_id works. The duplicate detection use case adds value, but the description is not complete enough for an agent to use 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 meaning to amount, date, and days by explaining the neighbor logic, but with only 14% schema description coverage, it fails to explain the other four parameters (exclude_id, dpop_token, session_id, npub's role beyond billing). This is insufficient.
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 fetches transactions with the same amount within ±days of a date. It also gives a specific use case: duplicate detection from CSV imports, which distinguishes it from sibling tools like get_transactions.
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 mentions the tool is used by the classifier for duplicate detection. This provides context for when to use it, though it does not explicitly state when not to use it or name alternatives. Still, the guidance is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_get_anthropic_keyCInspect
Get the Anthropic API key for FE-driven classification.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| 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?
Annotations are absent, so the description should disclose behavioral traits. It only states the tool gets a key, with no mention of whether it is read-only, authentication needs, rate limits, or consequences. This is insufficient for safe agent usage.
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, making it concise. However, it is overly short for a tool with security implications and two parameters, lacking necessary context. It is adequately structured but insufficiently 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 and no annotations, the description should provide context about why to get the key and what the response contains. It fails to do so, leaving critical gaps for an agent to use 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% (npub described, dpop_token not). The description does not add meaning beyond the schema; it fails to clarify dpop_token's purpose and contradicts the npub description's 'Required' label. 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 clearly states the tool gets the Anthropic API key for FE-driven classification, distinguishing it from similar tools like taxsort_get_github_token. However, it does not explicitly differentiate from other get_* tools, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description does not mention prerequisites, when not to use, or how to integrate with other tools. The npub parameter is described as 'required' in the schema description but is not marked as required in the schema, creating confusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_get_api_usage_statsCInspect
Get aggregated API usage statistics for cost analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| dpop_token | No | ||
| session_id | 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 disclose behavioral traits but only states it's a read operation. Missing details on authentication needs, rate limits, data freshness, 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?
The description is very short (8 words), which is concise but sacrifices completeness. It lacks structure and additional context that would aid an AI agent.
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 minimal description, the tool is incomplete. An output schema exists but does not compensate for missing behavioral and usage 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 33% (only npub described). The tool description adds no extra meaning for the parameters dpop_token and session_id, failing to compensate for the schema 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 verb 'Get' and the resource 'aggregated API usage statistics' with a purpose 'for cost analysis', which distinguishes it from other 'get' tools like get_accounts or get_transactions.
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 get_transactions or get_summary. The description lacks exclusions or context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_get_custom_categoriesBInspect
Get custom categories defined by this user.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| 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 only states the basic action without disclosing traits like read-only nature, authentication requirements (npub is documented as required but not in description), rate limits, or whether pagination is needed. Minimal 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?
Extremely concise at one short sentence, which is efficient for a simple retrieval. However, it could benefit from slightly more structure (e.g., listing output or parameters) 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?
For a simple getter with an output schema, the description is minimally adequate but lacks context around parameter usage, output format, and error conditions. Given the sibling tool set and no annotations, more completeness would help 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?
The description adds no parameter-level detail beyond the schema. Schema coverage is 50% (only npub has a description), and dpop_token lacks any documentation. The description does not compensate for this gap, leaving the dpop_token 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 ('Get') and the resource ('custom categories') scoped to 'this user'. It effectively distinguishes this retrieval tool from sibling tools like taxsort_save_custom_category and taxsort_delete_custom_category.
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., when to list vs. get specific categories). No context about prerequisites, such as needing a valid npub or session, or expected behavior when no categories exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_get_github_tokenCInspect
Get the GitHub token for creating issues in the taxsort-mcp repo.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| 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, description only states a read operation. Does not disclose behavior like rate limits, authentication requirements, or side effects. 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 and to the point. Could add more detail 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 two parameters and an output schema (not shown), the description lacks context on how the token is returned, the role of npub and dpop_token, and any required sequence. Incomplete for reliable agent 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?
Description does not explain the parameters; schema covers npub with description but dpop_token has none (50% coverage). Tool description adds no semantic 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?
Clearly states verb 'Get', resource 'GitHub token', and purpose 'for creating issues in the taxsort-mcp repo'. Distinguishes from sibling tools like taxsort_get_anthropic_key.
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 like taxsort_get_anthropic_key. No prerequisites or when-not-to-use mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_get_import_statsCInspect
Get import statistics for a session.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| dpop_token | No | ||
| session_id | 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 provided; the description does not disclose behavioral traits such as safety, destructiveness, authentication needs, or rate limits, nor does it explain what 'statistics' entails.
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 sentence clearly states the purpose. Efficient and front-loaded, though slightly too sparse for a tool with multiple 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?
Despite having an output schema, the description fails to explain what the statistics contain, the relationship to sessions, or any required preprocessing (e.g., session must exist). Inadequate for full agent comprehension.
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% (npub has description), but dpop_token and session_id lack descriptions. The tool description adds no additional meaning beyond the schema for 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 uses a specific verb ('Get') and resource ('import statistics') and clarifies scope ('for a session'), clearly distinguishing it from siblings like get_transactions or import_csv.
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., import_csv, get_transactions), nor any prerequisites or context about when a session is active.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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?
The description fully reveals behavior: returns specific metadata fields or an empty profile if none exists. Since no annotations exist, this description carries the full burden and does so thoroughly.
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?
Two sentences with no wasted words: first sentence defines the core action, second adds cost, authentication, and return details. Front-loaded and 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 tool's simplicity (one optional param, no required fields, output schema exists), the description covers everything needed: the data source, public nature, return fields, and fallback 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?
With a single optional parameter and no schema description coverage, the description does not elaborate on the npub parameter beyond the tool name. However, the context makes it obvious; 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 'Read an npub's public Nostr profile (NIP-01 kind-0 metadata)', specifying the exact resource and action. It distinguishes from sibling tools like taxsort_publish_nostr_profile.
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 clear usage context: 'Free, no proof — the data is already public on relays.' This tells the agent no authentication is needed and it's safe to use, though it does not explicitly exclude other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_get_notarization_proofAInspect
Generate a Merkle inclusion proof that a patron's balance was included in a Bitcoin-notarized snapshot.
Args: notarization_id: The notarization record ID. npub: The patron's Nostr public key (npub1...).
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | ||
| notarization_id | 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 only states the function and arguments, omitting side effects (likely read-only), authentication requirements, error conditions, or idempotency. The user cannot infer whether this operation is safe or has 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 extremely concise: a single sentence defining the core functionality, followed by a clear Args list. No unnecessary words, and the most important information 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 the tool's simplicity and the presence of an output schema (though not shown), the description covers the essential inputs and purpose. However, it lacks workflow context, such as when to use this tool (e.g., after notarization) and what the output proof is used for. It is minimally complete but not rich.
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?
Parameter descriptions are provided via the Args section, adding meaning beyond the basic schema types (both strings). 'notarization_id' is explained as 'The notarization record ID' and 'npub' as 'The patron's Nostr public key (npub1...)', which clarifies the expected format. Schema coverage is 0%, so the description compensates well.
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. The verb 'Generate' and specific resource 'Merkle inclusion proof' make the purpose unambiguous and differentiate it from sibling tools like list_notarizations or check_proof_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?
The description does not provide any guidance on when to use this tool versus alternatives. It lacks context such as prerequisites (e.g., notarization must exist) or scenarios where other tools (like check_proof_status) are more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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?
Although no annotations are provided, the description implies a read-only operation (reporting readiness) with no side effects. It adds the note 'Free', possibly indicating no cost, but does not detail other behavioral aspects like rate limits or data source.
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 at three short sentences. It front-loads the purpose, then enumeration, then alternative usage. Every sentence adds value 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 no parameters and an output schema present, the description adequately covers the tool's functionality. It specifies what the output indicates (settings configured/missing and delivery instructions) but could be slightly more explicit about the scope of 'operator settings'.
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 per the guidelines the baseline is 4. The description does not need to add parameter details since there are none.
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: 'Report this operator's configuration readiness.' It specifies what it shows (configured, missing, how to deliver missing values) and explicitly distinguishes from the sibling tool 'get_patron_onboarding_status'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent when to use an alternative tool ('For patron-level credential status, use get_patron_onboarding_status instead'), providing clear guidance on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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).
Args:
npub: The patron's Nostr public key (npub1...).
dpop_token: Raw JSON of a kind-27235 Nostr event signed by npub —
not base64, not NIP-98 'Authorization: Nostr ' 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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | ||
| dpop_token | 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?
Despite no annotations, the description thoroughly discloses behavior: it never exposes values, returns delivered_at timestamps (nullable), and states that the list itself is sensitive. It also details the authentication requirement and provides specific instructions for the dpop_token format. However, it doesn't discuss error handling or edge cases, hence a 4 instead of 5.
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 concise first sentence followed by a detailed paragraph and parameter breakdown. While it is somewhat lengthy, every sentence contributes value (e.g., timestamp behavior, security notes). A slightly tighter edit could remove redundancy (e.g., 'Proof of npub ownership is required' is mentioned twice), but overall 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?
Given the tool has an output schema (not shown), the description appropriately focuses on input and behavioral aspects. It covers purpose, parameter details, authentication, and security implications. The explanation of dpop_token is particularly thorough. No gaps are evident for an agent 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?
With 0% schema description coverage, the description fully compensates by explaining both parameters: npub as the Nostr public key, and dpop_token as a raw JSON kind-27235 event with specific constraints (u tag, nonce, created_at within 60s). This adds critical meaning beyond the schema's empty property objects.
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 lists stored patron credential field names (not values), specifying that it returns names and null timestamps for vaulted fields. It differentiates itself by emphasizing that values are never exposed, setting it apart from sibling tools like taxsort_update_patron_credential or taxsort_delete_patron_credential that deal with credential 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 explicitly says to use this to verify which fields are configured and how old each one is. It also mentions the prerequisite of proof of npub ownership and that the list is free. While it doesn't explicitly state when not to use it, the tool's unique purpose among siblings makes the guidance clear and adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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.
Args: patron_npub: The patron's Nostr public key (npub1...). dpop_token: A kind-27235 Nostr event signed by patron_npub for this tool.
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | Yes | ||
| patron_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 covers important behavioral aspects: it is free, requires proof of npub ownership, and reports sensitive information. It implies a read-only operation ('Report'), but does not detail error cases or timeout 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 well-structured with a clear introductory sentence, a breakdown of behaviors, an 'Args' section, and no unnecessary words. It is concise yet comprehensive.
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 covers purpose, behavior, authentication, and parameter details sufficiently for a read-only information 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 provides full meaning for both parameters: 'patron_npub' is described as a Nostr public key with format hint, and 'dpop_token' is explained as a specific kind of signed event. This adds crucial context beyond the empty 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?
The description clearly states the tool reports a patron's credential readiness, distinguishing between set-once and OAuth2 services. The verb 'report' and resource 'patron onboarding status' are specific. It differentiates from the sibling 'get_operator_onboarding_status' by focusing on the patron.
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 that npub ownership proof is required and that credential presence is sensitive, implying authentication context. It does not explicitly list when to use versus alternatives, but the purpose is clear enough to guide usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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?
Description discloses a side effect (self-initializes a scaffold if no model exists) and clarifies no economic data comes from code. However, it does not state authentication requirements, idempotency, or potential constraints on usage.
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 core purpose. 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?
For a zero-parameter tool with an output schema, the description covers the core functionality and side effect. Could mention that the output is a pricing model object if not evident from schema, but overall 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?
There are no parameters, so baseline is 4. The description adds relevant context beyond the empty schema (e.g., self-initialization behavior).
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 ('Get') and the resource ('active pricing model for this operator'). It distinguishes from sibling tools like 'set' and 'reset'. Additional context about initialization 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?
No guidance on when to use this tool versus alternatives (e.g., when to get vs set or reset). No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_get_rulesCInspect
Get all classification rules for the current patron.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| dpop_token | No | ||
| session_id | 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. 'Get' implies a read operation, but the description does not clarify any behavioral traits such as read-only status, side effects, authentication requirements, or what happens if no rules exist. The agent is left to assume safe behavior without confirmation.
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 unnecessary words. Every word is essential: verb, resource, scope. It is perfectly concise for a simple retrieval tool.
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?
Although an output schema exists (so return format is covered), the description lacks essential context: what constitutes a 'classification rule', how the 'current patron' is identified, and how this tool relates to other rule-related tools. Given the tool complexity and sibling count, the description is incomplete for safe agent 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 description coverage is only 33% (only npub has a description). The tool description adds no meaning to any of the three parameters—it does not explain npub, dpop_token, or session_id or how they affect results. An agent must rely solely on the schema, which has sparse descriptions 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 uses a specific verb ('Get') and clearly identifies the resource ('all classification rules') with a scope ('for the current patron'). It distinguishes this tool from siblings like taxsort_save_rule, taxsort_delete_rule, and taxsort_apply_rules, which involve modifying or applying rules instead of just retrieving 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 provides no guidance on when to use this tool versus alternatives. Given 79 sibling tools, many of which also operate on rules (e.g., taxsort_count_rule_matches, taxsort_get_custom_categories), an agent would not know when retrieval is appropriate or what prerequisites exist. No when-not-to-use or alternative tool mentions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_get_sessionCInspect
Get session details and summary stats.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| dpop_token | No | ||
| session_id | 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, and the description does not disclose behavioral traits like side effects, authentication requirements, or rate limits. The word 'get' implies a read operation, but this is not explicitly stated.
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 (one sentence), but it lacks front-loading of critical information and could be better structured to include usage context or parameter hints.
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 existence of an output schema helps document return values, but given the number of sibling tools and absence of usage guidelines, the description is not sufficiently complete for an agent to decide when to invoke this 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 three parameters, but only 'npub' has a description in the schema. The description adds no additional meaning to any parameter, and with only 33% schema coverage, the description fails to compensate for the lack of parameter documentation.
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 gets session details and summary stats, clearly indicating the verb and resource. However, it does not differentiate from siblings like taxsort_get_summary or taxsort_session_status, which could also retrieve session-related information.
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 such as taxsort_list_sessions or taxsort_session_heartbeat. There is 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.
taxsort_get_summaryCInspect
Get a grouped spending summary for tax reporting.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| month | No | ||
| scope | No | tax | |
| group_by | No | taxline | |
| dpop_token | No | ||
| session_id | 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 provided, the description must fully disclose behavioral traits, but it only states the basic purpose. It does not mention whether the tool is read-only, any side effects, authentication requirements beyond the required session_id, or potential 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 very concise (8 words) but lacks structure and essential details. While brevity is valued, it sacrifices clarity and 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?
Given 6 parameters with minimal schema coverage, no annotations, and an output schema, the description is incomplete. It fails to explain what the summary contains, how grouping works, or the intended use for tax reporting, leaving the user uninformed.
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 very low (17%, only npub described). The tool description adds no parameter information, leaving five parameters (month, scope, group_by, dpop_token, session_id) unexplained. This severely hinders 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 clearly states the tool retrieves a grouped spending summary for tax reporting, which is distinct from raw transaction retrieval. However, it lacks specificity about what grouping means and how it differs from similar 'get' tools like taxsort_get_transactions.
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 over siblings. The description does not mention any prerequisites, context, or alternative tools for different use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_get_transactionsBInspect
Get transactions for a session with optional filters.
Returns raw transactions LEFT JOINed with their classifications. Use unclassified_only=true to fetch pages of transactions needing classification by the FE. Use date_from/date_to for date range queries.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| limit | No | ||
| month | No | ||
| offset | No | ||
| search | No | ||
| account | No | ||
| date_to | No | ||
| category | No | ||
| date_from | No | ||
| dpop_token | No | ||
| session_id | Yes | ||
| subcategory | No | ||
| unclassified_only | 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 disclose behavioral details. It mentions a LEFT JOIN with classifications but omits rate limits, auth requirements, or any side effects. For a read operation, it is minimally transparent but insufficient for a tool with 13 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 three sentences, front-loaded with purpose, and every sentence adds value. 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?
Despite having an output schema, the description fails to cover most of the 13 parameters or provide usage context for common filters. The presence of a sibling tool for paged transactions suggests additional guidance is needed, which 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 only 8% (only npub has a schema description). The description adds meaning to session_id, unclassified_only, date_from, and date_to, covering only 4 of 13 parameters. Many parameters like limit, offset, search, category are left undocumented, inadequately compensating for the 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 'Get transactions for a session with optional filters', which provides a specific verb and resource. However, it does not differentiate from the sibling tool 'taxsort_get_transactions_paged' which presumably handles pagination differently.
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 advises when to use unclassified_only and date_from/date_to, but lacks guidance on when not to use this tool or when to prefer alternatives like taxsort_get_transactions_paged. No explicit exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_get_transactions_pagedBInspect
Server-side filtered, grouped, sorted, paginated transactions.
group_sort controls the order of groups (A-Z vs Z-A). sort_col + sort_dir control row order within each group. When group_by='none', only sort_col + sort_dir apply.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| page | No | ||
| month | No | ||
| search | No | ||
| account | No | ||
| category | No | ||
| group_by | No | none | |
| sort_col | No | date | |
| sort_dir | No | asc | |
| page_size | No | ||
| dpop_token | No | ||
| group_sort | No | asc | |
| session_id | Yes | ||
| subcategory | No | ||
| classified_only | No | ||
| unclassified_only | 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 disclose all behavioral traits. It explains the internal sorting/grouping logic (group_sort, sort_col, sort_dir, group_by interaction) which is valuable. However, it omits details about pagination behavior, rate limits, side effects, or the fact that npub is used for credit billing (only in schema's parameter description for npub). The description adds moderate transparency beyond the schema but is not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with only 3 sentences. The first sentence provides a high-level summary, followed by specific details on sorting/grouping. No unnecessary words; each sentence adds value. It is well 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's complexity (16 parameters, output schema exists), the description is incomplete. It fails to explain pagination mechanics, filtering parameters, billing (npub), and many other options. While the output schema may cover return structure, the description should at least cross-reference key parameters. A user would struggle to use this tool correctly without additional documentation.
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 description coverage is only 6% (only npub has a description). The description adds meaning for only 3 parameters (group_sort, sort_col, sort_dir) out of 16, neglecting many important ones like page, page_size, search, filters, etc. Given the low schema coverage, the description should have explained more parameters to aid 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 'Server-side filtered, grouped, sorted, paginated transactions', which defines the core purpose. However, it does not distinguish this tool from the sibling 'taxsort_get_transactions', which likely provides simpler transaction retrieval. The explanation of sorting/grouping behavior adds clarity but misses a direct contrast.
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 guidelines on when to use this tool versus alternatives like 'taxsort_get_transactions'. The description assumes the user knows when pagination or grouping is needed, providing no situational context or prerequisites beyond the required session_id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_import_csvBInspect
Import a CSV file into a session. Content is the raw CSV text. Optional account_name overrides the filename-derived account.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| content | Yes | ||
| filename | Yes | ||
| dpop_token | No | ||
| session_id | Yes | ||
| account_name | 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 cover behavioral traits. It describes input format but fails to disclose side effects (e.g., appending vs replacing data), required permissions, error handling, or billing implications (e.g., npub parameter).
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, using one sentence plus a brief note. It is appropriately front-loaded with the main purpose. Could be slightly more structured but 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 6 parameters (3 required) and no annotations, the description is incomplete. It does not explain the overall workflow (e.g., need a session, what happens with the imported data) or return value (though output schema exists).
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 17% (npub only). The description adds meaning to 'content' (raw CSV text) and 'account_name' (overrides filename-derived account) but leaves other parameters like session_id and dpop_token unexplained. It partially compensates 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 action ('Import a CSV file') and the target ('into a session'). It is specific and distinguishes from other tools like taxsort_create_session or taxsort_get_transactions.
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 minimal guidance on when to use this tool. It mentions optional account_name override but does not specify prerequisites (e.g., session must exist) or alternatives. No explicit when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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?
Despite no annotations, the description thoroughly discloses behavior: it's free with no side effects, includes ToolIdentity-seeded tools plus @paid_tool UUIDs missing from registry (flagged registered:false), exposes unregistered tools in a top-level array for drift detection, and explains the canonical-UUID design including rename/rebrand behavior. This richly compensates for the absence of annotations.
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 clear paragraphs delineating the output, the authoritative-source rationale, drift detection, and the canonical-UUID design point. It's slightly verbose—the rename/rebrand paragraph and repeated drift-detection theme—but every section earns its place given the complexity of the tool's guarantees.
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 introspection tool with an output schema, the description is thorough: it explains the full output semantics, the drift-detection purpose with issue references, the authoritative-source positioning, and side-effect safety. It completely covers what an agent needs to know to select and interpret this 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 tool has 0 parameters and 100% schema coverage, so the schema leaves nothing undocumented. The description goes beyond schema by explaining the output shape (registered:false flag, unregistered array) and the design semantics around tool_id stability versus mcp_name changes, which is meaningful behavioral context for a parameterless tool.
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 returns canonical tool identities (tool_id, mcp_name, etc.) for every tool the wheel exposes. It explicitly differentiates this from name-based derivation and identifies the authoritative use case for Reconcile. Distinct from all 90+ 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?
The description specifies this is the authoritative source for 'Studio, agents, FE' that need to know how the MCP identifies its tools, and explains it's used by Reconcile for UUID-join against the pricing model. Clear context on when to use, though it doesn't name explicit alternatives/exclusions since this is a unique system-level tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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?
No annotations are provided, so the description carries the full burden. It describes the return fields and cost, which is sufficient for a simple read-only listing. 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?
The description is concise with three sentences, each adding value: purpose, return fields, and cost. 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 no parameters and the existence of an output schema, the description is mostly complete. It explains what is returned and that it is free. Slightly more context on potential limitations could elevate it.
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 zero parameters, so baseline 4 applies. The description does not need to add parameter information as none exist.
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 all available constraint types and their parameter schemas, specifying the verb 'list' and the resource. It distinguishes itself from sibling tools which focus on 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 provides context such as 'Free — no credits required' and what is returned, but does not explicitly state when to use this tool versus 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.
taxsort_list_couponsAInspect
List every coupon this operator has minted (newest first).
Each row carries the current times_redeemed counter — the
Studio renders a progress bar from this against total_uses.
RESTRICTED to operator — requires proof.
| 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?
Describes the output includes times_redeemed and total_uses, and mentions the sorting order. No annotations exist, so the description adequately conveys it is a read-only list with authentication requirements.
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: purpose with ordering, key field detail, and access restriction. No redundant information; each sentence adds necessary 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?
Covers core behavior and a specific field, and notes restriction. However, it omits pagination details and does not explain the dpop_token parameter. The presence of an output schema mitigates the need for return value 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?
The only parameter, dpop_token, is not explained in the description. With 0% schema description coverage, the agent must infer its purpose (likely for authentication) from context clues like 'requires 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 every coupon minted by the operator, sorted newest first. Differentiates from related tools by specifying operator scope and restriction, but does not explicitly contrast with sibling taxsort_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?
Notes the tool is restricted to operators requiring proof, indicating when to use. However, it does not provide explicit guidance on when not to use or mention alternative tools for non-operator users.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_list_feedback_issuesCInspect
List feedback issues submitted by this patron.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| 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 fully disclose behavior. It only states the tool lists feedback issues, with no mention of read-only nature, side effects, pagination, filtering, or output contents. This is insufficient for a safe and correct invocation.
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. However, its brevity sacrifices clarity and completeness; a slightly longer description could improve utility 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 is incomplete given the tool's complexity. It lacks information about output schema, default behavior, filtering, sorting, or authentication context. Despite an output schema existing, the description does not mention return values, leaving the agent uncertain about what to expect.
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 npub has a description), but the tool description adds no parameter-specific information beyond what the schema already provides. The dpop_token parameter is entirely undocumented in both schema and description, and the purpose of npub beyond 'credit billing' is 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 (list) and resource (feedback issues) and specifies the scope (by this patron). It distinguishes the tool from siblings like taxsort_create_feedback_issue, but does not explicitly differentiate from other list tools or clarify identification of 'this patron'.
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 taxsort_report_issue or taxsort_create_feedback_issue. The description lacks context about prerequisites, authentication, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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?
With no annotations, the description carries full burden. It discloses the tool returns both active and exhausted redemptions with a status field, and mentions it is free but requires proof of npub. This provides good insight into the tool's behavior without 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?
The description is three sentences, each serving a clear purpose: stating the function, detailing output, and noting prerequisites. It is concise but could be more structured with bullet points 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 low complexity of a list tool and the presence of an output schema, the description covers the essential aspects: what it lists, the status field, and the proof requirement. It does not mention pagination or limits, but these are less critical for a simple listing.
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 has 0% description coverage, so the description must compensate. It mentions 'npub' proof, adding context that the npub parameter is a proof identifier. However, it does not explain the dpop_token parameter or the format of npub, leaving 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 uses the specific verb 'list' and identifies the resource as 'coupons this patron has redeemed on this operator', distinguishing it from sibling tools like taxsort_list_coupons which likely lists all coupons. The detail about return statuses 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?
The description clearly states it lists redeemed coupons for a patron and mentions the requirement of 'npub' proof. It provides context for when to use this tool, but does not explicitly exclude alternatives or compare with siblings like taxsort_list_coupons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_list_notarizationsBInspect
List recent Bitcoin notarization records.
Args: limit: Maximum records to return (default 20). status: Optional filter (e.g., 'submitted', 'confirmed').
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| status | 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. Description fails to disclose behavioral traits such as read-only nature, idempotency, pagination, or default ordering. Only states 'list recent' without explaining scope 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?
Very concise and well-structured: one-line summary followed by parameter details under 'Args'. 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?
Output schema exists, so return values are covered elsewhere. However, missing usage guidance and behavioral details (e.g., recency definition, ordering) make it incomplete for a simple list tool. Adequate but not exemplary.
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 has 0% parameter descriptions, so description must compensate. Explicitly explains 'limit' as max records and 'status' as optional filter with examples, adding value beyond schema 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?
Clearly states verb 'list' and resource 'Bitcoin notarization records'. Distinct from sibling tools like taxsort_get_notarization_proof (retrieve specific proof) and taxsort_notarize_ledger (create).
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 vs alternatives. Does not mention prerequisites or when not to use. Minimal context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_list_sessionsCInspect
List all sessions owned by the current patron.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| 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 the full burden of behavioral disclosure. It only states the operation is a listing, but does not mention that it is read-only, requires authentication (implied by npub), or whether results are paginated. This is insufficient for an unannotated 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 concise sentence with no waste. However, it is too brief and lacks critical details, missing the opportunity to add value beyond the schema. Conciseness should not come at the expense 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?
Given the existence of an output schema (per context), the description need not explain return values, but it still fails to provide essential context like the fact that npub is required for billing, the role of dpop_token, or any authentication requirements. The description is too short to be considered complete for this tool with multiple parameters and 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 description coverage is 50% (only npub has a description). The tool description does not add any parameter information beyond the schema; notably, 'dpop_token' remains unexplained. The description also contradicts the schema by calling npub 'Required' when it has a default and no required flag. The description should compensates for the coverage gap but fails.
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 ('List'), resource ('all sessions'), and scope ('owned by the current patron'). It effectively distinguishes from sibling tools like 'taxsort_get_session' (singular) and 'taxsort_create_session' (creation).
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 when-to-use or when-not-to-use guidance is provided. Given many sibling tools related to sessions, the description should indicate that for a specific session one should use 'taxsort_get_session' or when to create sessions. The lack of such guidance leaves the agent without direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_mint_couponAInspect
Create a new operator-owned discount coupon.
Args: name: The catchy code patrons type to redeem (operator-scoped uniqueness). discount_percent: Percentage off the base price (0-100). valid_from: ISO-8601 datetime when the coupon becomes active. valid_until: ISO-8601 datetime when the coupon expires. uses_per_patron: How many tool calls one patron can claim the discount on (default 1; pass null/None for unlimited within the window). total_uses: Aggregate cap across all patrons (default None = unlimited).
Returns the new coupon row. RESTRICTED to operator — requires proof (nsec-signed kind-27235 or cached dpop_token token).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| dpop_token | No | ||
| total_uses | No | ||
| valid_from | Yes | ||
| valid_until | Yes | ||
| uses_per_patron | No | ||
| discount_percent | 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?
Discloses key behaviors: creation, return of coupon row, operator restriction, auth method, and defaults for uses_per_patron and total_uses. Lacks details on idempotency or error cases, but acceptable for a creation tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single paragraph with Arg list, efficient but could benefit from bullet formatting. 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?
Covers purpose, all parameters, return value, and authentication. Output schema exists, so return description sufficient. Missing error handling details, but overall adequate for a creation 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?
All 7 parameters described with semantic context (e.g., name uniqueness, discount range, defaults, null semantics) compensating for 0% schema coverage. Adds value beyond type and required flags.
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 uses specific verb ('Create') and resource ('discount coupon'), clearly distinguishing from siblings like delete_coupon, update_coupon, list_coupons, etc.
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 restricted usage (operator only) and authentication requirements. Does not contrast with similar tools like update_coupon or list_coupons, but verb alone suffices for basic guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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?
With no annotations provided, the description carries full burden. It adds key behavioral details: Bitcoin confirmation takes 1-6 hours (asynchronous), no cost, and it's an operator background task. 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?
Three concise sentences: purpose, usage context, and timing/cost. No wasted words, front-loaded with the core action.
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, a rich context of timing and cost, and an output schema present (handles return value explanation), the description fully covers what an agent needs to know.
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 zero parameters, so no additional parameter info is needed. Baseline for 0 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's action ('Build a Merkle tree...submit the root to Bitcoin via OpenTimestamps') and resource (patron balances). It distinguishes this tool from sibling tools, which are predominantly account/balance queries or user-facing 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?
Explicitly states 'Operator-only background task' and 'Free — no credits required', providing clear context on when to use and who can invoke it. However, it does not explicitly compare to alternatives or specify when NOT to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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 are provided, so the description carries the full burden. It only mentions 'Free' regarding cost, but fails to disclose whether the tool is read-only, destructive, or any side effects. Given zero parameters, basic behavioral traits 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 extremely short (two phrases) and front-loaded. Every word serves a purpose, but it could be expanded to include more helpful 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 tool's simplicity (no parameters, output schema exists), the description is minimally adequate. It identifies the subject and method, but lacks detail on the nature of the description (e.g., textual overview) and prerequisites. It does not fully leverage the output schema 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?
With no parameters and 100% schema coverage, the description adds minimal parameter semantics. It provides context ('via the Oracle', 'Free') but does not explain what the returned output represents, even though an output schema exists.
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 'Describe the DPYC ecosystem via the Oracle' clearly states the verb ('describe') and the resource ('DPYC ecosystem'). It distinguishes itself from sibling oracle tools like taxsort_oracle_get_tax_rate, which focus on specific details. The purpose is 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?
There is no guidance on when to use this tool versus alternatives. The term 'Free' hints at cost but provides no usage context or when-not-to-use scenarios. With many sibling tools, explicit 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.
taxsort_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?
With no annotations, the description must disclose behavioral traits. It only states the tool 'gets' a rate and is free, but omits whether it requires authentication, is read-only, has limits, or any side effects. This is insufficient for full 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—two short phrases—with no redundancy. Every word 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 has no parameters and an output schema exists (though not visible), the description is minimally adequate. It identifies the output (tax rate) but does not describe the return format or any constraints. Could be slightly more 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?
There are no parameters, so the input schema is empty. The description adds context ('DPYC certification tax rate' and 'Free') but no parameter-level detail is needed. Baseline for zero 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 explicitly states it gets the 'current DPYC certification tax rate' and mentions it is 'free.' This clearly identifies the specific resource and action, distinguishing it from sibling tools like taxsort_check_price or taxsort_get_pricing_model.
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 exclusions. The word 'Free' is a feature, not a usage directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_oracle_how_to_joinCInspect
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?
The description provides no behavioral details beyond stating it is 'Free.' With no annotations, the agent has no information about authentication requirements, side effects, or output format. The existence of an output schema is not leveraged.
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 with two sentences. The first sentence is front-loaded and conveys the core purpose. The second sentence ('Free.') is unnecessary and could be integrated. Still, it avoids 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?
Given that the tool has no parameters and a simple purpose, the description is minimally adequate. However, it does not explain what 'DPYC' refers to or hint at the output structure (despite an output schema existing). For a tool with no required input, more context about the onboarding process would help.
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 no parameters, and schema coverage is trivially 100%. The description adds the specific onboarding purpose ('DPYC') but does not need to elaborate further. 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 ('Get DPYC onboarding instructions') and the specific source ('from the Oracle'). It distinguishes the tool from siblings, as no other tool explicitly covers onboarding instructions. However, the appended 'Free.' is irrelevant and slightly detracts from 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. Sibling tools like 'taxsort_get_operator_onboarding_status' and 'taxsort_get_patron_onboarding_status' exist but are not mentioned or differentiated. The description lacks context on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_oracle_lookup_memberCInspect
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?
No annotations are provided, so the description must disclose behaviors. It only mentions 'Free', implying no cost, but does not clarify if the operation is read-only, what side effects exist, or any rate limits. Essential behavioral context 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?
The description is a single short sentence, which is concise but lacks necessary detail. It is under-specified for a tool with no annotations.
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?
Although an output schema exists, the description fails to mention what a 'member' lookup returns or any context about DPYC community. The word 'Free' is insufficient. The description should provide more complete guidance given the tool's simplicity.
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 sole parameter 'npub' is not explained in the description (e.g., what npub stands for, expected format). The description adds no meaning beyond the input 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 action 'look up' and the resource 'DPYC community member', with the specific identifier 'npub'. It is distinct from sibling tools, which cover other operations like tax rates, accounts, etc.
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 clear context for use (looking up a member by npub) but offers no guidance on when to use this tool versus alternatives among the many sibling tools, nor does it state any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_oracle_network_advisoryBInspect
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?
No annotations are provided, so the description must convey behavioral traits. It mentions 'Free' but does not state whether the tool is read-only, requires authentication, or any rate limits. For a mutation-free tool, this is insufficient disclosure.
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. It is front-loaded and efficient, though arguably too brief for 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?
For a simple tool with no parameters and an output schema, the description is minimally adequate. However, it lacks any usage hints or caveats, leaving the agent without sufficient context to choose it properly among 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?
The tool has zero parameters, so baseline is 4. The description adds no parameter info because none exist, which is acceptable.
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 (get), the resource (active network advisories), and the source (Oracle). It is specific and distinguishes from sibling oracle tools such as taxsort_oracle_about and taxsort_oracle_get_tax_rate, making the purpose unmistakable.
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 tools like taxsort_oracle_about and taxsort_oracle_get_tax_rate, the description should indicate the appropriate context, but it does not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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.
Args: npub: The patron's Nostr public key the event must be signed by. signed_event: A JSON-encoded, client-signed kind-0 event.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| signed_event | 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?
Details the verification and relaying process, notes no key custody and free usage, but could mention idempotency or return values. No annotations present, so description carries the full 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?
Front-loaded with purpose, followed by necessary explanation and clean parameter list. Could be slightly tighter but no wasted 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 two parameters and presence of output schema, the description covers the process and inputs adequately; some mention of error handling or idempotency could improve it.
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 fully explains both parameters: npub as patron's public key and signed_event as JSON-encoded kind-0 event, adding crucial context beyond schema structure.
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 publishes a client-signed kind-0 profile to relays for an npub, using specific verbs and resources, and distinguishes from sibling Nostr tools like get_nostr_profile.
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?
Describes when to use (client-signed event), explains what it does not do (hold nsec, require tokens), but does not explicitly contrast with alternatives or provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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.
Args:
npub: The Nostr public key (npub1...) the credits will fund.
dpop_token: Raw JSON of a kind-27235 Nostr event signed by npub —
not base64, not NIP-98 'Authorization: Nostr ' 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: Satoshis to purchase (default 1000).
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | ||
| dpop_token | Yes | ||
| amount_sats | 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 creation of a Lightning invoice, payment requirement, and need for dpop_token. It also states 'Free — no credits required to call.' Missing details on limits, expiration, or error handling.
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 front-loaded with clear purpose, then step-by-step guidance and parameter details. The dpop_token explanation is verbose but necessary given its complexity. Slightly trimmed sentences could improve 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?
Output schema exists, so return values are covered. The description covers process, prerequisites, and parameters. Missing edge cases like invalid npub or payment timeout, but overall adequate for a purchase 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 0%, but the description's Args section thoroughly explains each parameter: npub (Nostr public key), dpop_token (raw JSON event with constraints), and amount_sats (default 1000). This adds critical context absent from 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 explicitly states 'Buy credits via Bitcoin Lightning' and details the invoice creation and payment process. It clearly distinguishes from sibling tools like taxsort_check_payment by mentioning what to call next.
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 explains when to use the tool (to buy credits) and what to do after (call check_payment). It mentions the requirement of npub proof and that the tool is free. However, it lacks explicit 'when not to use' or alternative methods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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.
Args: sender_npub: Required. The npub that sent the credentials. service: Required. The credential service name (must match the service used in request_credential_channel). dpop_token: Required. The session phrase returned by request_credential_channel for this exact channel. credential_card: Optional. An ncred1... card to redeem directly (bypasses the relay drain; dpop_token not needed). Free.
| Name | Required | Description | Default |
|---|---|---|---|
| service | No | ||
| dpop_token | No | ||
| sender_npub | No | ||
| credential_card | 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 fully discloses behavior: it drains only the pinned rendezvous relay, deletes wrong DMs and NACKs senders, accepts first matching DM and stops, returns courier_not_found if no match, and on credential_card path redeems directly without relay access. Also notes that on success, the payment processor client reinitializes without server restart.
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 lead sentence, behavior paragraphs, and an ordered args list. Every sentence adds value, covering purpose, usage constraints, edge cases, and parameter details without redundancy. It is front-loaded with the core 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 complexity (4 parameters, output schema exists), the description covers all necessary aspects: flow completion, preconditions, behavioral nuances, alternative path (credential_card), and outcome (courier_not_found or success). Since an output schema exists, it appropriately omits return value 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 the description provides all parameter meaning. It lists each parameter with clear explanations: sender_npub is 'the npub that sent the credentials', service 'must match the service used in request_credential_channel', dpop_token 'the session phrase from request_credential_channel', and credential_card 'an ncred1... card to redeem directly'. It also clarifies which are required vs optional.
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 'Pick up credentials from the Secure Courier.' It identifies the tool as completing the CREDENTIAL-DELIVERY flow and distinguishes it from the ownership-proof counterpart receive_npub_proof. The verb 'pick up' and specific resource 'credentials' provide clear 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?
Explicitly instructs 'Call this only after the user confirms they have replied.' Provides behavioral constraints: deterministic, one-shot retrieval, do NOT poll, loop, or retry. States that when credential_card is provided, dpop_token is not needed and relay access is bypassed. This gives clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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.
Args: patron_npub: Required. The patron's npub to receive proof from. dpop_token: Required. The dpop_token returned by request_npub_proof.
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | No | ||
| patron_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, so description fully handles transparency. Details deterministic one-shot retrieval, relay draining, DM matching behavior, deletion of mismatched DMs, proof storage as hash, and necessity to remember the dpop_token. All behavioral traits 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?
Well-structured with clear sections and formatting, but slightly verbose. Every sentence adds value; minor reduction would improve conciseness while retaining 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?
Complete for a one-shot retrieval tool: covers prerequisites, parameters, behavior (including edge cases like early call and mismatched DMs), return value, and post-call requirements. Output schema exists, so return values need no further explanation.
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 has 0% description coverage but description adds rich context for both parameters: explains that patron_npub is required and identifies the source of dpop_token (returned by request_npub_proof). Compensates fully for schema 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 'Receive npub ownership confirmation from a patron' with specific verb and resource. Distinguishes from sibling 'receive_credentials' by naming it as the counterpart.
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 call ('only after the user confirms they have replied') and warns against polling, looping, or retrying. Identifies the sibling 'receive_credentials' for credential delivery.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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?
No annotations provided, so the description carries the full burden. It reveals core behaviors: free, requires npub proof, idempotent, records redemption, auto-applies discount. Lacks details on side effects, authorization beyond npub, or error handling. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (76 words), logically organized with clear sentences focusing on purpose, process, and constraints. No redundant or gratuitous 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?
Output schema exists, so return values need not be explained. The description covers the redemption flow, validation, idempotency, and auto-application. Slight omission of error scenarios or lifecycle details, but sufficient for a straightforward 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%, so the description must add meaning. It explains the 'code' and 'npub' parameters but does not mention 'dpop_token'. This partially compensates for the missing schema descriptions, but leaves one parameter undocumented.
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 'Claim a coupon by its name' with a specific verb (claim/redeem) and resource (coupon by code). It distinguishes from sibling tools like mint_coupon, delete_coupon, and list_coupons, establishing a unique 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 explains when to use (to claim a coupon), prerequisites (requires npub proof), and post-effect (auto-apply discount). It mentions idempotency and free usage but does not explicitly list when not to use; however, context from sibling tools provides implicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_report_api_usageCInspect
Report Anthropic API usage from FE classification for cost tracking.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| calls | Yes | ||
| model | No | ||
| dpop_token | No | ||
| session_id | Yes | ||
| input_tokens | Yes | ||
| output_tokens | 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 provided. Description implies a write operation for cost tracking but does not disclose side effects, authentication needs, or idempotency. The mention of 'credit billing' in npub parameter is not in description itself.
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 lacks substance given the tool's complexity (7 parameters). Could be more informative 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?
Has output schema but not shown. For a tool with 7 parameters and billing implications, the one-line description is insufficient to guide 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 description coverage is only 14%, and the description adds no parameter explanations. Parameters like calls, input_tokens, output_tokens are left undefined beyond the schema's bare type.
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 'Report' and the resource 'Anthropic API usage' for cost tracking. It distinguishes from many siblings, but taxsort_get_api_usage_stats is a similar tool without 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?
No guidance on when to use this tool versus alternatives like taxsort_get_api_usage_stats. Lacks prerequisites or contextual conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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.
Args:
npub: Your Nostr public key (npub1...); the report's author of record.
dpop_token: Raw JSON of a kind-27235 Nostr event signed by npub —
not base64, not NIP-98 'Authorization: Nostr ' 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.
title: One-line summary of the problem.
body: The details — which tool, what was wrong, what you expected.
tool_name: Optional: the specific tool the report is about
(e.g. "schwab_get_option_chain").
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| npub | Yes | ||
| title | Yes | ||
| tool_name | No | ||
| dpop_token | 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 provided, the description carries the full burden for behavioral disclosure. It reveals that the action costs a fee, the report is public and attributed to the npub, and nothing is verified. It also specifies behavior when not configured. This is comprehensive for a mutation tool, though it could mention that the GitHub issue is created on the operator's repo, which is implied but 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 fairly long but efficient, with a clear front-loaded purpose statement followed by contextual notes and then detailed parameter explanations. Each sentence adds value, though some phrasing could be tightened without loss of 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 schema coverage is 0%, the description compensates fully by explaining all parameters and behavioral outcomes. It even describes the return values (repo, number, url) despite the presence of an output schema. For a tool with 5 parameters and no annotations, this is complete and self-contained.
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?
Despite zero schema description coverage, the description provides detailed explanations for all 5 parameters. For instance, 'dpop_token' is described as raw JSON of a kind-27235 Nostr event with specific tags and timing constraints, not a base64 or NIP-98 framing. 'npub' is described as the author of record. This adds critical meaning far beyond the bare 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: 'File a field report about this service as a GitHub issue on the operator's repo.' This is a specific verb+resource combination. It distinguishes from siblings like taxsort_create_feedback_issue by focusing on field reports about service metadata/issues, and the detailed context reinforces uniqueness.
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 (e.g., 'Found a tool's metadata or response wrong or confusing?') and what prerequisites are needed (npub, dpop_token). It also notes that if the operator hasn't enabled field reports, the tool returns an error without charging. However, it does not explicitly state when not to use this tool over alternatives, though the context implies it's for reporting issues with this service only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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.
Args: authority_npub: npub of the Authority to request adoption from. dpop_token: operator-npub ownership proof (inline kind-27235 or cached token). service_url: this operator's MCP endpoint (advertised to the Authority). note: optional message for the Authority owner.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| dpop_token | No | ||
| service_url | 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?
With no annotations, description fully discloses behavior: restricted to operator, ownership proof required, MCP-to-MCP communication, pending status, and eventual flip to ready. No hidden 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, front-loaded with core action, followed by a detailed explanation and parameter list. Every sentence adds value; no waste.
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 aspects: input parameters, restrictions, workflow, post-conditions, and references to sibling for polling. Despite complexity, description is fully 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?
Schema coverage is 0%, but description provides thorough explanations for all four parameters in the Args section, including purpose and examples like 'inline kind-27235 or cached token' for dpop_token.
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: 'Ask a chosen Authority to adopt this operator' with context of deferred courtship. Distinguishes from sibling taxsort_adoption_status by referencing polling for progress.
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 the operator, requires proof of control, and outlines the full workflow including resolution, proof minting, MCP delivery, and polling. Provides clear when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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.
Args: sender_npub: Required. The npub to send the template to. service: Required. The credential service name (e.g., from get_operator_onboarding_status or get_patron_onboarding_status). Free.
| Name | Required | Description | Default |
|---|---|---|---|
| service | No | ||
| sender_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?
Without annotations, description fully discloses behavior: sends welcome DM, human-in-the-loop flow, instruction to stop and wait, no polling, destructive nature of receive_credentials. Covers side effects and constraints.
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 header, flow explanation, step-by-step guidance, and parameter listing. Each sentence provides value, though a stray word 'Free.' at the end is unnecessary.
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 existence of output schema (not shown), description covers all necessary context: workflow, user interaction, error avoidance, and references to sibling tools. Agent has enough 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?
Despite 0% schema coverage, description adds meaning by labeling both parameters as Required and giving examples for service (from specific onboarding status tools). However, notes that schema does not enforce required status, which could cause confusion.
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 opens a Secure Courier channel for credential delivery, and distinguishes from the sibling tool for npub proof control (request_npub_proof). No 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?
Explicitly says when to use (credential delivery) and when not (npub proof, OAuth2 services), and advises checking service_status first. Provides clear alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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.
Args:
patron_npub: Required. The patron's npub to request proof from.
reason: 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: 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.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | ||
| verify_at | No | ||
| patron_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?
The description fully discloses behavioral traits without annotations. It explains the human-in-the-loop flow, that it sends a challenge DM, that the user must sign and reply, that it does not poll, that receive_npub_proof destroys relay mailbox, and that the returned dpop_token must be remembered as MCP does not retain it. It also mentions the expiration lifecycle.
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 paragraphs, bullet points, and bold emphasis, but it is quite lengthy. Every sentence adds value, covering purpose, usage, parameters, lifecycle, and warnings. However, it could be slightly more concise by grouping related information more tightly.
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 is complete for the tool's complexity. It covers the flow, parameter semantics, return value (dpop_token), lifecycle, and dependencies on sibling tools. The existence of an output schema reduces the need to detail return format, but the description mentions the token and its usage adequately.
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?
Despite 0% schema coverage, the description provides detailed semantics for each parameter: patron_npub (required, identifies patron), reason (human-readable purpose signed into attestation), verify_at (verification location to prevent unsolicited requests). It adds context beyond the schema, such as the proof flow and token 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: 'Request npub ownership proof from a patron via Nostr DM.' It distinguishes from sibling tools by specifying it proves npub ownership and does not deliver service secrets, and references the sibling 'request_credential_channel' for that 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 states when to use this tool ('when a call returns proof_required') and when not to use it ('to hand an operator its API keys or OAuth secrets, use request_credential_channel instead'). It provides step-by-step guidance: call, wait for user, then call receive_npub_proof. It warns against polling and explains the destructive nature of receive_npub_proof.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_request_unlockCInspect
Request a session unlock after timeout.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| 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. Description only says 'request a session unlock' but does not disclose side effects, synchronization, authentication requirements, or success/failure behavior. Minimal disclosure for a likely mutating 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?
Single sentence, front-loaded with key info. No fluff, but could add more context without sacrificing conciseness (e.g., what the unlock entails).
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, partial schema coverage, and an output schema not described, the description is incomplete. No explanation of dpop_token or response format. Requires more detail for a complete 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 has 2 params (npub with description, dpop_token without). Description adds no parameter info; dpop_token remains undocumented. Schema coverage is 50%, and 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?
Description clearly states 'Request a session unlock after timeout.' Specifies verb (request), resource (session unlock), and context (after timeout). Distinguishes from siblings like taxsort_check_unlock (check status) and taxsort_create_session (create session).
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 vs alternatives (e.g., taxsort_check_unlock for checking unlock status). No prerequisites mentioned (e.g., need an existing session that is locked).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_reset_classificationsBInspect
Delete all classifications but keep the imported transactions.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| dpop_token | No | ||
| session_id | 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 provided, and the description only states the action ('delete all classifications'). It does not disclose irreversibility, required permissions, side effects, or session requirements, which are critical for a destructive 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?
A single, front-loaded sentence that efficiently conveys the core action and constraint. 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?
For a destructive tool with three parameters and no annotations, the description is too minimal. It omits context about session dependency, authorization, or the relationship to sibling tools, despite the output schema existing.
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 low (33%), and the description adds no explanation for parameters like 'dpop_token' or 'session_id'. The schema provides a description only for 'npub', but the description does not compensate for the missing parameter documentation.
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 ('Delete all') and resource ('classifications') and states the scope ('keep the imported transactions'). It clearly distinguishes from sibling tools like 'delete_classification' (singular) and 'clear_transactions' (different 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?
No guidance on when to use this tool versus alternatives such as 'taxsort_delete_classification' for individual deletions or 'taxsort_clear_transactions' for transactions. No prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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?
With no annotations provided, the description carries full burden. It details destructive behavior: 'Erase all pricing models', 'Deletes every stored model', then 'self-initializes a fresh one'. Also mentions authentication requirement and return value. Discloses key traits adequately.
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 (three sentences) with front-loaded action statement. Uses bold for emphasis ('RESTRICTED') and avoids unnecessary words. 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?
Exists output schema presumably documenting return value, so less burden on description. The tool is complex (destructive reset), and description covers main aspects but omits parameter explanation and irreversibility warning. Adequate but with 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 0%, yet the description does not explain the 'dpop_token' parameter. While 'requires proof (nsec-signed)' hints at its purpose, the parameter is not directly described. Agents cannot understand what to pass, degrading usability.
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 verb 'Erase' and 'restore' with resource 'pricing models'. It differentiates from siblings like taxsort_get_pricing_model and taxsort_set_pricing_model by explaining it deletes all stored models and initializes a default. Purpose is specific and distinct.
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 notes it is 'RESTRICTED to operator — requires proof (nsec-signed)', indicating usage context. However, it does not explicitly state when to use vs alternatives like taxsort_set_pricing_model. Provides clear context but lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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.
Args: invoice_id: The BTCPay invoice ID to verify and credit. patron_npub: The patron's npub whose ledger receives the grant. dpop_token: A kind-27235 Nostr event signed by the OPERATOR's nsec for this tool. Patron proofs are rejected.
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | Yes | ||
| invoice_id | Yes | ||
| patron_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?
Discloses idempotency, auth requirement (dpop_token signed by operator), and behavior on already credited invoices. Without annotations, this is thorough, though it doesn't detail error conditions 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 well-structured but slightly verbose. Every sentence adds value, but could be tightened 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 tool's complexity (3 required params, no annotations, output schema), the description covers purpose, usage, parameters, behavior, and restrictions comprehensively. It also differentiates from 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?
With 0% schema coverage, the description fully compensates by explaining each parameter's purpose and format, especially the dpop_token's Nostr event nature and signing requirement.
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 'Credit a patron's ledger from a BTCPay-settled invoice' with a specific verb and resource. It distinguishes this tool from siblings like 'purchase_credits' by emphasizing manual operator intervention.
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 the operator, lists concrete use cases (cold-start vault races, hiccups, etc.), and explains when to escalate to support. Provides clear when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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?
With no annotations, the description covers key behaviors: diagnostic tool, idempotent, returns per-step result, surfaces Neon error messages inline, and requires restricted operator access with nsec-signed proof. No contradictions detected.
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: purpose, usage context, behavioral details, and restrictions are clearly conveyed without 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 the tool's complexity and the presence of an output schema (not shown), the description adequately covers purpose, usage, and behavior. Minor omission: lacks explanation of the dpop_token parameter.
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 one parameter (dpop_token) with 0% description coverage. The description does not explain this parameter's purpose or usage, leaving a gap despite the tool's critical nature.
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 re-runs ensure_schema() on every NeonVault, specifying it's a diagnostic/recovery tool for persistent 4xx errors. It distinguishes itself from sibling tools by focusing on schema restoration.
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 when to use (persistent 4xx errors, schema/grants suspicion) and notes idempotency for safe re-running. It lacks explicit guidance on when not to use or alternatives, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_save_classificationsBInspect
Bulk write classifications from the FE.
classifications is a JSON array of objects, each with:
id: raw_transaction_id
category, subcategory (required)
confidence, reason, merchant, description_override (optional)
classified_by: 'ai' | 'rule' | 'manual' (default 'ai')
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| dpop_token | No | ||
| session_id | Yes | ||
| classifications | 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. The description labels the operation as a 'write' but does not disclose whether classifications are overwritten or merged, reversal possibilities, or billing implications beyond the npub note. Lacks detail on 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 concise, front-loads the purpose, and then details the classifications format with bullet points. No unnecessary words. Could split into sections but 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?
With 4 parameters and an output schema, the description only addresses one parameter (classifications) and its structure. It omits return values, effects on existing data, and billing details. Incomplete for a write 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 low (25%). The description explains the 'classifications' parameter structure in detail, adding significant value. However, it does not document 'npub', 'dpop_token', or 'session_id', leaving their semantics unclear despite the schema being sparse.
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 verb ('write') and resource ('classifications'), indicating a bulk write operation. It distinguishes from sibling tools like taxsort_delete_classification and taxsort_reset_classifications by focusing on saving.
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 explicitly state when to use this tool versus alternatives (e.g., individual classification updates). It implies bulk saving but provides no guidance on prerequisites or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_save_custom_categoryCInspect
Add a custom category/subcategory (e.g. Personal / Auto Gas).
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| category | Yes | ||
| dpop_token | No | ||
| subcategory | 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?
Without annotations, the description should disclose behavioral traits. It indicates a write operation but does not mention idempotency, overwrite behavior, or required credentials, leaving important gaps.
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 (one sentence) but sacrifices completeness. It fits the tool's simplicity but could benefit from additional 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 presence of an output schema and sibling tools, the description lacks details on return values, error handling, and parameter usage. It is insufficient for an agent to correctly invoke the tool without inferring much.
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 25%, and the description adds no explanation of the four parameters. The example hints at category and subcategory structure but does not explicitly link to schema fields, providing minimal 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 ('Add a custom category/subcategory') and provides an example, making it distinct from sibling tools like taxsort_get_custom_categories and taxsort_delete_custom_category.
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 vs alternatives or prerequisites. Usage is implied by the tool name and context, but lacks details like authentication requirements via npub.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_save_ruleAInspect
Create a classification rule.
Provide description_pattern (regex matched case-insensitively against the transaction description), category, and subcategory. Optionally add amount_operator (lt, lte, gt, gte, eq, neq) and amount_value to filter by amount. When the compound constraint matches, category, subcategory, and optionally description (new_description) are written.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| category | Yes | ||
| dpop_token | No | ||
| session_id | No | ||
| subcategory | Yes | ||
| amount_value | No | ||
| amount_operator | No | ||
| new_description | No | ||
| description_pattern | 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 provided. Description mentions the matching and writing behavior but does not disclose side effects (e.g., overwriting existing rules), authentication requirements (e.g., npub), or output format. Partially transparent but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, no redundancy. All critical information about the rule creation is front-loaded, with 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?
Covers core functionality but lacks context on authentication (npub required for billing) and error handling. Output schema exists but description doesn't reference it. Adequate but with gaps for a 9-parameter 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 only 11% (only npub described). The description adds meaning to key parameters (description_pattern as regex, amount_operator values, new_description as optional rewrite) but omits details for npub, dpop_token, session_id, etc. Moderate value added.
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 'Create a classification rule' with a specific verb and resource. It distinguishes from siblings like taxsort_apply_rules, taxsort_delete_rule, and taxsort_get_rules by focusing on creation.
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., taxsort_apply_rules for applying rules). The description only explains what the tool does, not when it should be chosen.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_service_statusBInspect
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?
No annotations provided, so description carries full burden. It indicates a read-only operation but lacks details on authentication, rate limits, or whether it can be called freely.
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 one short sentence, very concise. The word 'Free.' adds minimal value but does not detract significantly.
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 params, output schema exists), the description is minimally adequate. It states the purpose but lacks scope or typical usage 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?
No input parameters, so baseline score of 4 applies. The description adds no further parameter information, which is acceptable given zero 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 states 'Check the health and configuration of this service', which is a specific verb and resource. However, it does not differentiate from sibling status tools like taxsort_adoption_status or taxsort_session_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?
No guidance on when to use this tool versus alternatives. The description only states the operation and that it is 'Free', but does not provide context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_session_heartbeatCInspect
Presence heartbeat. Returns who else is active in this session.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| dpop_token | No | ||
| session_id | 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 reveals the tool returns active participants but fails to disclose side effects, read safety, authentication requirements, or any billing implications. The minimal text leaves behavioral traits largely unknown.
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?
Two sentences, no filler, and front-loaded with the core concept. However, extreme brevity sacrifices useful detail, so not a perfect 5. It earns its keep but could be more informative without increasing length significantly.
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 heartbeat tool with an output schema, the description covers the basic return value but lacks parameter details and usage context. It is minimally viable but leaves gaps that could mislead an agent, especially regarding when and how to 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 description coverage is only 33% (only npub described), well below 50%, so the description must compensate. It adds no parameter information whatsoever. The undocumented dpop_token and session_id parameters remain opaque, severely hindering 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 clearly states 'Presence heartbeat. Returns who else is active in this session,' using specific verb 'Returns' and defined resource 'active participants'. It distinguishes from siblings like taxsort_session_status and taxsort_create_session by focusing on heartbeat functionality.
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 (e.g., taxsort_session_status). The context of periodic calling is implied by 'heartbeat' but not explicit, and there are no when-not-to-use or prerequisite instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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.
Args:
patron_npub: 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.
| Name | Required | Description | Default |
|---|---|---|---|
| patron_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 description fully discloses behavior: each state's implications, that free tools remain available under quota_exceeded, and that retrying doesn't help for misconfigured/quota_exceeded. Explains optional param's effect on output.
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 summary line followed by bullet points for states. Every sentence adds value, though slightly lengthy due to detail; still efficient 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?
Covers all essential aspects: input (optional param with explanation), behavior (lifecycle states), and output hints (upstream_oauth block). With output schema present, no further description needed. 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?
Schema has 0% description coverage, but description fully explains the lone parameter 'patron_npub': its purpose (upstream_oauth block), condition (if supplied), and benefit (proactive refresh). Adds significant meaning beyond schema type/default.
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 checks operator readiness and returns lifecycle state with guidance. Distinguishes from sibling tools like service_status by focusing on operator-specific states.
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 actions for each lifecycle state (e.g., 'Proceed with tool calls', 'Call register_operator first'), including when retrying is futile. Gives context for optional parameter use to avoid stale-token failures.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_set_account_typeCInspect
Set an account's type: bank (checking/savings), card (credit/debit), investment, or loan.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| dpop_token | No | ||
| session_id | Yes | ||
| account_name | Yes | ||
| account_type | 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 must fully disclose behavioral traits. It indicates mutation ('Set') but does not explain side effects, idempotency, authentication requirements, or potential errors. For example, does it overwrite the existing type? Are there any destructive 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 a single, front-loaded sentence with no fluff. It efficiently conveys the primary action and allowed types. Could be slightly more structured to include parameter roles, but remains 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 5 parameters (3 required) and no annotations, the description is incomplete. It does not mention the output schema existence, error conditions, or prerequisites. An agent would lack sufficient context to use this tool reliably without additional information.
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 20% (only 'npub' has a description). The description lists allowed account types, which adds some value, but does not explain the other parameters (session_id, account_name) or their formats/constraints. The parameter 'account_type' lacks an enum definition in the schema, so the description compensates partially.
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 ('Set an account's type') and lists valid account types (bank, card, investment, loan). This distinguishes it from sibling tools like taxsort_get_accounts (read) or taxsort_delete_account_transactions (delete). However, it could be more specific about what 'bank' and 'card' subtypes mean.
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. There are no prerequisites, when-not-to-use instructions, or mentions of related tools. For instance, whether the account must exist first or if this updates an existing type is not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_set_pricing_modelAInspect
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?
Discloses the authentication requirement (operator proof) but does not mention other behavioral aspects like side effects or idempotency. No annotations to supplement.
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 no wasted words. 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?
Lacks essential details about the model_json parameter and output behavior. With no annotations or schema descriptions, more context is needed for 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?
No parameter descriptions in schema (0% coverage) and description does not explain the required model_json parameter. Agent lacks guidance on format or content.
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 is to set the active pricing model. Distinguishes from sibling tools like get and 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?
Specifies that usage is restricted to operators and requires a Schnorr-signed proof. Does not explicitly mention alternatives but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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 key behaviors: patch operation, clearing caps via boolean flags, renaming is allowed and preserves patron redemption data, and access restriction requires proof. With no annotations, this is thorough, though it could mention idempotency or behavior for sending unchanged fields.
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, each adding distinct value: purpose, usage pattern, special behavior, and access restriction. It is well-structured and front-loaded with the core action.
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 10-parameter schema with 0% description coverage and the presence of an output schema, the description covers main editing behavior, special clearing, renaming effects, and access. Missing a description of dpop_token and the specific editable fields reduces completeness slightly.
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 the description must compensate. It explains the clear_uses_per_patron and clear_total_uses flags and mentions renaming the 'name' field, but does not describe other parameters like total_uses, discount_percent, or dpop_token. This partial coverage places it at a 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 'Patch a coupon's editable fields,' providing a specific verb and resource. It distinguishes from sibling tools like mint_coupon and delete_coupon by focusing on updating existing coupons.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises to pass only changed fields and explains special clear flags, plus notes the access restriction to operators. It implies when to use this tool (for modifying a coupon) and when not (e.g., for creating or deleting), but doesn't explicitly name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_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.
Args:
npub: The patron's Nostr public key (npub1...).
dpop_token: Raw JSON of a kind-27235 Nostr event signed by npub —
not base64, not NIP-98 'Authorization: Nostr ' 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.
field: The credential field name to set.
value: The value to store.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | ||
| field | Yes | ||
| value | Yes | ||
| dpop_token | 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 fully describes the write operation to a sensitive vault, the need for dpop_token proof, and the merge behavior. It lacks details on idempotency or error handling, but overall is 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 front-loaded with the purpose, then a paragraph and bullet-pointed Args. It is slightly verbose, especially on dpop_token, but the detail is justified for a sensitive operation. Structured 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?
Covers input parameters, use cases, and behavioral constraints. Output schema exists so return values are not required. Missing mention of failure modes or rate limits, but overall sufficient for this moderate-complexity 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 has 0% description coverage, but the description provides extensive semantics for each parameter: npub format, dpop_token format and constraints (kind-27235, nonce, timing), field name, and value. This far exceeds 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 'Add or update a single patron credential field' and explains it merges into existing stored credentials without affecting other fields. This distinguishes it from sibling tools like delete_patron_credential or get_patron_credential_fields.
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 use cases ('setting an account identifier after OAuth, changing a default brain') and notes that proof of npub ownership is required. Does not explicitly list when not to use or compare to alternatives, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxsort_verify_passphraseBInspect
Verify a passphrase to unlock a timed-out session.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| dpop_token | No | ||
| passphrase | 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 behavioral traits. It only states the basic action without mentioning auth requirements, rate limits, or consequences of success/failure. The action likely changes state, but this is not clarified.
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. It efficiently conveys the core 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 sensitivity of unlocking a session, the description lacks essential context such as error handling, idempotency, or post-unlock behavior. The presence of an output schema mitigates some need for return value explanation, but significant 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?
With only 33% schema description coverage, the description fails to add meaning to the parameters. It does not explain npub, dpop_token, or the expected format of passphrase, leaving the agent underinformed.
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 'verify', the resource 'passphrase', and the purpose 'to unlock a timed-out session'. This distinguishes it from sibling tools like taxsort_check_unlock or taxsort_request_unlock, which have different actions.
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 session is timed out and needs unlocking via passphrase verification, but it does not explicitly compare with alternatives or state 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.
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-qualityBmaintenanceMCP server for personal finance management. Enables natural language expense logging, budgeting, recurring charge detection, and statement import with deterministic local calculations.Last updated
- Alicense-qualityBmaintenanceMCP server that turns bank transactions into a financial digest including cash-flow forecast, spending breakdown, fee detection, and receipt reconciliation, exposing deterministic engines as JSON-RPC tools.Last updatedApache 2.0
- Alicense-qualityBmaintenanceA sovereign, MIT-licensed MCP server for US tax operations, enabling offline-capable and self-hostable tax workflow management.Last updatedMIT
- AlicenseAqualityBmaintenanceAccounting automation MCP server for Japanese tax firms. Two-stage classifier (keyword + Claude AI) with TaxRuleEngine for consumption tax, withholding, invoice system, and confidence-based routing.Last updated122MIT
Your Connectors
Sign in to create a connector for this server.