Skip to main content
Glama

Server Details

FastMCP server for TheBrain API — AI access to a personal knowledge graph, Tollbooth-monetized

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
lonniev/thebrain-mcp
GitHub Stars
3
Server Listing
TheBrain MCP Server

Glama MCP Gateway

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

MCP client
Glama
MCP server

Full call logging

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

Tool access control

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

Managed credentials

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

Usage analytics

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

100% free. Your data is private.
Tool DescriptionsB

Average 3.8/5 across 80 of 80 tools scored. Lowest: 2.6/5.

Server CoherenceA
Disambiguation4/5

Most tools have distinct purposes, but the high number (80) creates potential confusion between similar operations (e.g., receive_credentials vs receive_npub_proof vs receive_patron_credentials). Descriptions are detailed and help differentiate, but an agent may still miscall if not careful.

Naming Consistency4/5

All tools start with 'brain_' and mostly follow verb_noun pattern. However, there are deviations like 'brain_brain_query' (redundant), 'brain_event_for_person' (preposition), and 'brain_morph_thought' (unusual verb), which slightly reduce consistency.

Tool Count2/5

80 tools is excessive for a single MCP server. While the domain is broad (brain management + credits/identity/operator), many administrative tools (coupons, notarization, oracle) seem peripheral to a 'personal brain'. Separating into sub-servers would improve coherence.

Completeness4/5

CRUD operations for thoughts, links, notes, attachments are covered. Search, graph, and tags are present. The additional ecosystem (Nostr, credentials, pricing) is comprehensive. Minor gaps: no explicit delete_note (relies on delete_thought) and no batch operations.

Available Tools

81 tools
brain_account_statementAInspect

Generate a patron's account statement at this operator.

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days of daily usage history to include (default 30).
npubYesThe patron's Nostr public key (npub1...).
dpop_tokenYesA kind-27235 Nostr event signed by npub for this tool.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

No annotations are provided, so the description must fully disclose behavior. It states the tool is free and requires authentication, but does not explicitly clarify that it is a read-only operation (no side effects). While it implies a read by generating a statement, explicit mention of non-mutating behavior would improve transparency.

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

Conciseness5/5

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

The description is concise, with three sentences covering purpose, contents, and key constraints. It is front-loaded with the main action and structured logically, with no superfluous information.

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

Completeness4/5

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

Given the presence of an output schema and only three parameters, the description covers the essential aspects: what the tool returns, authentication, and cost. It could be slightly more complete by explicitly stating that it is a read-only operation, but overall it provides sufficient context for correct invocation.

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

Parameters4/5

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

Schema coverage is 100% with descriptions for all three parameters. The description adds context beyond the schema: it links dpop_token to 'proof of npub ownership' and explains the purpose of npub as the patron's Nostr public key. This extra context helps the agent select appropriate parameter values.

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

Purpose5/5

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

The description clearly states the tool generates a patron's account statement and lists the specific data included (purchase history, credit tranches, usage breakdown, daily logs). It also explicitly distinguishes from the operator's Authority tax balance, making the purpose unambiguous.

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

Usage Guidelines4/5

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

The description provides key usage context: it's free, requires proof of npub ownership (dpop_token), and is intended for the patron's own account statement. It does not explicitly contrast with sibling tools like brain_check_balance or brain_purchase_credits, but the clarity of purpose and preconditions is sufficient for an agent to decide when to invoke it.

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

brain_account_statement_infographicAInspect

Generate a visual SVG infographic of your account statement.

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

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days of daily usage history to include (default 30).
npubYesThe Nostr public key (npub1...) whose statement to render.
dpop_tokenYesA kind-27235 Nostr event signed by npub for this tool.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

No annotations provided, so the description carries the burden. It discloses the cost (1 api_sat), verification step (`debit_or_deny`), and output components, providing good transparency beyond basic purpose.

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

Conciseness5/5

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

The description is two concise sentences with no wasted words. It front-loads the purpose and packs key details (output format, cost, verification) efficiently.

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

Completeness5/5

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

Given the presence of an output schema and high schema coverage, the description is complete. It covers cost, verification, output structure, and relationship to sibling tool, leaving no gaps for an infographic generation tool.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters are well-documented in the schema. The description adds no extra parameter semantics beyond mentioning similarity to `account_statement`, which is not parameter-specific.

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

Purpose5/5

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

The description clearly states the tool generates a visual SVG infographic of an account statement, distinguishing it from the sibling `brain_account_statement` which likely returns raw data.

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

Usage Guidelines3/5

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

The description mentions cost and verification but does not explicitly state when to use this tool over alternatives or provide exclusion criteria.

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

brain_add_file_attachmentCInspect

Add a file attachment to a thought. Requires npub for credit billing.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
brain_idNoThe ID of the brain (uses active brain if not specified)
file_nameNoName for the attachment (optional)
file_pathYesPath to the file to attach
dpop_tokenNo
thought_idYesThe ID of the thought

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations provided, so description must disclose behavioral traits. It only mentions the action and a requirement. Missing details: what happens on invalid file_path, whether attachments overwrite, size limits, or effects on thought. For a mutating 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.

Conciseness4/5

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

Two concise sentences: one for purpose, one for requirement. Front-loaded with main action. No unnecessary words, though some useful details are omitted.

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

Completeness2/5

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

Despite having an output schema (not shown), the description lacks critical context: supported file types, size limits, behavior when thought_id is missing, and distinction from URL attachment. For a tool with 6 parameters and significant side effects, it is incomplete.

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

Parameters3/5

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

Schema description coverage is 83%, so most parameters are already documented in the schema. The description adds no extra parameter meaning beyond 'Requires npub,' which is already in schema. Baseline 3 is appropriate.

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

Purpose4/5

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

Description clearly states the action: 'Add a file attachment to a thought.' The verb 'add' and resource 'file attachment' are specific. It distinguishes from sibling 'brain_add_url_attachment' by mentioning 'file', but does not explicitly contrast them.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like brain_add_url_attachment or brain_delete_attachment. The only usage hint is 'Requires npub for credit billing,' which is a prerequisite, not a usage scenario.

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

brain_add_url_attachmentBInspect

Add a URL attachment to a thought. Requires npub for credit billing.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL to attach
nameNoName for the URL attachment (auto-fetched if not provided)
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
brain_idNoThe ID of the brain (uses active brain if not specified)
dpop_tokenNo
thought_idYesThe ID of the thought

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With no annotations provided, the description carries the full burden. It adds one behavioral fact ('Requires npub for credit billing'), which is useful. However, it does not disclose idempotency, side effects, or whether the thought must exist. This is adequate but minimal.

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

Conciseness5/5

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

The description is a single sentence that states the purpose immediately and includes a critical prerequisite. No wasted words.

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

Completeness4/5

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

Given an output schema exists and the tool is simple, the description covers the core purpose and a key constraint (npub for billing). It does not mention thought existence or retrieval, but those are somewhat implied. Sufficient for a basic tool.

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

Parameters3/5

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

Schema coverage is 83%, so most parameters already have descriptions in the schema. The description repeats the billing requirement for npub but adds no extra meaning for other parameters. Baseline 3 is appropriate.

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

Purpose4/5

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

The description 'Add a URL attachment to a thought' clearly states the action and resource. It is specific and not a tautology. However, it does not explicitly distinguish from the sibling tool 'brain_add_file_attachment', which is a closely related alternative.

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

Usage Guidelines2/5

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

The description only mentions a prerequisite (requires npub) but provides no guidance on when to use this tool vs alternatives, or when not to use it. The sibling 'brain_add_file_attachment' exists but is not mentioned.

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

brain_adoption_statusAInspect

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
dpop_tokenNo
authority_npubYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

No annotations are provided, so the description carries full burden. It implies read-only behavior ('check', 'polls') but does not explicitly state that no state is modified, nor does it disclose authentication requirements or potential errors.

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

Conciseness5/5

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

The description is short and to the point: three sentences with no unnecessary words. It efficiently conveys the purpose and method.

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

Completeness3/5

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

Given the tool's simplicity and presence of an output schema, the description covers the main purpose and possible statuses. However, it omits parameter details and error scenarios, making it incomplete for full agent comprehension.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only implicitly explains authority_npub via 'at a chosen Authority'. The dpop_token parameter is not mentioned at all, leaving the agent uninformed about its purpose.

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

Purpose5/5

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

The description clearly states the verb 'check', the resource 'adoption-request status', and the context 'at a chosen Authority'. It distinguishes this tool from siblings like brain_request_adoption or brain_get_operator_onboarding_status.

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

Usage Guidelines3/5

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

The description mentions it is 'Free' and 'polls the Authority MCP-to-MCP', but does not provide explicit guidance on when to use this tool versus alternatives, nor does it specify prerequisites or exclusions.

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

brain_append_to_noteCInspect

Append content to an existing note. Requires npub for credit billing.

Note style. Prefer plain prose. Reserve bold for rare critical flags only — a ⚠️ caution, an unconfirmed-status note — never for ordinary emphasis, labels, or whole clauses. Overusing bold buries the links and makes notes hard to scan; let thought-links and source links carry the visual emphasis. Put web sources on a quiet "Sources:" line rather than bolding labels like "TL;DR" or "Source". Linking to other thoughts. To link from inside a note to another thought, write a wikilink: [[Thought Name]] or [[Thought Name|display text]]. The tool resolves it to the correct in-plex thought link automatically — do not hand-write brain:// URLs or paste GUIDs. If a name is ambiguous or not found, the tool leaves the [[...]] literal and returns it in unresolved; disambiguate by pinning the id with [[#]]. For external web pages, use normal markdown links: text.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
brain_idNoThe ID of the brain (uses active brain if not specified)
markdownYesMarkdown content to append
dpop_tokenNo
thought_idYesThe ID of the thought

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

No annotations provided, so description carries the burden. It mentions credit billing and automatic link resolution, but omits key behavioral traits: error handling, idempotency, what happens if note doesn't exist, and whether appending is at the end. Lacks full disclosure.

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

Conciseness2/5

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

The description is excessively long with a detailed style guide that is not directly relevant to the tool's function. The first sentence is sufficient; the rest should be in documentation. Not concise.

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

Completeness2/5

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

Despite having an output schema, the description lacks completeness about functional behavior: success indicators, error conditions, and whether append is at the end. The focus on stylistic rules leaves gaps in actionable information for the agent.

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

Parameters3/5

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

Schema coverage is 80%, so most parameters already have descriptions. The description adds no additional parameter semantics beyond what the schema provides. The note style and linking info are not parameter-specific.

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

Purpose4/5

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

The first sentence clearly states the verb 'Append' and resource 'existing note'. However, the description dwells on note style and linking guidelines, which dilute the clarity. It does not specify whether append means at the end or elsewhere.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like brain_create_or_update_note. The only usage hint is 'Requires npub for credit billing', but no when-not or exclusion criteria.

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

brain_brain_queryBInspect

Primary tool for pattern-based operations on TheBrain. Requires npub for credit billing.

Accepts BrainQuery (BQL) -- a Cypher subset supporting MATCH, WHERE, CREATE, SET, MERGE, DELETE, and RETURN.

⚠️ Name-based matching (MATCH by name, WHERE CONTAINS/STARTS WITH/=~) resolves through the vendor's search/name index, which is incomplete on large brains (TheBrainTech/thebrain-api-quickstart-python#1): a query may fail to match a thought that provably exists. An empty match set is NOT proof of absence — do not CREATE/MERGE a node on the assumption it is missing without an ID-based check (get_thought). Matching by ID is reliable; matching by name inherits the index's blind spots.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
queryYesA BrainQuery string (Cypher subset).
confirmNoSet to true to confirm and execute a DELETE operation.
brain_idNoThe ID of the brain (uses active brain if not specified)
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It mentions that the tool accepts BrainQuery including destructive clauses (DELETE, CREATE, etc.) and requires an npub for billing, but it does not explicitly state that it can modify data or that the 'confirm' parameter is required for deletion. The agent is not adequately warned about potential 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.

Conciseness5/5

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

The description is extremely concise, consisting of two sentences that front-load the core purpose and key requirement (npub). Every sentence adds value, with no wasted words.

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

Completeness3/5

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

Given the tool's complexity (a general query interface with read/write capabilities) and the presence of many sibling tools, the description is somewhat brief. It lacks guidance on safety, prerequisite knowledge (e.g., BrainQuery syntax), and when to use it versus other tools. However, the output schema (not shown) may compensate for some gaps.

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

Parameters3/5

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

Schema description coverage is 80%, so the schema already explains most parameters. The description adds value by clarifying that npub is for credit billing and that the query parameter accepts BrainQuery, but it does not explain confirm, brain_id, or dpop_token beyond the schema. Baseline 3 is appropriate.

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

Purpose4/5

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

The description states it is the 'primary tool for pattern-based operations on TheBrain' and mentions BrainQuery (BQL), a Cypher subset. This clearly identifies the tool's purpose as a general query interface, distinguishing it from more specific sibling tools like brain_search_thoughts or brain_get_thought. However, 'pattern-based operations' is somewhat vague and could be more precise.

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

Usage Guidelines3/5

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

The description calls it the 'primary tool for pattern-based operations,' which implies it should be used for complex queries, but it does not explicitly state when to use this tool versus alternatives like brain_search_thoughts for simple searches or brain_get_thought for direct retrieval. No exclusions or when-not-to-use guidance is provided.

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

brain_check_authority_balanceAInspect

Check this operator's tax balance at the Authority.

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses that the tool checks balance and returns sats available, explains consequences of zero balance, and clarifies the nature of the balance. No side effects are implied.

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

Conciseness5/5

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

The description is concise yet informative, starting with the main purpose, then details on return value, condition for zero balance, and clarification. Every sentence adds value.

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

Completeness5/5

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

Given the simplicity (no params) and the presence of an output schema, the description is complete. It covers what the balance is, how it is used, and what to do when it runs out.

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

Parameters4/5

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

The tool has no parameters (schema coverage 100% trivially). The description adds meaning by explaining the balance's purpose and consequences, beyond the empty schema.

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

Purpose5/5

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

The description clearly states the tool checks the operator's tax balance at the Authority. It specifies the resource and action, and distinguishes itself from siblings by noting it is the operator's own funding, not a patron balance.

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

Usage Guidelines4/5

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

The description explains when to use (to check balance for certifying patron purchases) and what to do if balance is zero (call purchase_credits). It does not explicitly mention when not to use or compare to alternatives, but provides sufficient context.

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

brain_check_balanceAInspect

Check a patron's credit balance at this operator.

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
npubYesThe Nostr public key (npub1...) whose balance to check.
dpop_tokenYesA kind-27235 Nostr event signed by npub for this tool.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, description discloses that the tool is free (no credits required) and requires a kind-27235 Nostr event as proof of npub ownership. Addresses security rationale. Could mention behavior on invalid input, but overall sufficient for a read operation.

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

Conciseness4/5

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

Well-structured with three clear paragraphs: purpose, distinction, and important notes. Front-loaded with the action. Could slightly condense the second and third paragraphs, but still efficient.

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

Completeness5/5

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

For a simple two-parameter tool with an output schema, the description covers purpose, differentiation from siblings, cost, authentication, and security rationale. No significant gaps.

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

Parameters5/5

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

Schema has 100% coverage with descriptions. Description adds context: specifies that dpop_token must be a kind-27235 Nostr event signed by npub, and explains why proof of ownership is required. This goes beyond schema.

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

Purpose5/5

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

Clearly states the tool checks a patron's credit balance at this operator. Specifies the balance type (spending balance from Lightning purchases). Distinguishes from sibling tool brain_check_authority_balance by explicitly naming the alternative.

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

Usage Guidelines5/5

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

Provides explicit guidance: when to use (check patron spending balance), when not to use (for operator's own balance, use authority_check_balance). Also notes it is free and requires proof of npub ownership, setting clear prerequisites.

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

brain_check_paymentAInspect

Check the payment status of a Lightning invoice.

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

ParametersJSON Schema
NameRequiredDescriptionDefault
npubYesThe Nostr public key (npub1...) that purchased the invoice.
dpop_tokenYesA kind-27235 Nostr event signed by npub for this tool.
invoice_idYesThe invoice ID returned by purchase_credits.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With no annotations, the description carries the burden. It discloses that the tool is free and requires proof of npub ownership, but does not discuss other behavioral traits like idempotency, rate limits, or side effects. Acceptable but not comprehensive.

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

Conciseness5/5

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

Three sentences cover purpose, timing, cost, and auth. Extremely concise with no filler. Information is front-loaded and well-structured.

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

Completeness5/5

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

Given the output schema exists (so return values are covered), the description adequately covers purpose, usage sequence, cost, and security requirement. No gaps for a check-status tool.

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

Parameters3/5

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

Schema coverage is 100%, so parameters are well-documented in the schema. The description does not add additional semantic value beyond noting that invoice_id comes from purchase_credits, which is contextual rather than parameter detail.

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

Purpose5/5

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

The description clearly states the action ('Check the payment status of a Lightning invoice') and specifies the resource (invoice). It also provides context linking it to purchase_credits, distinguishing it from sibling tools that handle other operations.

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

Usage Guidelines4/5

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

Explicitly states when to call ('after paying the invoice from purchase_credits'), and mentions prerequisites (proof of npub ownership). It does not list alternatives, but the context is sufficient for a check tool.

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

brain_check_priceAInspect

Preview the effective cost of a tool call.

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

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

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With no annotations provided, the description carries the burden. It states the tool is free ('no credits required') and previews costs, but does not mention idempotency, rate limits, or side effects. It adds some behavioral context 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.

Conciseness5/5

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

Two sentences with no wasted words. First sentence front-loads the purpose, second adds detail. Extremely concise and structured effectively.

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

Completeness3/5

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

Given the existence of an output schema (not shown), the description adequately explains what the tool returns (base cost, constraint effects). However, it does not provide any usage context or prerequisites beyond what is in the schema, leaving some gaps for a pricing preview tool.

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

Parameters2/5

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

Schema description coverage is 50% (only tool_id and tool_kwargs have descriptions). The tool description does not add meaning for the undocumented parameters (npub, dpop_token) and does not compensate for the gaps. It relies on the schema's existing descriptions.

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

Purpose5/5

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

The description clearly states it 'previews effective cost of a tool call' and explains what it shows (base cost, constraint effects). This verb+resource combination distinguishes it from sibling tools like brain_get_pricing_model or brain_check_balance.

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

Usage Guidelines4/5

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

The description implies usage when you want to know cost before calling a tool, but does not explicitly state when not to use it or mention alternatives. The context is clear but lacks exclusions.

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

brain_check_proof_statusAInspect

Check whether a previously-cached dpop_token is still valid.

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

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

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

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description carries the burden and discloses key traits: it is free, has no side effects, does not evict cache or touch relays. This is sufficient for a safe read operation.

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

Conciseness5/5

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

The description is three sentences, each adding unique value: function, analogy/use case, and safety guarantees. No redundant or wasted words.

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

Completeness5/5

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

Given the tool's simplicity, the description covers function, use case, side effects, and parameter origins. The output schema exists to handle return value details, so completeness is high.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds minimal parameter context beyond the schema (e.g., dpop_token from request_npub_proof/receive_npub_proof), but the schema already includes that.

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

Purpose5/5

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

The description clearly states the tool checks validity of a cached dpop_token, distinguishing it from similar tools by explicitly referencing the npub-proof flow and providing a concrete use case ('will my next paid call accept this dpop_token?').

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

Usage Guidelines4/5

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

The description explains when to use (before a paid call to avoid burning credits on failure) and notes the tool is free with no side effects. It doesn't explicitly state when not to use, but the context is sufficient for an agent to decide.

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

brain_create_or_update_noteBInspect

Create or update a note with markdown content. Requires npub for credit billing.

Note style. Prefer plain prose. Reserve bold for rare critical flags only — a ⚠️ caution, an unconfirmed-status note — never for ordinary emphasis, labels, or whole clauses. Overusing bold buries the links and makes notes hard to scan; let thought-links and source links carry the visual emphasis. Put web sources on a quiet "Sources:" line rather than bolding labels like "TL;DR" or "Source". Linking to other thoughts. To link from inside a note to another thought, write a wikilink: [[Thought Name]] or [[Thought Name|display text]]. The tool resolves it to the correct in-plex thought link automatically — do not hand-write brain:// URLs or paste GUIDs. If a name is ambiguous or not found, the tool leaves the [[...]] literal and returns it in unresolved; disambiguate by pinning the id with [[#]]. For external web pages, use normal markdown links: text.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
brain_idNoThe ID of the brain (uses active brain if not specified)
markdownYesMarkdown content for the note
dpop_tokenNo
thought_idYesThe ID of the thought

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses that credit billing requires npub, explains wikilink resolution behavior (including unresolved links being returned), and implies upsert behavior (create or update). This goes beyond a simple description, though it omits potential destructive overwrite details.

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

Conciseness2/5

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

The description is lengthy and includes extensive style guidelines (e.g., on bold usage, wikilinks) that are more appropriate for agent instruction than tool description. The core purpose is front-loaded, but the verbosity reduces conciseness.

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

Completeness4/5

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

Given the presence of an output schema and high schema coverage, the description covers essential behavioral aspects (billing, link resolution). It lacks return value explanation, but output schema compensates. Completeness is adequate for a create/update tool.

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

Parameters3/5

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

Schema coverage is 80% (4 of 5 parameters have descriptions). The description adds marginal value beyond the schema: it reiterates npub requirement and provides style guidelines for the markdown content, but does not enrich parameter meaning substantially.

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

Purpose4/5

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

The description clearly states it creates or updates a note with markdown content. The name and description together convey the verb (create/update) and resource (note). While it doesn't explicitly differentiate from siblings like brain_append_to_note, the distinction is implied by the name and core action.

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

Usage Guidelines2/5

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

The description does not provide explicit guidance on when to use this tool versus alternatives (e.g., when to create vs update, or vs brain_append_to_note). It mentions a prerequisite (npub) but lacks context on when this tool is appropriate or not.

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

brain_create_thoughtBInspect

Create a new thought with optional type, color, label, and parent link. Requires npub for credit billing.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoKind of thought to create — 1=Normal (default) or 2=Type. Tags and Events are NOT created via kind (the API rejects those values); model them as Normal thoughts carrying the appropriate type_id from get_types (e.g. the "Event" type).
nameYesThe name of the thought
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
labelNoOptional label for the thought
ac_typeNoAccess type (0=Public, 1=Private)
type_idNoID of the thought type to assign
brain_idNoThe ID of the brain (uses active brain if not specified)
relationNoRelation type if linking (1=Child, 2=Parent, 3=Jump, 4=Sibling)
dpop_tokenNo
background_colorNoBackground color in hex format (e.g., "#0000ff")
foreground_colorNoForeground color in hex format (e.g., "#ff0000")
source_thought_idNoID of the source thought to link from

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

With no annotations, the description carries full burden. It states 'Create' but doesn't disclose side effects, idempotency, limits, or consequences beyond the npub requirement. The schema's 'kind' parameter has behavioral implications not elaborated in the description.

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

Conciseness5/5

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

Two short, front-loaded sentences with no fluff. Every word adds value: the first sentence states purpose and key options, the second adds the critical prerequisite. No wasted text.

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

Completeness3/5

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

Given 12 parameters and an output schema, the description is adequate but omits important aspects like access type (ac_type), brain selection (brain_id), and source linking. The schema fills gaps, but the description could be more holistic.

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

Parameters3/5

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

Schema coverage is 92%, so baseline is 3. The description only lists broad parameter categories (type, color, label, parent link) without adding meaning beyond what the schema already provides. No additional examples or clarifications.

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

Purpose5/5

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

The description clearly states 'Create a new thought' with specific optional attributes (type, color, label, parent link), distinguishing it from sibling tools like brain_update_thought or brain_get_thought. The verb-resource combination is precise and unambiguous.

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

Usage Guidelines2/5

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

The description only mentions the npub requirement for credit billing but gives no guidance on when to use this tool versus alternatives like brain_morph_thought, brain_create_link, or brain_create_or_update_note. Missing explicit usage context or exclusions.

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

brain_delete_attachmentAInspect

Delete an attachment. Requires npub for credit billing.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
brain_idNoThe ID of the brain (uses active brain if not specified)
dpop_tokenNo
attachment_idYesThe ID of the attachment

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that deletion requires npub for billing, implying a credit cost, but does not detail side effects (e.g., irreversibility, cascading deletions) or error conditions.

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

Conciseness5/5

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

The description is extremely concise, consisting of two sentences that convey the essential purpose and a key requirement with no filler.

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

Completeness3/5

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

While the description covers core purpose and billing, it lacks details on post-deletion behavior, error handling, or return values (though an output schema exists). Given the simple nature of a delete action, the description is adequate but could be more informative.

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

Parameters2/5

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

The description adds no parameter information beyond what is in the input schema. The schema already describes npub, brain_id, and attachment_id, but dpop_token lacks description; the description does not fill this gap.

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

Purpose5/5

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

The description clearly specifies the verb ('Delete') and resource ('an attachment'), and it distinguishes from sibling delete tools (e.g., brain_delete_thought, brain_delete_link) by focusing on attachments.

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

Usage Guidelines3/5

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

The description mentions a prerequisite ('Requires npub for credit billing'), which provides some usage context, but it 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.

brain_delete_couponAInspect

Delete a coupon. Cascades to all patron redemptions.

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

RESTRICTED to operator — requires proof.

ParametersJSON Schema
NameRequiredDescriptionDefault
coupon_idYes
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

Discloses cascading deletions, orphan references become no-ops, and authorization requirement. Without annotations, this fully covers behavioral traits.

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

Conciseness4/5

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

Three concise paragraphs; first sentence states action. Could be slightly more compact but no unnecessary text.

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

Completeness4/5

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

Explains cascading behavior and authorization. Missing parameter descriptions, but output schema exists to cover return values.

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

Parameters1/5

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

Schema coverage is 0% and description provides no additional meaning for coupon_id or dpop_token. Parameters are not explained.

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

Purpose5/5

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

Clearly states 'Delete a coupon' and explains cascading effects. Distinguishes from sibling tools like brain_update_coupon and brain_list_coupons.

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

Usage Guidelines4/5

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

Explicitly states 'RESTRICTED to operator — requires proof' and warns about cascading effects. No explicit mention of 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.

brain_delete_patron_credentialAInspect

Remove a single patron credential field.

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

ParametersJSON Schema
NameRequiredDescriptionDefault
npubYesThe patron's Nostr public key (npub1...).
fieldYesThe credential field name to remove.
dpop_tokenYesA kind-27235 Nostr event signed by npub for this tool.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description carries full burden. It discloses that the operation is a write, requires proof of ownership, and is free. It adds value by clarifying the sensitive nature of the vault, though it doesn't specify idempotency or field existence behavior.

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

Conciseness5/5

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

The description is very concise, using two sentences and a break to clearly state purpose, scope, and requirement. No unnecessary information.

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

Completeness4/5

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

Given the presence of output schema, return values are covered. The description addresses purpose, auth requirement, and scope (single field). It lacks mention of error behavior but is otherwise sufficient for a well-defined delete operation.

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

Parameters3/5

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

Schema coverage is 100%, and the description largely repeats the schema details (npub, field, dpop_token). It does not add significant new context about parameter usage, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states 'Remove a single patron credential field' and 'Deletes one field from stored credentials', providing specific verb and resource. It distinguishes from sibling tools like brain_update_patron_credential by specifying deletion without affecting other fields.

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

Usage Guidelines4/5

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

The description mentions 'Proof of npub ownership is required' and that it is a write to sensitive vault, giving context on when to use. However, it does not explicitly compare to related siblings like brain_forget_credentials, which would improve guidance.

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

brain_delete_thoughtAInspect

Permanently delete a thought by ID. Cannot be undone. Requires npub for credit billing.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
confirmNoIf True, verify the deletion against the authoritative change-log (a logged DELETED entry) and attach a ``confirmation`` block. The command store already 404s a deleted thought; this adds an audit-grade log proof. Costs one extra billed read.
brain_idNoThe ID of the brain (uses active brain if not specified)
dpop_tokenNo
thought_idYesThe ID of the thought

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

Discloses permanence and npub requirement, but with no annotations provided, the description should cover more behavioral traits such as effects on related data or error states.

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

Conciseness5/5

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

Two concise sentences with no filler, front-loading the key action and constraints.

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

Completeness3/5

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

Covers the core deletion action but lacks details on return values, error handling, or side effects, despite having an output schema.

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

Parameters3/5

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

Schema description coverage is 75% and already includes parameter descriptions. The description adds no significant meaning beyond 'by ID' and 'requires npub for billing', which is also in the schema.

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

Purpose5/5

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

Description clearly states the verb 'delete', resource 'thought', and key constraints (permanent, requires npub). Distinguishes from sibling tools like brain_update_thought.

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

Usage Guidelines3/5

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

Implies usage for permanent deletion with caution ('Cannot be undone'), but does not explicitly state when not to use or mention alternatives like brain_update_thought.

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

brain_event_for_personCInspect

Create an Event+Person+Day in one action. Requires npub for credit billing.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesFlexible date string (ISO, natural language, relative)
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
notesNoOptional markdown note for the Event
personYesFull name or thought ID (UUID)
brain_idNoThe ID of the brain (uses active brain if not specified)
dpop_tokenNo
event_nameNoCustom event name (auto-generated if omitted)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

With no annotations, the description carries full burden. It discloses the npub requirement for billing but says nothing about side effects, success behavior, or whether the operation is destructive. Minimal behavioral disclosure beyond the schema.

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

Conciseness4/5

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

Two sentences, front-loaded with the primary purpose. Every word earns its place. Could be more structured but is appropriately concise.

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

Completeness2/5

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

Despite having an output schema, the description lacks explanation of the composite creation process, relationship between parameters, or what the output contains. For a tool with 7 parameters, the description is too minimal.

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

Parameters3/5

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

Schema coverage is high (86%), so baseline is 3. The description adds context by naming the entities (Event, Person, Day) tying together date, person, and event_name, but doesn't add detailed semantics beyond what the schema already provides.

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

Purpose4/5

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

The description clearly states the action (Create) and resource (Event+Person+Day). It distinguishes from siblings by highlighting the composite nature, but could be more explicit about what this composite entails.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus other create tools like brain_create_thought or brain_create_or_update_note. The description implies usage for creating all three entities together, but no explicit when-not or alternatives.

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

brain_forget_couponAInspect

Remove a coupon from this patron's redemption list.

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

ParametersJSON Schema
NameRequiredDescriptionDefault
npubYes
coupon_idYes
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations provided, the description carries full burden. It discloses that the operation is cosmetic (non-destructive to the coupon), free, and requires npub proof. This adequately covers key behavioral traits for a simple removal action.

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

Conciseness5/5

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

Three concise sentences: first states the action, second explains the cosmetic nature, third notes the requirement. Every sentence adds value without redundancy or filler.

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

Completeness4/5

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

For a straightforward removal tool with an output schema present, the description covers the essential behavioral details. It explains the effect and requirement, but it could more explicitly list the parameters. The output schema likely compensates for return value documentation.

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

Parameters2/5

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

The schema has 0% description coverage, so the description must compensate. It only mentions 'npub' in context but does not explain the meaning or format of npub, coupon_id, or dpop_token. No parameter-level guidance is given, leaving the agent to guess.

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

Purpose5/5

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

The description uses the specific verb 'Remove' and clearly identifies the resource as 'a coupon from this patron's redemption list.' It distinguishes the tool from brain_delete_coupon by noting the operation is cosmetic, so an agent can see it's different from a true deletion.

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

Usage Guidelines4/5

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

The description provides clear context: it's cosmetic, the coupon still exists, and the patron can re-redeem later. It also mentions the prerequisite 'requires proof of npub.' However, it does not explicitly tell the agent when to avoid this tool or suggest alternatives like brain_delete_coupon.

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

brain_forget_credentialsAInspect

Delete vaulted credentials for a specific service and npub.

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

ParametersJSON Schema
NameRequiredDescriptionDefault
npubYesThe Nostr public key (npub1...) whose credentials to forget.
serviceYesThe credential service to forget.
dpop_tokenYesA kind-27235 Nostr event signed by npub for this tool.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description fully bears transparency. It explicitly states the destructive nature ('a deletion is as destructive as a write') and the requirement for proof of npub ownership via dpop_token. This adds critical behavioral context beyond the schema.

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

Conciseness5/5

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

The description is three sentences, each adding unique information: action, usage nuance, and behavioral warning. No extraneous content. Front-loaded with the verb 'Delete'.

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

Completeness4/5

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

Given the presence of an output schema, the description adequately covers purpose, usage, and behavioral traits. It could mention reversibility or idempotency, but the destructive note suffices for a mutation tool.

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

Parameters4/5

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

Schema coverage is 100% but the description adds value by clarifying the npub parameter: for operator vs patron credentials. This distinction is not present in the schema description, enhancing parameter understanding.

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

Purpose5/5

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

The description clearly states the action: 'Delete vaulted credentials for a specific service and npub.' It distinguishes between operator and patron credentials, specifying which npub to use in each case. This clarity differentiates it from related sibling tools like 'brain_delete_patron_credential'.

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

Usage Guidelines4/5

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

The description provides guidance on when to use the tool for operator vs patron credentials. However, it does not explicitly mention when not to use it or suggest alternatives (e.g., brain_delete_patron_credential), missing some contextual exclusion.

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

brain_get_attachmentBInspect

Get metadata about an attachment. Requires npub for credit billing.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
brain_idNoThe ID of the brain (uses active brain if not specified)
dpop_tokenNo
attachment_idYesThe ID of the attachment

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

With no annotations, the description carries full burden. It only mentions a billing requirement, omitting details like side effects (presumably read-only), idempotency, or rate limits. More behavioral context is needed.

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

Conciseness5/5

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

Two concise sentences with no filler. Every word earns its place.

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

Completeness2/5

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

Despite having an output schema, the description fails to explain the purpose of dpop_token, what metadata is returned, or billing details. For moderate complexity (4 params), more context is needed.

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

Parameters3/5

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

Schema description coverage is 75% (3 of 4 parameters described). The description reinforces npub requirement but adds no new meaning beyond schema descriptions. The undocmented dpop_token is not explained, but baseline is 3 due to high coverage.

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

Purpose5/5

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

The description clearly states it retrieves metadata about an attachment, distinguishing it from siblings like brain_get_attachment_content (content retrieval) and brain_add_* (creation).

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

Usage Guidelines3/5

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

The description mentions the npub requirement for billing but does not provide guidance on when to use this tool versus alternatives like brain_get_attachment_content or brain_list_attachments. Usage context is implied but not explicit.

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

brain_get_attachment_contentBInspect

Get the binary content of an attachment. Requires npub for credit billing.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
brain_idNoThe ID of the brain (uses active brain if not specified)
dpop_tokenNo
save_to_pathNoOptional path to save the file locally
attachment_idYesThe ID of the attachment

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

With no annotations provided, the description carries the full burden. It only mentions the npub requirement and that it gets binary content. It does not disclose potential side effects, performance implications, error handling, or whether it is a read-only operation. The description is insufficient for an agent to understand behavioral traits.

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

Conciseness5/5

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

The description is two short sentences, front-loaded with the main action. There is no superfluous text; every element earns its place. This is ideal for conciseness.

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

Completeness3/5

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

Given the tool has 5 parameters (1 required) and an output schema, the description is minimally adequate. It does not explain return values (though output schema may cover that) or provide context about when to use this tool versus similar ones. More context on typical usage and limitations would improve completeness.

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

Parameters3/5

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

Schema description coverage is 80%, so baseline is 3. The description adds no parameter meaning beyond the schema; it merely restates the npub requirement already documented in the schema. Thus, it does not enhance parameter understanding.

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

Purpose4/5

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

The description clearly states the action ('Get') and resource ('binary content of an attachment'). It distinguishes from sibling 'brain_get_attachment' by specifying 'binary content'. However, it does not explicitly differentiate from similar siblings, leaving some ambiguity.

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

Usage Guidelines2/5

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

The description mentions a prerequisite ('Requires npub for credit billing') but provides no guidance on when to use this tool versus alternatives like 'brain_get_attachment'. No context about typical use cases or exclusions is given.

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

brain_get_brainAInspect

Get details about a specific brain. Requires npub for credit billing.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
brain_idYesThe ID of the brain
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

No annotations exist, so the description carries the full burden. It discloses the billing requirement, which is a behavioral trait. However, it does not specify whether the tool is read-only, idempotent, or what errors may occur. The disclosure is partial.

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

Conciseness5/5

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

The description is a single, well-front-loaded sentence with no extraneous information. Every word serves a purpose.

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

Completeness4/5

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

Given the tool's simplicity and the presence of an output schema (which presumably details return values), the description is largely adequate. However, it could benefit from a brief note on when to use this tool versus other 'get' tools (e.g., brain_get_brain_stats), which would improve contextual completeness.

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

Parameters3/5

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

Schema coverage is 67% (two out of three parameters have descriptions). The description reiterates that npub is required for billing, which is already in the schema, but adds no new meaning for brain_id or dpop_token. The schema does most of the work, so the description adds minimal value.

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

Purpose5/5

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

The description clearly states the tool's action ('Get details about a specific brain'), using a specific verb and resource. It distinguishes itself from sibling tools that retrieve other entities (e.g., brain_get_brain_stats, brain_get_thought), making its purpose unmistakable.

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

Usage Guidelines4/5

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

The description mentions the npub requirement for credit billing, which serves as a usage condition. However, it does not explicitly state when to use this tool over alternatives or provide context on prerequisites beyond npub. The guidance is clear but incomplete.

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

brain_get_brain_statsBInspect

Get statistics about a brain. Requires npub for credit billing.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
brain_idNoThe ID of the brain (uses active brain if not specified)
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

The description discloses that credit billing is required (implying a non-free operation), but lacks other behavioral details like idempotency, side effects, or data scope. Since no annotations exist, the description only partially fulfills the transparency burden.

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

Conciseness4/5

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

The description is a single sentence with no fluff, efficiently conveying purpose and a key requirement. It is well-structured and front-loaded.

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

Completeness2/5

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

Despite having an output schema, the description does not specify what statistics are returned (e.g., thought count, connections). This omission reduces completeness given the tool's name implies a summary, and agents may need to know if it matches their need.

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

Parameters3/5

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

Schema description coverage is 67% (npub and brain_id have descriptions). The description text adds no additional meaning beyond the schema. Baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the verb 'Get' and resource 'statistics about a brain'. It is distinct from sibling tools like brain_get_brain which retrieve the brain object, not statistics.

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

Usage Guidelines2/5

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

The description mentions a prerequisite ('Requires npub for credit billing') but provides no guidance on when to use this tool over alternatives, such as brain_get_brain or brain_get_thought. No when-not or alternative suggestions.

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

brain_get_modificationsCInspect

The brain's authoritative, uncached change-log. Requires npub for credit billing.

Unlike get_thought_graph and search (Azure-cached, stale for recent writes), this feed reflects every operation promptly — CREATED (101), DELETED (102), CHANGED_NAME (103), SET_TYPE (203), MOVED_LINK (402), etc. — with old→new values and timestamps. Use it for two things:

  1. Confirm a write landed — after a mutation, query with start_time set to just before it and check for the matching entry. This is the authoritative read-after-write check (stronger than the cached graph, and it confirms deletes and type/link changes the graph hides). The heavy mutating tools also expose a confirm=True flag that does this for you.

  2. Discover recent / peer activity — "what changed since T" so an agent can pick up where others left off.

⚠️ userId is the TheBrain account owner, shared by every agent using this operator's key — it distinguishes human-desktop vs API activity, NOT one agent from another. Peer discovery here is by time + content, not by author.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
brain_idNoThe ID of the brain (uses active brain if not specified)
end_timeNoEnd time for logs (ISO format)
max_logsNoMaximum number of logs to fetch from the API (pre-filter)
mod_typesNoOnly return entries whose modType is in this list (e.g. [102] for deletes)
source_idNoOnly return entries for this thought/link ID
dpop_tokenNo
start_timeNoStart time for logs (ISO format)
source_typeNoOnly return entries of this SourceType (2=Thought, 3=Link)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits. It only says 'Get modification history' and 'Requires npub for credit billing,' but does not mention side effects, rate limits, or error conditions. The read-only nature is implied but not explicit, and there is inconsistency between the schema (default empty string) and description ('Required').

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

Conciseness4/5

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

The description is a single sentence, front-loaded with the main action 'Get modification history for a brain.' It wastes no words, but the brevity leaves out important details. It is appropriately sized for a simple tool.

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

Completeness2/5

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

Given the complexity (6 parameters, many optional) and the presence of an output schema, the description should provide more context about default behavior (e.g., time range, number of logs) but fails to do so. The description is too minimal for a retrieval tool with multiple optional filters.

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

Parameters3/5

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

The input schema has high coverage (83%), so the description adds value beyond it primarily by clarifying that npub is for billing. This adds context to one parameter. The other parameters are well-described in the schema, so the marginal contribution is moderate.

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

Purpose4/5

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

The description clearly states the verb 'Get' and resource 'modification history for a brain', making the purpose evident. It distinguishes from sibling tools like brain_get_brain by specifying 'modification history', though it does not explicitly contrast with other get_* tools.

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

Usage Guidelines2/5

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

The description mentions that npub is required for credit billing, which provides a prerequisite. However, there is no guidance on when to use this tool versus alternatives (e.g., other brain_* tools) or when not to use it. The context is minimal.

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

brain_get_nostr_profileAInspect

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses that the operation is a read, returns specific fields, and may return empty profile. However, it does not specify error handling for invalid npub, rate limits, or response format details.

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

Conciseness5/5

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

The description is three sentences, front-loaded with the verb and resource. Every sentence adds value: what it does, that it's free, and what it returns. No fluff.

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

Completeness5/5

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

For a tool with one optional parameter and an output schema (present), the description covers the purpose, authorization, return fields, and edge case (empty profile). The output schema explains the structure, so no further detail needed.

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

Parameters3/5

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

The schema description coverage is 0%, so the description must clarify the parameter. It mentions 'npub' in the first sentence, indicating the parameter is a nostr public key. The default empty string is noted, but no additional format or validation details are provided beyond the schema.

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

Purpose5/5

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

The description clearly states the verb 'Read', the resource 'npub's public Nostr profile', and the protocol (NIP-01 kind-0 metadata). It distinguishes from the sibling 'brain_publish_nostr_profile' which is for writing.

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

Usage Guidelines4/5

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

The description mentions 'Free, no proof — the data is already public on relays', indicating no authentication is needed. It implicitly suggests using this for reading, but does not explicitly state when not to use it or alternatives beyond the sibling list.

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

brain_get_notarization_proofAInspect

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

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

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With no annotations provided, the description carries full burden. It discloses that the tool generates a cryptographic proof, but does not mention any side effects, permissions required, or performance implications. The description is adequate but minimal, neither contradicting nor fully detailing behavior.

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

Conciseness5/5

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

The description is a single sentence with no wasted words. It front-loads the key action and resource, making it easy to parse quickly.

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

Completeness4/5

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

Given the tool's moderate complexity (crypto proof) and the presence of an output schema (handling return values), the description provides sufficient context for an agent to understand the tool's purpose. It could mention the proof format or verification steps, but is complete enough for selection and invocation.

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

Parameters3/5

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

Schema coverage is 100% and both parameters ('npub', 'notarization_id') have clear descriptions in the schema. The tool description adds context by linking to 'patron's balance', but does not significantly enhance parameter meaning beyond schema. Baseline score applies.

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

Purpose5/5

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

The description clearly states the tool generates a Merkle inclusion proof for a patron's balance in a Bitcoin-notarized snapshot. It uses a specific verb ('Generate') and resource ('Merkle inclusion proof'), distinguishing it from sibling tools like brain_list_notarizations (list notarizations) and brain_notarize_ledger (create notarization).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as first listing notarizations to obtain a notarization_id. It lacks prerequisites or context for usage, leaving the agent to infer the workflow.

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

brain_get_noteAInspect

Get the note content for a thought. Requires npub for credit billing.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
formatNoOutput format (markdown, html, or text)markdown
brain_idNoThe ID of the brain (uses active brain if not specified)
dpop_tokenNo
thought_idYesThe ID of the thought

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations are provided, so the description carries full burden. It only mentions billing requirement but does not disclose other behaviors (e.g., whether it modifies data, error handling, or what happens if npub 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.

Conciseness5/5

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

Two concise sentences, each adding value: purpose and a key requirement. No wasted words.

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

Completeness4/5

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

With an output schema present and moderate complexity (5 params, 1 required), the description adequately covers the basic operation but could add context about error cases or format defaults.

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

Parameters3/5

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

Schema description coverage is 80%, and the description's mention of npub billing mostly repeats the schema description. No additional parameter semantics are provided beyond the schema.

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

Purpose5/5

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

The description clearly states the tool's purpose with a specific verb ('Get') and resource ('note content for a thought'), distinguishing it from siblings like brain_get_thought.

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

Usage Guidelines4/5

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

The description provides clear context by mentioning the requirement of npub for credit billing, but does not explicitly state when to use vs. alternatives 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.

brain_get_operator_onboarding_statusAInspect

Report this operator's configuration readiness.

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

No annotations provided, so description carries full burden. It describes a read-only reporting behavior without side effects. Does not mention auth or rate limits, but adequate for a simple status tool.

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

Conciseness5/5

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

Three concise sentences: purpose, details, and alternative. No fluff; every sentence adds value.

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

Completeness5/5

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

Given zero parameters and an output schema present, description is complete enough: it explains what the tool does and when to use alternatives.

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

Parameters4/5

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

No parameters in schema, baseline is 4. Description adds no parameter info but explains the tool's purpose without needing parameters.

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

Purpose5/5

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

Clearly states it reports configuration readiness for an operator, listing what it shows (configured/missing settings and how to deliver missing values). Also distinguishes from sibling tool for patron-level status.

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

Usage Guidelines5/5

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

Explicitly tells agent to use get_patron_onboarding_status for patron-level credential status, providing a clear alternative and exclusion condition.

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

brain_get_patron_credential_fieldsAInspect

List stored patron credential field names (not values).

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

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

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

No annotations are provided, so the description carries the full burden. It discloses that values are never exposed, that the list of fields is sensitive (revealing integrations), and that authentication (dpop_token) is required. This goes beyond basic usage.

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

Conciseness5/5

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

The description is four sentences long, front-loaded with the core action, and each sentence adds value without redundancy. It is well-structured and easy to parse.

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

Completeness5/5

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

The tool is simple (2 params, no nested objects) and has an output schema, so the description does not need to explain return values. It covers purpose, limitations, security, and prerequisites comprehensively.

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

Parameters3/5

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

Schema description coverage is 100% (both npub and dpop_token are described in the schema). The description does not add meaningful new information about the parameters beyond what the schema already provides.

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

Purpose5/5

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

The description clearly states 'List stored patron credential field names (not values).' It specifies the verb (list) and resource (patron credential field names), effectively distinguishing from sibling tools like brain_update_patron_credential and brain_delete_patron_credential.

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

Usage Guidelines4/5

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

The description explains when to use: 'use this to verify which fields are configured.' It also mentions it is free and requires npub ownership proof. While it does not explicitly state when not to use or list alternatives, 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.

brain_get_patron_onboarding_statusAInspect

Report a patron's credential readiness for this operator.

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

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

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

No annotations provided, so description carries the burden. Discloses that the tool reveals sensitive credential presence and requires authorization proof. Adds behavioral context beyond schema, though could explicitly state it is read-only.

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

Conciseness4/5

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

Well-structured with main purpose upfront. Five sentences are efficient, though slightly verbose. Each sentence contributes meaningful information without redundancy.

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

Completeness4/5

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

Covers key context: service types (set-once vs dynamic), cost (free), and authorization requirement. Output schema exists, so not explaining return values is acceptable. Completeness is solid given tool complexity.

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

Parameters3/5

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

Schema already fully describes both parameters with 100% coverage. Description adds only that dpop_token serves as proof of ownership, which is a minor semantic addition. Baseline 3 is appropriate.

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

Purpose5/5

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

Clearly states 'Report a patron's credential readiness for this operator' and distinguishes between service types, making the purpose unambiguous relative to sibling tools like brain_get_operator_onboarding_status.

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

Usage Guidelines4/5

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

Provides context on when to use (checking credential readiness) and mentions proof of ownership requirement. However, lacks explicit exclusions or alternative tool suggestions, though the distinction between service types implicitly guides usage.

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

brain_get_pricing_modelAInspect

Get the active pricing model for this operator. Free.

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description carries full burden. It discloses the self-initialization behavior when no model exists, which is a key side effect. The statement 'No economic data from code' further clarifies limits.

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

Conciseness5/5

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

The description is extremely concise: two sentences with no wasted words. Purpose is front-loaded, and every sentence adds value.

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

Completeness4/5

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

Given zero parameters and an existing output schema, the description covers the essential behavioral detail (self-initialization). It could elaborate on what the pricing model contains, but output schema compensates.

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

Parameters4/5

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

The tool has no parameters, so schema coverage is trivially 100%. The description does not need to add parameter info; baseline 4 is appropriate.

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

Purpose5/5

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

The description clearly states 'Get the active pricing model for this operator', which specifies the verb (get) and resource (pricing model). It distinguishes from sibling tools like brain_set_pricing_model and brain_reset_pricing_model.

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

Usage Guidelines4/5

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

The description indicates it is 'Free' and 'No economic data from code', providing context for when to use this read operation. However, it does not explicitly state when not to use it or mention alternatives, though siblings imply that.

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

brain_get_tagsBInspect

Get all tags in a brain. Requires npub for credit billing.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
brain_idNoThe ID of the brain (uses active brain if not specified)
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits. It only mentions the credit billing requirement, but omits whether the operation is read-only, idempotent, or has side effects. The contradiction between the description stating 'Requires npub' and the schema not marking npub as required also undermines transparency.

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

Conciseness4/5

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

The description is extremely concise, consisting of a single sentence without extraneous words. However, it could be slightly more structured by separating the billing requirement into a separate sentence or note.

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

Completeness3/5

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

The tool is simple (get tags) and an output schema exists, so the description does not need to explain return values. However, it lacks contextual details like whether the brain ID is required, how billing works, or any rate limits, making it only minimally complete.

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

Parameters2/5

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

Schema description coverage is 67%, and the description adds no new information beyond what is already in the schema for npub and brain_id. The dpop_token parameter lacks any description in either source. The description's claim that npub is required conflicts with the schema making it optional with a default, causing confusion.

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

Purpose5/5

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

The description clearly states the action ('Get') and the resource ('all tags in a brain'), which is specific and unambiguous. It distinguishes from sibling tools like brain_get_thought or brain_get_types by explicitly targeting tags.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., brain_get_thought for thoughts). There is no mention of prerequisites or context, leaving the agent to guess appropriate usage scenarios.

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

brain_get_thoughtCInspect

Get details about a specific thought. Requires npub for credit billing.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
brain_idNoThe ID of the brain (uses active brain if not specified)
dpop_tokenNo
thought_idYesThe ID of the thought

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

No annotations are present, so the description bears the full burden. It indicates a read-like action ('Get details') but does not explicitly state that it is non-destructive, nor does it describe what 'details' are returned. The existence of an output schema partially mitigates this.

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

Conciseness4/5

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

The description is extremely concise (one sentence), which is good for front-loading, but it may be too brief to be fully helpful. No superfluous content.

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

Completeness2/5

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

Given the complexity (4 parameters, no annotations) and the presence of many sibling tools, the description is insufficient. It lacks information about return values, usage context, and alternatives, making it incomplete for effective tool selection.

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

Parameters2/5

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

The description adds no semantic value beyond the input schema's parameter descriptions. Schema coverage is high (75%), but the description fails to explain the dpop_token parameter or provide any additional context for the other parameters.

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

Purpose4/5

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

The description clearly states the verb 'Get' and the resource 'details about a specific thought', making the purpose obvious. However, it does not distinguish from sibling tools like brain_get_thought_by_name or brain_get_thought_graph, which could lead to confusion.

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

Usage Guidelines2/5

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

The description mentions the npub requirement for credit billing but provides no guidance on when to use this tool versus alternatives (e.g., use brain_get_thought_by_name if searching by name). Context for usage is minimal.

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

brain_get_thought_by_nameAInspect

Exact name lookup — returns the first thought matching the name exactly. Requires npub for credit billing.

⚠️ NOT AUTHORITATIVE. Backed by the vendor's name index, which is known to be incomplete on large brains (upstream: TheBrainTech/thebrain-api-quickstart-python#1): a hit is real, but a MISS is NOT proof the thought is absent. Never conclude a thought does not exist from a null result here — verify by ID with get_thought, or by graph traversal from a known neighbour, before creating a duplicate.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
brain_idNoThe ID of the brain (uses active brain if not specified)
dpop_tokenNo
name_exactYesThe exact name to match (case-sensitive)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

No annotations provided, so description carries full burden. It discloses that it requires npub for billing and returns first match, but does not mention side effects, rate limits, or authentication details beyond npub. Adequate but minimal.

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

Conciseness5/5

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

Single sentence with no waste. Front-loaded with purpose ('Exact name lookup'). Every word earns its place.

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

Completeness4/5

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

Given output schema exists (burden reduced), description explains primary operation and billing need. Does not clarify ordering of 'first' match, but overall sufficient for a straightforward lookup tool.

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

Parameters3/5

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

Schema coverage is 75%, high enough that description adds little extra value. Description only reiterates npub requirement; does not explain brain_id or dpop_token beyond schema. Baseline 3 is appropriate.

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

Purpose5/5

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

Description clearly states it performs exact name lookup and returns the first matching thought. The verb 'lookup' and resource 'thought' are specific, and it distinguishes from siblings like brain_search_thoughts which likely does fuzzy search.

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

Usage Guidelines4/5

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

Implied usage for exact name match; mentions npub requirement for billing, but does not explicitly state when not to use or list alternatives. Context is clear but lacks exclusions.

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

brain_get_thought_graphBInspect

Get a thought's full connection graph. Requires npub for credit billing.

⚠️ NOT AUTHORITATIVE FOR RECENT CHANGES. Served through the vendor's cached graph layer (Azure App Service response cache), which lags writes by hours-to-days and reflects creates but NOT updates or deletes — it can return renamed/retyped thoughts with their old values and even serve thoughts that were already deleted (upstream: TheBrainTech/thebrain-api-quickstart-python#2). Use this for fast traversal of established structure and for finding older thought IDs. Do NOT use it to verify a recent write — confirm mutations by ID with get_thought, which reads the authoritative command store.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
brain_idNoThe ID of the brain (uses active brain if not specified)
dpop_tokenNo
thought_idYesThe ID of the thought
include_siblingsNoInclude sibling thoughts in the graph

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations provided, so the description must disclose behavioral traits. It only mentions credit billing, not whether the operation is read-only 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.

Conciseness5/5

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

Extremely concise at two sentences; front-loaded with the verb and resource. No wasted words.

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

Completeness3/5

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

Given complexity (5 params, output schema, siblings), the description is minimal. It does not clarify what a 'connection graph' entails or any filtering, but output schema compensates somewhat.

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

Parameters3/5

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

Schema description coverage is high (80%), so the baseline is 3. The description adds no new information beyond the schema's own parameter descriptions.

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

Purpose5/5

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

The description clearly states it retrieves a thought's full connection graph, using a specific verb and resource. It distinguishes from the paginated sibling tool by specifying 'full graph'.

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

Usage Guidelines2/5

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

Only mentions one prerequisite (npub for billing) but does not explain when to use this tool versus alternatives like the paginated version or get_thought.

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

brain_get_thought_graph_paginatedAInspect

Cursor-based paginated traversal of a thought's connections. Requires npub for credit billing.

⚠️ NOT AUTHORITATIVE FOR RECENT CHANGES. Same cached graph layer as get_thought_graph (upstream: TheBrainTech/thebrain-api-quickstart-python#2) — lags writes by hours-to-days and does not reflect updates or deletes. Use for traversal/ID discovery, never as read-after-write verification; confirm mutations by ID with get_thought.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
cursorNoPagination cursor from a previous response
brain_idNoThe ID of the brain (uses active brain if not specified)
directionNo"older" (newest first) or "newer" (oldest first)older
page_sizeNoNumber of results per page (default 10)
dpop_tokenNo
thought_idYesThe ID of the thought
relation_filterNoFilter by relation: "child", "parent", "jump", "sibling"

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

No annotations are present, so the description must carry the burden. It discloses the billing requirement (npub for credit billing) and pagination behavior. However, it does not specify whether the tool is read-only or modifies state, nor does it describe error or rate-limiting behavior.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose, and no extraneous information. Every word earns its place.

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

Completeness3/5

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

The description covers the core purpose and billing requirement but lacks context about when to prefer this paginated version over the non-paginated sibling, and does not explain the cursor mechanism or result shape (though output schema exists). Adequate but with clear gaps.

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

Parameters3/5

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

Schema description coverage is high (88%), so the schema already documents parameters well. The description adds minimal parameter insights beyond restating the npub requirement. No additional semantic guidance beyond schema.

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

Purpose5/5

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

The description clearly states it performs cursor-based paginated traversal of a thought's connections, which distinguishes it from the sibling tool brain_get_thought_graph (likely non-paginated). The verb 'traversal' and resource 'thought's connections' are specific and unambiguous.

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

Usage Guidelines3/5

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

The description implies use for paginated access to connections but does not explicitly state when to use this tool versus alternatives (e.g., brain_get_thought_graph for non-paginated). No when-not-to-use or context provided.

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

brain_get_typesAInspect

List all thought types defined in the brain. Requires npub for credit billing.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
brain_idNoThe ID of the brain (uses active brain if not specified)
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

Without annotations, the description only discloses the credit billing requirement (npub) but does not elaborate on read-only nature, idempotency, or other behavioral aspects beyond the basic operation.

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

Conciseness5/5

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

The description is extremely concise with two sentences, each earning its place: the first states the action, the second adds a key requirement.

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

Completeness4/5

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

Given the simple list operation, an output schema exists, and the description covers the essential purpose and a critical prerequisite, making it mostly complete.

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

Parameters3/5

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

Schema description coverage is 67%, and the description adds no additional meaning beyond what the schema already provides for the npub and brain_id parameters.

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

Purpose5/5

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

The description clearly states the verb 'List' and the resource 'thought types defined in the brain', distinguishing it from sibling tools like brain_get_tags or brain_get_thought.

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

Usage Guidelines3/5

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

The description implies usage through its specific purpose but does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives among the many sibling tools.

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

brain_list_attachmentsBInspect

List all attachments for a thought. Requires npub for credit billing.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
brain_idNoThe ID of the brain (uses active brain if not specified)
dpop_tokenNo
thought_idYesThe ID of the thought

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations provided, so description must carry full burden. Indicates read-only listing but lacks details on pagination, limits, ordering, or response structure beyond what the output schema might provide. Does not mention if it lists only accessible attachments or all.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose. No wasted words.

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

Completeness3/5

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

Tool is simple and has an output schema, so description covers purpose and billing prerequisite. However, lacks context on authentication (is npub enough?), data freshness, or any filtering capabilities. Adequate but not comprehensive for a tool with no annotations.

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

Parameters2/5

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

Schema description coverage is 75%, but the description adds no new meaning beyond the schema's parameter descriptions. The npub requirement is already noted in schema; dpop_token is undocumented in both. No parameter format, constraints, or usage examples provided.

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

Purpose5/5

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

Explicitly states 'List all attachments for a thought' with clear verb-resource-scope. Distinguishes from sibling tools like brain_get_attachment (single) and brain_add_file_attachment (adding).

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

Usage Guidelines3/5

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

Provides one usage requirement ('Requires npub for credit billing') but no guidance on when to use this tool vs alternatives like brain_get_attachment_content or brain_get_attachment. No explicit when-not or preferred scenarios.

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

brain_list_brainsCInspect

List available brains.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations are present, so the description carries full burden. It only states 'List available brains' without disclosing whether it is read-only, requires authentication, or any side effects. Given the lack of annotations, 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.

Conciseness3/5

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

The description is concise (one sentence) but minimally informative. It is not structured and could benefit from additional context without losing conciseness.

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

Completeness2/5

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

Given the complexity (2 parameters, many sibling tools), the description is incomplete. It does not explain what 'brains' are, how listing works, or what the output contains. The output schema exists but the description should provide high-level context.

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

Parameters2/5

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

Schema description coverage is 50% (npub described, dpop_token not). The tool description adds no additional parameter meaning. It does not compensate for the undocumented parameter, nor does it clarify the role of npub beyond the schema's own description.

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

Purpose4/5

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

The description 'List available brains' clearly states the verb (List) and resource (brains). It distinguishes from siblings like brain_get_brain (singular) and brain_set_active_brain. However, the term 'brains' is domain-specific and could be clarified.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like brain_get_brain or brain_set_active_brain. It does not indicate prerequisites or context for listing.

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

brain_list_canonical_identitiesAInspect

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

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

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

Free, no side effects.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description carries full burden. It discloses safe behavior ('Free, no side effects') and explains that tool_id remains constant while mcp_name may change on renames, which is key 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.

Conciseness4/5

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

The description is appropriately sized with multiple sentences, each adding value. It front-loads the purpose and is structured logically, though it could be slightly more concise.

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

Completeness5/5

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

Given the output schema exists and there are no parameters, the description fully covers purpose, behavioral traits, and use cases. It is complete for a simple list tool.

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

Parameters4/5

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

There are zero parameters, so baseline is 4. The description does not need to add parameter information, and schema coverage is 100%.

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

Purpose5/5

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

The description clearly states 'Return canonical (tool_id, mcp_name, …) for every registered tool,' specifying verb and resource, and distinguishes it from sibling tools by emphasizing its role as the authoritative source for tool identification.

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

Usage Guidelines4/5

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

The description explicitly identifies its usage: 'The authoritative source for any client (Studio, agents, FE) that needs to know how this MCP identifies its tools,' and gives a specific reconciliation use case. However, it does not mention when not to use it or provide alternative tools.

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

brain_list_constraint_typesAInspect

List all available constraint types and their parameter schemas.

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool is free and returns type, category, description, and parameter specs, implying it is a read-only operation. No side effects or authentication needs are mentioned, but the description is sufficient for a safe listing tool.

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

Conciseness5/5

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

The description is concise, well-structured, and front-loaded with the main action. Every sentence adds value, with bullet points for the returned fields.

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

Completeness5/5

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

Given the tool has no input parameters, a clear output schema (likely exists), and the description specifies the returned fields, it is complete for the task. An agent can correctly invoke this tool without missing information.

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

Parameters4/5

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

There are no input parameters, and schema description coverage is 100%. The description adds no parameter info because none are needed; baseline score for 0 parameters is 4.

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

Purpose5/5

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

The description clearly states it lists all available constraint types and their parameter schemas, with a specific verb (list) and resource (constraint types). It distinguishes itself from sibling tools by being a specialized listing tool for constraint types.

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

Usage Guidelines3/5

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

The description mentions it's free with no credits required, which is helpful usage context, but it does not explicitly state when to use this tool versus alternatives or provide exclusion criteria. The context is clear enough for an agent to infer its use.

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

brain_list_couponsAInspect

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations provided, the description bears the full burden. It reveals that the tool is restricted to operators and requires proof, which is critical behavioral context. It also explains the times_redeemed counter and its use in a progress bar. However, it does not mention error handling or pagination.

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

Conciseness5/5

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

The description is extremely concise: two sentences plus a short note. The main purpose is front-loaded, and every sentence adds value (ordering, counter detail, restriction). No unnecessary information.

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

Completeness3/5

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

Given the existence of an output schema, the description does not need to fully explain return values, but it does highlight the progress bar field. However, it completely omits explanation of the sole input parameter dpop_token, leaving a significant gap. The restriction and ordering are well covered.

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

Parameters1/5

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

The only parameter dpop_token is not described in the tool description, and the input schema provides no description (0% coverage). The agent receives no guidance on what dpop_token is for, severely hindering correct invocation.

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

Purpose5/5

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

The description clearly states 'List every coupon this operator has minted (newest first)', specifying the verb (list), resource (coupons), and ordering (newest first). It distinguishes this tool from siblings like brain_mint_coupon and brain_delete_coupon by focusing on listing.

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

Usage Guidelines4/5

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

The description provides clear context: it is for the operator's own minted coupons and requires proof (authentication). It implicitly tells when to use (when you need to see all minted coupons) but does not explicitly state when not to use or compare to alternatives like brain_list_my_coupons.

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

brain_list_my_couponsAInspect

List the coupons this patron has redeemed on this operator.

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

ParametersJSON Schema
NameRequiredDescriptionDefault
npubYes
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

No annotations provided, so description carries full burden. Reveals that it returns both active and exhausted redemptions with specific status values, and notes it is free and requires npub proof. Good disclosure.

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

Conciseness5/5

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

Two sentences, no filler. Action first, then return details. Perfectly concise and well-structured.

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

Completeness4/5

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

Covers what is listed, scope, return statuses, and access requirements. Output schema exists to handle return structure, so description need not detail fields further. Slight gap: no mention of pagination or sorting, but acceptable for a simple list.

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

Parameters2/5

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

Schema coverage is 0%, so description must compensate. It mentions npub is required but does not explain dpop_token or add format/meaning beyond the schema. Minimal value added.

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

Purpose5/5

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

Clearly states the action ('list'), the resource ('coupons this patron has redeemed'), and the scope ('on this operator'). Distinguishes from sibling 'brain_list_coupons' via the 'my' qualifier.

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

Usage Guidelines4/5

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

Specifies prerequisite ('requires proof of npub') and cost ('Free'). Does not explicitly state when not to use or compare with siblings like brain_list_coupons, but the personal scope is self-evident.

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

brain_list_notarizationsCInspect

List recent Bitcoin notarization records.

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

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

The description does not disclose any behavioral traits beyond what is obvious from the name 'list'. With no annotations provided, the agent has no information about read-only nature, rate limits, or potential 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.

Conciseness4/5

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

The description is a single, short sentence that is easy to read. However, it could include additional context without becoming verbose.

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

Completeness3/5

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

For a simple list tool with an output schema, the description is adequate but vague about 'recent'. It does not explain what constitutes a record or the ordering, but the output schema likely covers the structure.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters are documented. The description adds no extra meaning beyond the schema, which is the baseline for this scenario.

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

Purpose4/5

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

The description clearly states the tool lists 'recent Bitcoin notarization records' with a specific verb and resource. It distinguishes from sibling tools like brain_get_notarization_proof and brain_notarize_ledger, but could be more precise about 'recent'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. For example, if a user needs a specific notarization proof, they should use brain_get_notarization_proof, but this is not mentioned.

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

brain_mint_couponBInspect

Create a new operator-owned discount coupon.

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

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations are present, so the description carries the full burden. It only states 'Create a new...' but does not disclose any behavioral traits such as idempotency, ownership implications, or what happens upon creation (e.g., whether it enforces uniqueness on the name).

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

Conciseness5/5

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

The description is a single, complete sentence with no extraneous words. It is concise and well-structured.

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

Completeness2/5

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

Given the tool's complexity (7 parameters, 4 required) and lack of annotations, the description is insufficient. It does not address return values, error conditions, or uniqueness constraints, relying entirely on the output schema for return information.

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

Parameters4/5

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

Schema description coverage is high (86%). The description adds value by specifying 'operator-owned', which clarifies the ownership scope and implies name uniqueness. This contextual detail goes beyond the schema.

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

Purpose4/5

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

The description clearly states the action ('Create') and the resource ('a new operator-owned discount coupon'). It is specific and understandable, but does not explicitly differentiate from sibling tools like brain_update_coupon or brain_redeem_coupon.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives (e.g., brain_update_coupon, brain_list_coupons). No context about prerequisites or typical scenarios is given.

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

brain_morph_thoughtAInspect

Atomically reparent and/or retype a thought in one operation. Requires npub for credit billing.

Reparenting replaces the thought's existing parent link (the old parent child-link is deleted and a new one created); it does not add an additional parent. To also set the thought's name or label in the same call, use update_thought (which now accepts new_parent_id).

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
confirmNoIf True, verify the reparent/retype against the authoritative change-log (MOVED_LINK / SET_TYPE) instead of the cached graph, and attach a ``confirmation`` block. Costs one extra billed read.
brain_idNoThe ID of the brain (uses active brain if not specified)
dpop_tokenNo
thought_idYesThe ID of the thought to morph
new_type_idNoID of the new type to assign
new_parent_idNoID of the new parent thought (replaces all current parents)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, description carries full burden. It discloses atomicity, npub requirement, replacement semantics, and that it does not add additional parent. Could mention lack of change if no new_type_id/new_parent_id, but overall transparent for a mutation tool.

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

Conciseness5/5

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

Two paragraphs, front-loaded with purpose, each sentence adds value. No superfluous text. Efficiently covers requirement, core behavior, and differentiation from sibling.

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

Completeness4/5

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

Given the tool has an output schema (unknown content) and is a mutation with two optional operations, the description adequately covers purpose, key behaviors, and alternatives. Could mention error conditions or prerequisites beyond npub, but sufficient for agent decision-making.

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

Parameters4/5

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

Schema coverage is 83%, so baseline 3. Description adds value by explaining npub requirement for billing and clarifying that new_parent_id replaces all current parents. This goes beyond individual parameter descriptions, enhancing understanding.

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

Purpose5/5

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

The description clearly states the tool does atomic reparenting and/or retyping of a thought, using specific verbs and resource. It distinguishes itself from update_thought, which covers additional operations like setting name/label.

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

Usage Guidelines5/5

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

Explicitly mentions requirement for npub for billing and directs to update_thought for combined operations like setting name/label. Clarifies that reparenting replaces existing parent, not adds. Provides 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.

brain_notarize_ledgerAInspect

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations provided, the description fully conveys key behaviors: it is a background task, free, and involves a blockchain submission with a known time delay. It implies mutation by submitting to Bitcoin, which is appropriate transparency.

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

Conciseness5/5

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

The description is extremely concise (two sentences), front-loads the main action in the first sentence, and contains no unnecessary words or redundancy.

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

Completeness5/5

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

Given the tool's simplicity (no parameters), the presence of an output schema, and the description covering operator-only usage, cost, and timing, the description is fully complete for an AI agent to understand invocation and behavior.

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

Parameters4/5

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

The tool has no parameters, and the schema coverage is 100%. The description adds no parameter information because none is needed, earning the baseline score for zero parameters.

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

Purpose5/5

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

The description clearly states the action: building a Merkle tree of patron balances and submitting the root to Bitcoin via OpenTimestamps. This distinguishes it from sibling tools like brain_get_notarization_proof (retrieval) or brain_list_notarizations (listing).

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

Usage Guidelines4/5

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

The description specifies it is an operator-only background task and notes the Bitcoin confirmation delay (1-6 hours), providing clear context for appropriate use. However, it does not explicitly state when not to use it or list alternatives.

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

brain_oracle_aboutAInspect

Describe the DPYC ecosystem via the Oracle. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only mentions it is 'Free' but does not disclose any behavioral traits such as side effects, authentication needs, or rate limits. 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.

Conciseness5/5

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

Extremely concise: one sentence plus 'Free.' Every word is necessary and front-loaded. No fluff.

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

Completeness3/5

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

Given zero parameters and an output schema, the description is adequate but lacks context on what the 'Oracle' returns or when to use it among many sibling tools. It could be more complete.

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

Parameters4/5

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

There are zero parameters and 100% schema coverage, so the baseline is 4. The description does not need to add parameter details.

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

Purpose5/5

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

The description clearly states the verb 'describe' and the resource 'DPYC ecosystem via the Oracle', with 'Free' indicating no cost. It distinguishes itself from sibling tools that perform specific actions like get, list, or create.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like brain_oracle_how_to_join or brain_oracle_lookup_member. The description only says 'Free' but lacks when-not or context for selection.

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

brain_oracle_get_tax_rateAInspect

Get the current DPYC certification tax rate. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations exist, and the description only adds 'Free,' which does not cover behavioral traits like authorization, rate limits, or side effects. The presence of an output schema is not leveraged to describe return format.

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

Conciseness5/5

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

Extremely concise with two short sentences. The first sentence immediately states the purpose. No superfluous content.

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

Completeness4/5

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

Given zero parameters and an output schema, the description is largely complete for a simple getter. It could be improved by mentioning typical usage context, but it is functionally adequate.

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

Parameters4/5

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

The input schema has no parameters, and schema coverage is 100%. The description adds nothing about parameters, but none are needed. Baseline 4 for zero-parameter tools.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Get the current DPYC certification tax rate.' The verb 'Get' and the specific resource 'current DPYC certification tax rate' leave no ambiguity. It distinguishes from siblings by its unique target.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives is provided. The mention 'Free' hints at cost but does not clarify context or prerequisites.

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

brain_oracle_how_to_joinAInspect

Get DPYC onboarding instructions from the Oracle. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations provided; description only states 'Free' but does not disclose any behavioral traits such as authentication requirements, side effects, or rate limits. 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.

Conciseness5/5

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

Extremely concise single sentence with verb-first structure. No wasted words.

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

Completeness3/5

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

Given zero parameters and an output schema, the description is adequate but could be improved by explaining what the instructions cover or any prerequisites. Lacks context on usage in the broader toolset.

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

Parameters4/5

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

Input schema has zero parameters, so baseline is 4. Description does not need to add parameter meaning because there are none.

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

Purpose5/5

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

Description clearly states action ('Get'), resource ('DPYC onboarding instructions'), and source ('from the Oracle'). It distinguishes from sibling tools like brain_oracle_about and brain_oracle_lookup_member.

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

Usage Guidelines3/5

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

No explicit when-to-use or when-not-to-use guidance. The description implies it's for getting onboarding instructions, but does not mention alternatives or exclusion criteria.

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

brain_oracle_lookup_memberCInspect

Look up a DPYC community member by npub. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It mentions 'Free' but does not detail authentication needs, rate limits, error handling, or what happens if the npub is not found.

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

Conciseness4/5

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

The description is very short with two sentences, no filler. It is front-loaded with the action 'Look up a DPYC community member' and includes the free aspect. However, it could be slightly more detailed without being verbose.

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

Completeness3/5

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

Given the tool's simplicity (one required parameter, no enums, output schema present), the description provides the basic purpose but lacks usage context or edge cases. It is minimally viable but leaves gaps.

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

Parameters2/5

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

The only parameter 'npub' is not elaborated upon. The description says 'by npub' but does not define what an npub is or its expected format. Schema coverage is 0%, so 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.

Purpose4/5

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

The description clearly states the tool looks up a DPYC community member by npub. The verb 'look up' and resource 'member' are specific. However, it does not differentiate from sibling tools like brain_get_nostr_profile, which might serve a similar function.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description simply states its function without context such as prerequisites, use cases, 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.

brain_oracle_network_advisoryAInspect

Get active network advisories from the Oracle. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only says 'Free' and does not disclose any behavioral traits such as whether the tool is read-only, if it has side effects, or any rate limits. It is insufficient for an agent to fully understand 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.

Conciseness5/5

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

The description is extremely concise at two short sentences with no unnecessary words. It is front-loaded with the key information. Every word earns its place.

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

Completeness3/5

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

Given that there are no parameters and an output schema exists, the description is minimal but not fully complete. It does not explain what constitutes a 'network advisory', the frequency of updates, or the structure of the output (though the output schema may cover that). There is room for more context to improve agent understanding.

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

Parameters4/5

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

The tool has no parameters, so schema description coverage is 100% by default. The description does not need to add parameter details, but it still provides the context that the advisories are 'active'. Baseline for 0 parameters is 4, and the description adds no negative value.

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

Purpose5/5

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

The description clearly states the action ('Get') and the resource ('active network advisories from the Oracle'). The noun phrase 'network advisories' is specific and distinguishes this tool from other oracle tools like 'brain_oracle_about' or 'brain_oracle_how_to_join'. The purpose is unambiguous.

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

Usage Guidelines3/5

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

The description includes the word 'Free', which implies no monetary cost and may encourage use. However, it does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or conditions. Usage context is only implied.

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

brain_publish_nostr_profileAInspect

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

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

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

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

No annotations provided, so the description carries full burden. It discloses key behaviors: no key custody, signature verification, relaying to public relays, and that the service is free. It doesn't cover error handling or failure modes, but the security model is well explained.

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

Conciseness5/5

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

Four concise sentences, front-loaded with the main purpose. Every sentence adds value: action, process, security, and cost. No redundant or unnecessary text.

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

Completeness4/5

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

For a tool with 2 parameters and no annotations, the description adequately covers the flow, security, and usage context. The output schema is not described, but its existence is indicated, so that is acceptable. Slightly incomplete on error conditions.

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

Parameters3/5

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

Schema coverage is 100% with clear parameter descriptions. The tool description adds context about the signing workflow but does not introduce new semantic details beyond the schema. Baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Publish'), the resource ('a CLIENT-SIGNED kind-0 profile'), and the target ('to relays for an npub'). It distinguishes itself from the sibling tool 'brain_get_nostr_profile' by focusing on publishing rather than retrieval.

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

Usage Guidelines4/5

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

The description explains the prerequisite (client-signed event) and the process (frontend signs, wheel verifies and relays). It implies when to use (when you have a signed event) but does not explicitly exclude other scenarios or mention alternatives.

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

brain_purchase_creditsAInspect

Buy credits via Bitcoin Lightning.

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

Free — no credits required to call.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubYesThe Nostr public key (npub1...) the credits will fund.
dpop_tokenYesA kind-27235 Nostr event signed by npub for this tool.
amount_satsNoSatoshis to purchase (default 1000).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With no annotations, the description must disclose behavioral traits. It notes 'Freemium, no credits required to call' and explains the invoicing flow. However, it lacks details like invoice expiry, credit addition timing, or error states. The coverage is adequate but not thorough.

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

Conciseness5/5

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

The description is extremely concise: three sentences plus a short final line. It front-loads the main action and every sentence provides unique value. No wasted words.

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

Completeness4/5

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

The description covers the essential workflow: invoice creation, payment, and confirmation via check_payment. It notes the prerequisite and cost-free execution. With an output schema existing (unseen), return values are not needed. Minor gaps include absence of failure modes or limits, but overall complete for a purchase tool.

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

Parameters3/5

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

Schema coverage is 100% with clear parameter descriptions. The description only adds context about npub proof ownership, which slightly reinforces the purpose of dpop_token. It does not add significant new meaning beyond the schema, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states 'Buy credits via Bitcoin Lightning' which specifies the verb (Buy), resource (credits), and payment method (Bitcoin Lightning). This distinctly sets it apart from sibling tools like brain_check_balance or brain_check_payment.

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

Usage Guidelines4/5

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

The description provides explicit steps: creates a Lightning invoice, pay with any wallet, then call check_payment. It also mentions the prerequisite of proof of npub ownership. While it does not explicitly state when not to use or name alternatives, the sequential workflow is clear.

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

brain_receive_credentialsAInspect

Pick up credentials from the Secure Courier.

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

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

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

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

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

Without annotations, the description fully discloses behavior: deterministic one-shot retrieval, draining only the rendezvous relay, deleting wrong DMs, accepting the first matching one, stopping scan, returning courier_not_found on failure, and the credential_card bypass. It also mentions reinitializing the payment processor without restart. No ambiguities.

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

Conciseness4/5

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

The description is relatively long but well-structured, starting with the main purpose and then detailing the flow. Every sentence adds value, though some could be tightened. It is not overly verbose for the complexity of the tool.

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

Completeness4/5

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

Given no annotations and the presence of an output schema (not shown), the description explains return values (e.g., courier_not_found) and side effects (reinitialization). It covers the key aspects of the tool's behavior and inputs, making it complete enough for an AI agent.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds significant context beyond the schema: service must match request_credential_channel, dpop_token is the session phrase, sender_npub is the sender, and credential_card bypasses relay and makes dpop_token unnecessary. This adds meaningful semantics.

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

Purpose5/5

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

The description clearly states 'Pick up credentials from the Secure Courier' and explains it completes the CREDENTIAL-DELIVERY flow, distinguishing it from the sibling receive_npub_proof. The verb 'receive' and resource 'credentials' are specific, and the scope is well-defined.

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

Usage Guidelines4/5

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

The description explicitly says 'Call this only after the user confirms they have replied' and warns not to poll, loop, or retry. It also mentions an alternative path with credential_card. However, it does not explicitly state when not to use this tool vs. other sibling tools beyond receive_npub_proof.

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

brain_receive_npub_proofAInspect

Receive npub ownership confirmation from a patron.

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

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

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

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

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

No annotations provided, so description bears full burden. It details draining only pinned relay, DM matching, deletion of mismatches, NACK behavior without revealing phrase, and that MCP never stores raw token. Fully transparent about side effects and data handling.

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

Conciseness4/5

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

Description is somewhat lengthy but well-structured with paragraphs and bullet points. Every sentence adds value, though it could be slightly tightened. No redundancy.

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

Completeness5/5

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

Output schema exists, so return value explanation is not needed. Description covers success behavior, data flow, and storage. For a complex transactional flow, it provides sufficient context.

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

Parameters3/5

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

Input schema has 100% coverage, so baseline is 3. Description adds flow context (e.g., dpop_token comes from request_npub_proof) but does not add new parameter semantics beyond schema.

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

Purpose5/5

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

Description clearly states it receives npub ownership confirmation and completes the npub-OWNERSHIP-PROOF flow. It distinguishes from sibling tool receive_credentials by naming it specifically. Verb 'receive' with resource 'npub ownership confirmation' is precise.

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

Usage Guidelines5/5

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

Explicitly says 'Call this only after the user confirms they have replied.' Also warns against polling, looping, or retrying. Provides clear preconditions and constraints for invocation.

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

brain_receive_patron_credentialsAInspect

Pick up patron credentials from the Secure Courier.

Deterministic, one-shot retrieval: name the response with (sender_npub, dpop_token) and the tool drains ONLY the pinned rendezvous relay for that channel, stopping at the matching DM. Provide an ncred1... credential_card to redeem directly instead (dpop_token not required for that path). Do NOT poll or retry. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
dpop_tokenNo
sender_npubNo
credential_cardNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description carries full burden. It discloses deterministic, one-shot behavior, drains only the pinned relay, stops at matching DM, and notes it's free. Missing details on failure modes or idempotency, but overall transparent.

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

Conciseness5/5

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

Concise three sentences with front-loaded purpose. Every sentence adds value: purpose, detailed behavior, and parameter guidance. No fluff.

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

Completeness4/5

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

Given 0% schema coverage and no annotations but presence of output schema, the description covers behavior and parameter usage well. It could clarify handling when both parameters are provided or error cases, but overall sufficient.

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

Parameters5/5

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

Schema coverage is 0%, so description must add meaning. It explains that sender_npub and dpop_token are used together for one path, and credential_card is an alternative without dpop_token, adding significant clarity beyond the schema.

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

Purpose4/5

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

The description clearly states 'Pick up patron credentials from the Secure Courier,' which is a specific verb and resource. However, it does not explicitly distinguish this tool from similar siblings like brain_receive_credentials or brain_request_patron_credentials, though context implies it's for deterministic one-shot retrieval.

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

Usage Guidelines3/5

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

Provides usage context: deterministic one-shot, two paths (sender_npub+dpop_token or credential_card), and instructs not to poll or retry. However, it does not explicitly compare to alternatives or state when not to use this tool.

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

brain_redeem_couponAInspect

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

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes
npubYes
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description discloses key behavioral traits: the tool validates window and total cap, records a redemption row, auto-applies discount on subsequent calls, is free, and idempotent. It does not detail error handling or the exact discount amount, but covers the main behaviors.

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

Conciseness4/5

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

The description is concise, with three short paragraphs that each add distinct information. It is front-loaded with the main purpose. While not overly verbose, it could be slightly more structured (e.g., bullet points).

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

Completeness4/5

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

Given the moderate complexity and presence of an output schema, the description covers inputs, effects, prerequisites, idempotency, and the auto-apply behavior. It is fairly complete but could elaborate on the discount application mechanism and uses_per_patron details.

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

Parameters3/5

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

The description explains the 'code' parameter as 'the code the operator shared' and mentions 'npub' as required proof. However, the optional 'dpop_token' parameter is not explained. Since schema coverage is 0%, the description adds some value but is incomplete for all parameters.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Claim a coupon by its name'. It explains the entire process from lookup to validation and recording redemption. It also distinguishes itself from sibling coupon tools (mint, update, delete, list) by focusing on claiming.

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

Usage Guidelines4/5

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

The description provides context for when to use the tool: it is free, requires proof of npub, and is idempotent. However, it does not explicitly contrast with alternatives or state when not to use it, though the sibling tools have clearly different purposes.

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

brain_report_issueInspect

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

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesThe details — which tool, what was wrong, what you expected.
npubYesYour Nostr public key (npub1...); the report's author of record.
titleYesOne-line summary of the problem.
tool_nameNoOptional: the specific tool the report is about (e.g. "schwab_get_option_chain").
dpop_tokenYesA kind-27235 Nostr event signed by npub for this tool.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

brain_request_adoptionAInspect

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

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

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

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

With no annotations provided, the description carries full burden for behavioral transparency. It thoroughly explains the internal workflow: resolving the Authority's MCP endpoint, minting an inline ownership proof using the operator's nsec, delivering the request MCP-to-MCP, and the pending state. It also discloses the restriction and precondition.

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

Conciseness5/5

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

The description is concise and well-structured. The core action is front-loaded in the first line, followed by essential behavioral and workflow details. Every sentence contributes unique value without redundancy or fluff.

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

Completeness4/5

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

Given the tool's complexity (4 parameters, output schema present), the description covers the main workflow, preconditions, and state transitions (pending to ready). It omits explicit details on output format or error conditions, but the existence of an output schema mitigates this. Slight gap in not describing success/failure indicators.

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

Parameters3/5

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

The input schema already covers all four parameters with 100% description coverage. The tool description adds contextual background (e.g., ownership proof for dpop_token, MCP endpoint for service_url) but does not introduce new semantic details beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose5/5

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

The description explicitly states the tool's purpose: to ask a chosen Authority to adopt an operator (deferred courtship). It clearly distinguishes itself from sibling tools like brain_adoption_status by referencing it for polling progress. The specific verb 'request' and resource 'adoption' 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.

Usage Guidelines4/5

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

The description includes important usage guidance: it is restricted to the operator and requires proof of npub control. It directs users to poll brain_adoption_status for progress, providing a clear workflow. However, it does not explicitly state when not to use this tool or list alternatives beyond adoption_status.

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

brain_request_credential_channelAInspect

Open a Secure Courier channel for credential delivery.

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

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

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

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

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

No annotations provided, so description carries full burden. It explains the flow: sends welcome DM, requires human-in-the-loop, and that receive_credentials destructively drains the relay mailbox. Warns against polling/retrying.

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

Conciseness4/5

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

Well-structured with bullet points and bold for key warnings. Every sentence adds value, though slightly verbose. Front-loaded with core purpose.

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

Completeness5/5

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

Given an output schema exists (though not shown), the description explains the entire flow, human involvement, next steps (receive_credentials), and destructive behavior. No gaps for an agent to misunderstand.

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

Parameters4/5

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

Schema description coverage is 100%, so baseline is 3. The description adds context about where to get the service name (from onboarding status endpoints) and clarifies that both parameters are required, going beyond the schema's default empty strings.

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

Purpose5/5

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

The description clearly states the tool opens a Secure Courier channel for credential delivery, distinguishing it from sibling request_npub_proof by specifying it's for service secrets like API keys and tokens.

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

Usage Guidelines5/5

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

Explicitly tells when to use (credential delivery) and when not to (use request_npub_proof for npub proof, check service_status for OAuth2 services). Provides post-call instructions: stop, tell user, wait for confirmation, avoid polling.

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

brain_request_npub_proofAInspect

Request npub ownership proof from a patron via Nostr DM.

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

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

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

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

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

Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
patron_npubNoRequired. The patron's npub to request proof from.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses behavioral traits: it sends a challenge DM, requires human-in-the-loop, destructive receive (drains mailbox), dpop_token not retained across restarts, proof expires, and it's free. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with clear sections and front-loaded key info. Each sentence adds value, though slightly verbose. Could be tightened but appropriate for complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, usage, lifecycle, return value (dpop_token), and expiration. With output schema present, return details are adequately addressed. Missing error handling info, but overall good for complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (patron_npub) with schema description 'Required. The patron's npub...'. Description adds no extra semantics beyond what schema provides. Schema coverage is 100%, so baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool requests npub ownership proof via Nostr DM, specifying it's for the npub-OWNERSHIP-PROOF flow. It explicitly distinguishes from request_credential_channel, avoiding confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use (when proof_required returned), when-not-to-use (not for service secrets), and alternative (request_credential_channel). Includes step-by-step lifecycle: call, tell user, wait, then call receive_npub_proof. Warns against polling and retrying.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brain_request_patron_credentialsCInspect

Open a Secure Courier channel for patron credential delivery.

Sends a welcome DM with a credential template to the patron. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
sender_npubNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must fully disclose behavioral traits. It mentions opening a channel and sending a welcome DM, but fails to describe side effects (e.g., whether existing channels are affected), authentication requirements, idempotency, or any destructive potential.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is very short (two sentences plus 'Free'), which is concise but omits critical detail. The structure is front-loaded but incomplete for a tool handling credential delivery.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema (not provided), the description does not explain what the tool returns or how to handle the response. The parameter is undocumented, and the tool's place in the credential workflow is unclear given sibling tools like brain_receive_patron_credentials.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has one parameter ('sender_npub') with 0% schema description coverage. Description does not explain the parameter's purpose, allowed values, or behavior when empty. It adds no semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool opens a Secure Courier channel for patron credential delivery and sends a welcome DM with a credential template. The verb-resource pair is specific and distinguishes from siblings like brain_request_credential_channel by emphasizing patron and welcome DM.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives such as brain_receive_patron_credentials or brain_receive_credentials. The only hint is 'Free,' but it does not explain usage context or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brain_reset_pricing_modelAInspect

Erase all pricing models and restore a viable default.

Deletes every stored model, then self-initializes a fresh one from the tool registry — all tools at 0 sats with proper UUIDs. Returns the new model.

RESTRICTED to operator — requires proof (nsec-signed).

ParametersJSON Schema
NameRequiredDescriptionDefault
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full responsibility. It discloses the destructive nature ('Erase all pricing models'), the self-initialization process, and the return of a new model. It also specifies operator restriction. However, it does not discuss irreversibility or other 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences plus a restriction line. It is front-loaded with the main purpose and achieves clarity without any redundant words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's destructive nature and the existence of an output schema, the description explains the core behavior and return value. However, it omits the purpose of the 'dpop_token' parameter and does not cover error scenarios or safety precautions beyond operator restriction.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter ('dpop_token') with 0% description coverage. The description fails to mention or explain this parameter, nor does it connect it to the required 'proof (nsec-signed).' The parameter remains undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action: 'Erase all pricing models and restore a viable default.' It details the process of deletion and re-initialization, distinguishing it from siblings like 'brain_set_pricing_model' and 'brain_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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly restricts usage to 'operator — requires proof (nsec-signed),' indicating prerequisites and authorization. It does not mention when not to use or alternatives, but the restriction implicitly guides non-operators away.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brain_restore_creditsAInspect

Credit a patron's ledger from a BTCPay-settled invoice.

RESTRICTED to the operator — the operator owns the books and is the only party who can issue a manual credit grant. Patrons who believe they paid but never got credits must escalate to the operator's support, who then invokes this tool on their behalf.

Use cases: cold-start vault races during check_payment, ncred delivery hiccups, patrons closing Top-Off sheets before settle, any infrastructure incident that left an invoice settled at BTCPay but uncredited on the operator's ledger.

Idempotent — if the invoice is already credited (in the patron's credited_invoices), returns success with credits_granted=0.

ParametersJSON Schema
NameRequiredDescriptionDefault
dpop_tokenYesA kind-27235 Nostr event signed by the OPERATOR's nsec for this tool. Patron proofs are rejected.
invoice_idYesThe BTCPay invoice ID to verify and credit.
patron_npubYesThe patron's npub whose ledger receives the grant.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description fully handles behavioral disclosure. It states the tool is idempotent and restricted to operator (using dpop_token). It could mention error behavior or rate limits, but overall it adds significant context beyond basic functionality.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably concise at about 6-7 sentences, with the main purpose front-loaded. It includes necessary context without being verbose, though it could be slightly more streamlined.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, the presence of an output schema, and the lack of annotations, the description covers essential aspects: purpose, restrictions, use cases, idempotency, and parameter context. It is complete for an agent to understand when and how to use it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already has 100% description coverage with detailed explanations for each parameter (dpop_token, invoice_id, patron_npub). The description text does not add further meaning beyond what the schema provides, so a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Credit a patron's ledger from a BTCPay-settled invoice.' It uses a specific verb and resource, and the restriction to operator and use cases clearly distinguish it from siblings like brain_purchase_credits or brain_check_payment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use (operator-only manual credit for failed automatic grants) and when not (patrons must escalate). It lists specific use cases like cold-start vault races, ncred delivery hiccups, and infrastructure incidents, providing clear guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brain_restore_neon_schemaAInspect

Re-run ensure_schema() on every NeonVault this operator uses.

Diagnostic / recovery tool for the case where the Neon HTTP SQL API is returning persistent 4xx errors and the operator suspects the schema isn't there or grants are wrong. Idempotent — uses CREATE TABLE IF NOT EXISTS so a successful re-run is harmless.

Returns the per-step result. If any step raises, surfaces the Neon error message inline (0.31.0 reads the SQL error body that earlier wheels swallowed behind raise_for_status).

RESTRICTED to operator — requires proof (nsec-signed).

ParametersJSON Schema
NameRequiredDescriptionDefault
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses idempotency, return structure (per-step result), error handling (surfaces Neon error message), and access restriction (requires nsec-signed proof). With no annotations, this fully covers behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four well-structured sentences, each adding critical information. Front-loaded with core action, followed by usage context, behavior, and restrictions. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, usage trigger, behavior, and restrictions thoroughly. Missing only parameter explanation, but output schema may compensate for return info. Overall complete for a recovery tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter dpop_token has a default but no explanation in description. Schema description coverage is 0%, and the description does not compensate by explaining its purpose or usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: re-run ensure_schema() on every NeonVault. It distinguishes itself as a diagnostic/recovery tool for persistent 4xx errors, which is unique among sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly specifies when to use (persistent 4xx errors, suspected schema/grants issues) and notes it's idempotent and harmless. No explicit alternatives mentioned, but context implies it's for recovery not routine use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brain_scan_orphansAInspect

Scan for orphaned thoughts with zero connections and optionally rescue them. Requires npub for credit billing.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
dry_runNoIf true, only report orphans without rescuing them
brain_idNoThe ID of the brain (uses active brain if not specified)
batch_sizeNoNumber of orphans to process per batch
dpop_tokenNo
orphanage_nameNoName of the orphanage thought to rescue orphans underOrphanage

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must cover behavioral traits. It mentions scanning and rescue actions and credit billing, but does not disclose side effects of rescue (e.g., whether it modifies thoughts, is reversible, or requires special permissions). This is insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences efficiently convey the tool's main function and a key requirement. No wasted 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.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and no nested objects, the description covers basic purpose and a requirement. However, it lacks details on idempotency, rescue behavior, and potential errors, which would be helpful for a tool that performs mutations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 83%, so the schema already explains most parameters. The description adds value by emphasizing the npub requirement, but does not enhance understanding of other parameters beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool scans for orphaned thoughts with zero connections and optionally rescues them. This distinguishes it from siblings like brain_update_thought or brain_delete_thought, which operate on specific thoughts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context (scan orphans, optionally rescue) and a requirement (npub for billing). It does not explicitly state when not to use it or list alternatives, but the purpose is distinct enough among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brain_search_thoughtsAInspect

Full-text search across thought names and content. Requires npub for credit billing.

⚠️ NOT AUTHORITATIVE. Backed by the vendor's search index, which is incomplete on large brains (upstream: TheBrainTech/thebrain-api-quickstart-python#1) — it returns empty for the majority of thoughts that provably exist. A hit is real; an empty result is NOT proof of absence. Use for discovery of older/established thoughts, not as an existence check — verify by ID with get_thought before acting on "not found".

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
brain_idNoThe ID of the brain (uses active brain if not specified)
dpop_tokenNo
query_textYesSearch query text
max_resultsNoMaximum number of results
only_search_thought_namesNoOnly search in thought names (not content)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must disclose all behavioral traits. It mentions the npub requirement for billing and implies a read operation, but omits details like pagination behavior, result ordering, error handling, or rate limits. The short description leaves significant gaps for a search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences and no wasted words. Every sentence adds value: one for the core purpose and one for a key requirement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and detailed parameter descriptions, the description is mostly complete. It covers the primary function and the billing requirement, though it could mention optional parameters like brain_id or max_results to be more helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds minimal meaning beyond the input schema: it reinforces that npub is for billing and that search covers names and content, which aligns with parameter descriptions. Since schema coverage is high (83%), the baseline is 3, and the description does not introduce new information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('search') and resource ('thought names and content'), making the tool's purpose immediately obvious. It distinguishes itself from sibling tools like brain_get_thought_by_name by indicating a broad full-text search rather than a specific lookup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (when a full-text search is needed) but does not explicitly mention alternatives or when not to use it. The 'requires npub for credit billing' is a requirement, not usage guidance relative to other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brain_service_statusAInspect

Check the health and configuration of this service. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. It states 'Free' implying no cost, but does not mention read-only nature, required authentication, or rate limits. However, since the tool has no parameters, the behavioral complexity is low.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that fully captures the tool's purpose. It is front-loaded with the action, and there is no extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple no-parameter health check tool that likely has a rich output schema (not provided but present), the description is complete enough. It specifies the action, resource, and cost (free), meeting the needs 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters and 100% schema description coverage (empty schema), the description adds no parameter details, which is acceptable. The baseline for zero-param tools is 4, as no additional semantics are needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Check' and the resource 'the health and configuration of this service', distinguishing it from all sibling tools which are more specific (e.g., brain_account_statement, brain_create_thought). No ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool vs alternatives. While it is implied as a health check, no exclusions or alternative tool references are provided. A simple 'Use to verify service availability before other operations' would improve guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brain_session_statusAInspect

Check operator readiness. Returns the operator lifecycle state and clear guidance on what to do next. Free.

Lifecycle states:

  • ready: Operator is warm and fully operational — vault AND pricing model verified. Proceed with tool calls.

  • warming_up: Operator is initializing (cold start). Try a tool call — it will warm up on demand.

  • misconfigured: Persistence rejected a query with a permanent SQL error (permission denied, missing relation). Paid tools will fail until the operator repairs the database — retrying does not help.

  • quota_exceeded: The persistence provider (Neon) answered HTTP 402 — the operator's database has exhausted its compute/storage quota, so the books are locked for billing. Paid tools fail; retrying does NOT help. The operator's Authority must restore capacity (upgrade the plan or wait for the quota reset). Free tools remain available.

  • not_registered: Operator has no Authority relationship yet. Call register_operator first.

  • no_identity: Operator nsec is not configured. Deployment issue.

ParametersJSON Schema
NameRequiredDescriptionDefault
patron_npubNoOptional. If supplied, the response includes an ``upstream_oauth`` block with the patron's stored OAuth token expiry (runtime-derived from vault state) so a client can refresh proactively rather than reactively after a stale-token failure.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description bears full responsibility. It fully discloses the tool's behavior: it is free, returns lifecycle states with clear actions, and details the optional parameter's effect. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise: two sentences plus a bullet list. Every sentence adds value, with no redundancies. The structure is front-loaded with the main purpose, followed by detailed state descriptions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (one optional parameter) and the existence of an output schema, the description is complete. It covers all necessary behavioral information and state handling, leaving no gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with a description for the single optional parameter. The tool description adds context about the parameter, explaining that it triggers an upstream_oauth block in the response. This goes beyond the schema, justifying a score above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Check operator readiness. Returns the operator lifecycle state and clear guidance on what to do next.' This distinguishes it from sibling tools, which focus on other aspects like accounts, notes, or credentials.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides guidance for each lifecycle state, telling the agent what to do (e.g., 'Proceed with tool calls' for ready, 'Try a tool call — it will warm up on demand' for warming_up). However, it does not explicitly state when to use this tool versus alternatives, though the context implies it's a prerequisite readiness check.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brain_set_active_brainAInspect

Set the active brain for subsequent operations. Requires npub for credit billing.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
brain_idYesThe ID of the brain to set as active
dpop_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses the billing requirement ('Requires npub for credit billing') and implies the tool sets state for future operations. However, it does not mention whether the operation is reversible, what happens on invalid input, or other 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences, front-loaded with purpose. No filler or redundant information. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, the description covers the key behavioral aspect (billing) and the purpose. An output schema exists, so return values are not needed. Minor lack of completeness around error handling and specific usage context, but generally adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67%. The description adds billing context for the npub parameter but does not provide additional meaning for brain_id or dpop_token beyond what the schema already states. The added value is marginal.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Set the active brain for subsequent operations,' which is a specific verb+resource purpose. This distinguishes it from sibling tools like brain_list_brains or brain_get_brain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions a prerequisite ('Requires npub for credit billing') but does not provide guidance on when to use this tool vs alternatives, nor does it outline scenarios where it should or should not be used.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brain_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dpop_tokenNo
model_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must disclose behavioral traits. It mentions the security requirement (proof), which is good, but does not clarify if the operation is destructive, reversible, or has side effects. The term 'Set' implies mutation but lacks detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences front-load the purpose and critical restriction. No wasted words; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an existing output schema and 2 parameters with zero coverage, the description is incomplete regarding parameter descriptions. However, it adequately covers the security context. For a simple set operation, it is borderline acceptable but missing param details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must explain parameters. It fails to describe either 'dpop_token' or 'model_json', leaving the agent without guidance on their purpose or format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool sets the active pricing model, using a specific verb ('Set') and resource ('active pricing model'). It distinguishes itself from siblings like brain_get_pricing_model and brain_reset_pricing_model, which are for reading or resetting.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly restricts usage to 'operator' and mandates a valid Schnorr-signed proof, providing clear access context. However, it does not explicitly state when NOT to use it or mention alternative tools for non-operators.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brain_update_couponAInspect

Patch a coupon's editable fields.

Pass only the fields you want to change. To set a cap to unlimited (NULL in the schema), pass clear_uses_per_patron=true or clear_total_uses=true. Renaming the code is allowed — existing patron redemption rows survive (they key on coupon id).

RESTRICTED to operator — requires proof.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
coupon_idYes
dpop_tokenNo
total_usesNo
valid_fromNo
valid_untilNo
uses_per_patronNo
clear_total_usesNo
discount_percentNo
clear_uses_per_patronNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full behavioral burden. It discloses patching behavior, field clearance via boolean flags, and that renaming the code preserves patron redemptions. It's transparent about restrictions and mutation side effects, though it could mention idempotency or failure cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a one-line main action, followed by brief usage notes and a restriction. Every sentence adds value, no fluff. It's appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 10 parameters, 0% schema description, and no annotations, the description covers partial update behavior, clearance mechanics, rename persistence, and access restrictions. It lacks per-parameter details but is fairly complete for a mutation tool with an output schema (assumed).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so description must compensate. It explains the boolean parameters (clear_uses_per_patron, clear_total_uses) for setting to NULL, and implies partial updates. However, many parameters like name, valid_from, discount_percent are not described, leaving semantic gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with 'Patch a coupon's editable fields', which clearly states the verb (patch) and resource (coupon's fields). It distinguishes from siblings like brain_mint_coupon (create) and brain_delete_coupon (delete) by specifying the update nature.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear guidance: 'Pass only the fields you want to change' and explains how to set caps to unlimited. It also states 'RESTRICTED to operator — requires proof', indicating authorization. However, it doesn't explicitly contrast with sibling tools or mention 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.

brain_update_patron_credentialAInspect

Add or update a single patron credential field.

Merges into existing stored credentials without affecting other fields. Useful for setting an account identifier after OAuth, changing a default brain, etc. Free. Proof of npub ownership is required — this is a write to the patron's sensitive credential vault.

ParametersJSON Schema
NameRequiredDescriptionDefault
npubYesThe patron's Nostr public key (npub1...).
fieldYesThe credential field name to set.
valueYesThe value to store.
dpop_tokenYesA kind-27235 Nostr event signed by npub for this tool.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses it is a write operation, requires npub proof, merges fields, and targets a sensitive vault. Could mention idempotency or response format, but current detail is strong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with clear front-loading: purpose first, then behavior, then examples and constraints. No redundant words. Efficiently communicates essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (4 params, basic merge operation) and presence of an output schema (not shown), the description fully covers intent, security, and usage scenarios. No gaps identified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all 4 parameters (100% coverage). Description adds context for 'dpop_token' (kind-27235 event) and implies purpose of 'field'/'value'. This extra meaning helps an agent construct valid calls.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Add or update a single patron credential field' with a specific verb and resource. It distinguishes from sibling tools like 'brain_delete_patron_credential' and 'brain_get_patron_credential_fields' by focusing on update semantics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides concrete examples ('setting an account identifier after OAuth, changing a default brain') and explains merging behavior. Lacks explicit 'when not to use' or alternative tool references, but context is clear enough for an agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brain_update_thoughtAInspect

Update a thought's properties and/or its parent in one call. Requires npub for credit billing.

Sets any subset of {name, label, colors, kind, ac_type, type, parent} on a single thought. Reparenting via new_parent_id replaces the existing parent link (the old parent child-link is deleted and a new one created); it does not add an additional parent.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoNew kind
nameNoNew name
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
labelNoNew label
ac_typeNoNew access type
confirmNoIf True, verify type/parent changes against the authoritative change-log (SET_TYPE / MOVED_LINK) instead of the cached graph, and attach a ``confirmation`` block. Costs one extra billed read.
type_idNoNew type ID
brain_idNoThe ID of the brain (uses active brain if not specified)
dpop_tokenNo
thought_idYesThe ID of the thought to update
new_parent_idNoNew parent thought ID (replaces all current parents)
background_colorNoNew background color in hex
foreground_colorNoNew foreground color in hex

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses reparenting replaces existing parent and requires npub for billing. No annotations, so description carries burden; lacks details on side effects like overwriting other properties, but overall transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two focused sentences: first states purpose and billing, second details reparenting. Front-loaded, no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers key behavioral points and parameter context; output schema exists, so return values not needed. Could mention validation or errors, but adequate for agent invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 92%, and description adds meaning: subset updating, reparenting semantics, npub requirement. Adds value beyond schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it updates thought properties and/or parent, with specific verb and resource. Distinguishes from create/delete siblings by explicitly listing updates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clear context for when to use (update thought), but no explicit exclusions or alternatives among siblings. Implied usage is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.