personalbrain-mcp
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.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.8/5 across 80 of 80 tools scored. Lowest: 2.6/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.
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.
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.
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 toolsbrain_account_statementAInspect
Generate a patron's account statement at this operator.
Returns the patron's purchase history, active credit tranches, per-tool usage breakdown, and recent daily usage logs. This is the patron's spending account — not the operator's Authority tax balance.
Free — no credits consumed. Proof of npub ownership is required to prevent statement-scraping of arbitrary patrons.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days of daily usage history to include (default 30). | |
| npub | Yes | The patron's Nostr public key (npub1...). | |
| dpop_token | Yes | A kind-27235 Nostr event signed by npub for this tool. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days of daily usage history to include (default 30). | |
| npub | Yes | The Nostr public key (npub1...) whose statement to render. | |
| dpop_token | Yes | A kind-27235 Nostr event signed by npub for this tool. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| file_name | No | Name for the attachment (optional) | |
| file_path | Yes | Path to the file to attach | |
| dpop_token | No | ||
| thought_id | Yes | The ID of the thought |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to attach | |
| name | No | Name for the URL attachment (auto-fetched if not provided) | |
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| dpop_token | No | ||
| thought_id | Yes | The ID of the thought |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It 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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | No | ||
| authority_npub | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| markdown | Yes | Markdown content to append | |
| dpop_token | No | ||
| thought_id | Yes | The ID of the thought |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| query | Yes | A BrainQuery string (Cypher subset). | |
| confirm | No | Set to true to confirm and execute a DELETE operation. | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | The Nostr public key (npub1...) whose balance to check. | |
| dpop_token | Yes | A kind-27235 Nostr event signed by npub for this tool. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | The Nostr public key (npub1...) that purchased the invoice. | |
| dpop_token | Yes | A kind-27235 Nostr event signed by npub for this tool. | |
| invoice_id | Yes | The invoice ID returned by purchase_credits. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | ||
| tool_id | Yes | Either the tool's UUID (from the pricing model) or a bare capability string (e.g. ``"deal_scenario"``). FE callers usually have the capability name; this resolves both so the FE doesn't need to derive UUIDs locally. | |
| dpop_token | No | ||
| tool_kwargs | No | Optional JSON object with tool call parameters for ad valorem / categorical-multiplier pricing preview (e.g. '{"amount_sats": 5000}' or '{"difficulty": "sovereign", "mode": "live"}'). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | No | Required. The dpop_token phrase returned by ``request_npub_proof`` / ``receive_npub_proof``. | |
| patron_npub | No | Required. The patron's npub (npub1...). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description 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.
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.
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.
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.
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.
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_linkCInspect
Create a relationship between two thoughts by ID. Requires npub for credit billing.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Label for the link | |
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| color | No | Link color in hex format | |
| type_id | No | ID of link type | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| relation | Yes | Relation type (1=Child, 2=Parent, 3=Jump, 4=Sibling) | |
| direction | No | Direction flags | |
| thickness | No | Link thickness (1-10) | |
| dpop_token | No | ||
| thought_id_a | Yes | ID of the first thought | |
| thought_id_b | Yes | ID of the second thought |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions credit billing requirement but omits other behavioral traits: mutation of data, potential for errors if thoughts don't exist, or whether operation is idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no fluff. Could be slightly expanded to include key behavioral notes, but it's appropriately short.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 parameters and complexity, the description is minimal. It omits default behavior (e.g., brain_id uses active brain) and expected output. Even with output schema existing, more context on intended use would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 91%, so parameter descriptions exist. The description adds 'by ID' but that's already in schema. It does not clarify e.g., relation type meanings beyond schema, so value-add is marginal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a relationship between two thoughts by ID. This distinguishes it from sibling tools like brain_create_thought (creates thought) and brain_update_link (updates existing relationship), though it does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is that npub is required for credit billing. There is no indication of when to use create vs update, prerequisites (thoughts must exist), or alternatives among siblings.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| markdown | Yes | Markdown content for the note | |
| dpop_token | No | ||
| thought_id | Yes | The ID of the thought |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Kind 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). | |
| name | Yes | The name of the thought | |
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| label | No | Optional label for the thought | |
| ac_type | No | Access type (0=Public, 1=Private) | |
| type_id | No | ID of the thought type to assign | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| relation | No | Relation type if linking (1=Child, 2=Parent, 3=Jump, 4=Sibling) | |
| dpop_token | No | ||
| background_color | No | Background color in hex format (e.g., "#0000ff") | |
| foreground_color | No | Foreground color in hex format (e.g., "#ff0000") | |
| source_thought_id | No | ID of the source thought to link from |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| dpop_token | No | ||
| attachment_id | Yes | The ID of the attachment |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| coupon_id | Yes | ||
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses cascading 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.
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.
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.
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.
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.
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_linkAInspect
Permanently delete a link by ID. Cannot be undone. Requires npub for credit billing.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| link_id | Yes | The ID of the link | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. It states the action is permanent and cannot be undone, and explains the billing requirement. This is valuable, though it omits details like authorization checks or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: two short sentences covering all essential points (action, permanence, billing requirement). No wasted words; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the existence of an output schema (reducing need to describe return values), the description adequately covers the core operation, permanence, and prerequisite. It could mention that the link must exist, but overall it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds no extra meaning beyond what the schema provides, simply echoing 'by ID' and 'requires npub'. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'delete' and the resource 'link', with additional emphasis on permanence. It distinguishes from other delete tools (e.g., brain_delete_thought, brain_delete_attachment) by specifying the resource, making it unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides important usage context: the operation is irreversible and requires an npub for credit billing. However, it does not explicitly guide when to use this tool versus alternatives (e.g., brain_update_link or brain_delete_attachment), leaving the agent to infer from the resource name.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | The patron's Nostr public key (npub1...). | |
| field | Yes | The credential field name to remove. | |
| dpop_token | Yes | A kind-27235 Nostr event signed by npub for this tool. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| confirm | No | If 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_id | No | The ID of the brain (uses active brain if not specified) | |
| dpop_token | No | ||
| thought_id | Yes | The ID of the thought |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Flexible date string (ISO, natural language, relative) | |
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| notes | No | Optional markdown note for the Event | |
| person | Yes | Full name or thought ID (UUID) | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| dpop_token | No | ||
| event_name | No | Custom event name (auto-generated if omitted) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | ||
| coupon_id | Yes | ||
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | The Nostr public key (npub1...) whose credentials to forget. | |
| service | Yes | The credential service to forget. | |
| dpop_token | Yes | A kind-27235 Nostr event signed by npub for this tool. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| dpop_token | No | ||
| attachment_id | Yes | The ID of the attachment |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| dpop_token | No | ||
| save_to_path | No | Optional path to save the file locally | |
| attachment_id | Yes | The ID of the attachment |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It only 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| brain_id | Yes | The ID of the brain | |
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
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.
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.
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.
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.
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.
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_linkAInspect
Get details about a specific link. Requires npub for credit billing.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| link_id | Yes | The ID of the link | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that npub is required for credit billing, a behavioral trait beyond schema, but no annotations exist to contradict. Lacks details on read-only nature, rate limits, or error scenarios.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: one for purpose, one for a key requirement. No redundant information, front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple retrieval tool with output schema, but lacks guidance on when to use over other link or detail tools, and missing context like required authorization.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
75% schema coverage provides baseline 3; description adds slight value by reinforcing npub's billing purpose, but does not elaborate on other parameters beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get details' and the resource 'a specific link', distinguishing it from sibling tools like brain_create_link and brain_delete_link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides implied usage for retrieving link details but lacks explicit when-to-use vs alternatives or exclusions, such as not searching for links.
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:
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=Trueflag that does this for you.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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| end_time | No | End time for logs (ISO format) | |
| max_logs | No | Maximum number of logs to fetch from the API (pre-filter) | |
| mod_types | No | Only return entries whose modType is in this list (e.g. [102] for deletes) | |
| source_id | No | Only return entries for this thought/link ID | |
| dpop_token | No | ||
| start_time | No | Start time for logs (ISO format) | |
| source_type | No | Only return entries of this SourceType (2=Thought, 3=Link) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | The patron's Nostr public key (npub1...). | |
| notarization_id | Yes | The notarization record ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| format | No | Output format (markdown, html, or text) | markdown |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| dpop_token | No | ||
| thought_id | Yes | The ID of the thought |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It describes 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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | The patron's Nostr public key (npub1...). | |
| dpop_token | Yes | A kind-27235 Nostr event signed by npub for this tool. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | Yes | A kind-27235 Nostr event signed by patron_npub for this tool. | |
| patron_npub | Yes | The patron's Nostr public key (npub1...). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| dpop_token | No | ||
| thought_id | Yes | The ID of the thought |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| dpop_token | No | ||
| name_exact | Yes | The exact name to match (case-sensitive) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| dpop_token | No | ||
| thought_id | Yes | The ID of the thought | |
| include_siblings | No | Include sibling thoughts in the graph |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| cursor | No | Pagination cursor from a previous response | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| direction | No | "older" (newest first) or "newer" (oldest first) | older |
| page_size | No | Number of results per page (default 10) | |
| dpop_token | No | ||
| thought_id | Yes | The ID of the thought | |
| relation_filter | No | Filter by relation: "child", "parent", "jump", "sibling" |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| dpop_token | No | ||
| thought_id | Yes | The ID of the thought |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | ||
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum records to return (default 20). | |
| status | No | Optional filter (e.g., 'submitted', 'confirmed'). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The catchy code patrons type to redeem (operator-scoped uniqueness). | |
| dpop_token | No | ||
| total_uses | No | Aggregate cap across all patrons (default None = unlimited). | |
| valid_from | Yes | ISO-8601 datetime when the coupon becomes active. | |
| valid_until | Yes | ISO-8601 datetime when the coupon expires. | |
| uses_per_patron | No | How many tool calls one patron can claim the discount on (default 1; pass null/None for unlimited within the window). | |
| discount_percent | Yes | Percentage off the base price (0-100). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| confirm | No | If 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_id | No | The ID of the brain (uses active brain if not specified) | |
| dpop_token | No | ||
| thought_id | Yes | The ID of the thought to morph | |
| new_type_id | No | ID of the new type to assign | |
| new_parent_id | No | ID of the new parent thought (replaces all current parents) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description carries full burden. It discloses 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only mentions 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | The patron's Nostr public key the event must be signed by. | |
| signed_event | No | A JSON-encoded, client-signed kind-0 event. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | The Nostr public key (npub1...) the credits will fund. | |
| dpop_token | Yes | A kind-27235 Nostr event signed by npub for this tool. | |
| amount_sats | No | Satoshis to purchase (default 1000). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| service | No | Required. The credential service name (must match the service used in request_credential_channel). | |
| dpop_token | No | Required. The session phrase returned by request_credential_channel for this exact channel. | |
| sender_npub | No | Required. The npub that sent the credentials. | |
| credential_card | No | Optional. An ncred1... card to redeem directly (bypasses the relay drain; dpop_token not needed). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | No | Required. The dpop_token returned by request_npub_proof. | |
| patron_npub | No | Required. The patron's npub to receive proof from. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | No | ||
| sender_npub | No | ||
| credential_card | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | ||
| npub | Yes | ||
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | The details — which tool, what was wrong, what you expected. | |
| npub | Yes | Your Nostr public key (npub1...); the report's author of record. | |
| title | Yes | One-line summary of the problem. | |
| tool_name | No | Optional: the specific tool the report is about (e.g. "schwab_get_option_chain"). | |
| dpop_token | Yes | A kind-27235 Nostr event signed by npub for this tool. |
Output Schema
| Name | Required | Description |
|---|---|---|
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.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | optional message for the Authority owner. | |
| dpop_token | No | operator-npub ownership proof (inline kind-27235 or cached token). | |
| service_url | No | this operator's MCP endpoint (advertised to the Authority). | |
| authority_npub | Yes | npub of the Authority to request adoption from. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| service | No | Required. The credential service name (e.g., from get_operator_onboarding_status or get_patron_onboarding_status). | |
| sender_npub | No | Required. The npub to send the template to. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| patron_npub | No | Required. The patron's npub to request proof from. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sender_npub | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | Yes | A kind-27235 Nostr event signed by the OPERATOR's nsec for this tool. Patron proofs are rejected. | |
| invoice_id | Yes | The BTCPay invoice ID to verify and credit. | |
| patron_npub | Yes | The patron's npub whose ledger receives the grant. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations 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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses idempotency, 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| dry_run | No | If true, only report orphans without rescuing them | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| batch_size | No | Number of orphans to process per batch | |
| dpop_token | No | ||
| orphanage_name | No | Name of the orphanage thought to rescue orphans under | Orphanage |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It 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.
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.
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.
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.
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.
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".
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| dpop_token | No | ||
| query_text | Yes | Search query text | |
| max_results | No | Maximum number of results | |
| only_search_thought_names | No | Only search in thought names (not content) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| patron_npub | No | Optional. If supplied, the response includes an ``upstream_oauth`` block with the patron's stored OAuth token expiry (runtime-derived from vault state) so a client can refresh proactively rather than reactively after a stale-token failure. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| brain_id | Yes | The ID of the brain to set as active | |
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| dpop_token | No | ||
| model_json | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| coupon_id | Yes | ||
| dpop_token | No | ||
| total_uses | No | ||
| valid_from | No | ||
| valid_until | No | ||
| uses_per_patron | No | ||
| clear_total_uses | No | ||
| discount_percent | No | ||
| clear_uses_per_patron | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
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.
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.
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.
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.
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.
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_linkAInspect
Update link properties. Requires npub for credit billing.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New label | |
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| color | No | New color in hex | |
| link_id | Yes | The ID of the link to update | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| relation | No | New relation type | |
| direction | No | New direction flags | |
| thickness | No | New thickness (1-10) | |
| dpop_token | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavior. It only states 'Update link properties' and a billing requirement, but does not mention that updates overwrite existing properties, whether changes are reversible, or what happens to unspecified fields. This is minimal transparency for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: the first states the purpose, the second adds a critical requirement. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the basic purpose and a key prerequisite (npub), but does not explain the role of optional parameters like brain_id, direction, or thickness, nor the effects of leaving them null. With an output schema present, return values need no explanation, but overall completeness is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 89%, so the schema already documents most parameters. The description adds only the billing context for npub, which is useful but not significant 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update link properties' clearly states the verb (update) and resource (link), and its purpose is distinct from sibling tools like brain_create_link, brain_delete_link, or brain_get_link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'Requires npub for credit billing,' which gives context but does not explicitly state when to use this tool versus alternatives (e.g., brain_create_link for new links, brain_get_link for reading). Usage is implied but not guided.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| npub | Yes | The patron's Nostr public key (npub1...). | |
| field | Yes | The credential field name to set. | |
| value | Yes | The value to store. | |
| dpop_token | Yes | A kind-27235 Nostr event signed by npub for this tool. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | New kind | |
| name | No | New name | |
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| label | No | New label | |
| ac_type | No | New access type | |
| confirm | No | If 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_id | No | New type ID | |
| brain_id | No | The ID of the brain (uses active brain if not specified) | |
| dpop_token | No | ||
| thought_id | Yes | The ID of the thought to update | |
| new_parent_id | No | New parent thought ID (replaces all current parents) | |
| background_color | No | New background color in hex | |
| foreground_color | No | New foreground color in hex |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses 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.
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.
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.
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.
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.
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Your Connectors
Sign in to create a connector for this server.