list_annotations
List all annotations (comments) on a document.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Document slug |
List all annotations (comments) on a document.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Document slug |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the burden. 'List' implies a read-only operation, but the description doesn't disclose potential pagination, ordering, or authorization requirements. It adds minimal context beyond the operation itself, though for a simple list this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is concise, front-loaded, and contains no wasted words. It states the action and scope 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 low complexity (one parameter, no nested objects, no output schema), the description is sufficiently complete for an agent to select and invoke the tool. It does not describe the return format, but that is not strictly necessary for a simple list operation without 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?
The schema description for 'slug' is 'Document slug', which covers the parameter's meaning 100%. The tool description reinforces that the slug identifies the document but adds no additional syntax or format details 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 ('List'), the resource ('annotations'), and the scope ('on a document'). This distinguishes it from siblings like create_annotation (which creates) and list_documents (which lists documents).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool: to retrieve all annotations for a specific document. Though it doesn't explicitly mention alternatives, the context is unambiguous and no exclusions are needed for such a simple operation.
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.
Each tool has a distinct role: document CRUD (create, get, update, archive), listing/searching, annotation create/list, and two auth helper tools. There is no overlap or ambiguity between them.
All tools follow a consistent verb_noun pattern with snake_case (e.g., create_document, list_annotations, request_device_auth). The naming is uniform and predictable across both document and auth tools.
With 10 tools, the server is well-scoped for document management plus required auth flow. It covers the essential operations without being bloated or too thin.
Core document operations are covered (create, read, update, archive, list, search), but there is no hard delete or unarchive, and annotations only support create/list (no update/delete). Additionally, there is no explicit tool for sharing documents despite the mention of shared docs.