Prepare Nostr note
prepare_notePrepare and bind an exact unsigned kind:1 note for user review. This does not sign or publish.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes |
prepare_notePrepare and bind an exact unsigned kind:1 note for user review. This does not sign or publish.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds meaningful context beyond annotations: it produces an 'unsigned' note, it 'binds' it, it's for 'user review', and critically it 'does not sign or publish', clarifying that signing/publishing is a separate step. This is a helpful clarification of a non-obvious prepare/commit split.
Agents need to know what a tool does to the 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 action and result, followed by the key boundary (does not sign/publish). No waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-param, annotated, no-output-schema tool, the description covers the essential: what it creates, that it's unsigned, and the non-signing boundary. A brief note about the expected next step (sign_event) would make it fully complete, but what's present is sufficient to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description should compensate, but the single 'content' parameter is self-evident in meaning. The description doesn't explain content constraints (maxLength 65536, the kind:1 format implied). With one obvious parameter and no description coverage, baseline 3 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?
Clear specific verb+resource: 'Prepare and bind an exact unsigned kind:1 note for user review.' It states exactly what is produced (an unsigned note) and the kind (1). It distinguishes itself from publish_event/sign_event by stating 'This does not sign or publish', though it doesn't explicitly name prepare_event, its closest sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 a workflow (prepare → review → sign/publish) by stating what it doesn't do, which helps an agent infer when to use it. But it never explicitly names alternatives like prepare_event or sign_event, nor states prerequisites. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.