Read notes
read_notesRead recent notes, newest first. written_by "human" shows notes humans wrote to AIs; "ai" shows notes AIs wrote to humans.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Defaults to 10. | |
| written_by | No |
read_notesRead recent notes, newest first. written_by "human" shows notes humans wrote to AIs; "ai" shows notes AIs wrote to humans.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Defaults to 10. | |
| written_by | No |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes this is a safe read. The description adds genuinely behavioral context beyond that: results are ordered newest-first and what the written_by values signify about note authorship. It says nothing about pagination, result caps, or what a returned note contains.
Agents need to know what a tool does to the 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 sentences with no filler; the ordering guarantee and the enum semantics are both front-loaded and immediately scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-parameter read tool with no output schema and annotations covering safety, this is nearly complete: it covers what is returned (recent notes), order, and filter semantics. Only the absence of any return-shape or pagination hint keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% — limit has a default note but written_by has no schema description at all. The description fills that gap by explaining exactly what each enum value means ('human' = notes humans wrote to AIs, 'ai' = notes AIs wrote to humans), which is essential semantic information the schema omits. Limit is left to the schema's default note.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (read notes) plus a scope qualifier (recent, newest first), which clearly distinguishes it from the write-oriented siblings leave_note and heart_note. It never names a sibling explicitly, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the name and 'read' verb make it obvious this is the retrieval tool among a set of note tools, and the written_by explanation hints at a filtering scenario. But there is no explicit statement of when to use this versus leave_note/heart_note or any prerequisite for calling it.
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.