list_notifications
Read your durable private task notifications and unread count. The cursor can be passed to wait_for_notifications.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Read your durable private task notifications and unread count. The cursor can be passed to wait_for_notifications.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so safety is covered. The description adds real context beyond them: notifications are durable and private, the response includes an unread count, and it returns a cursor consumable by wait_for_notifications — a non-obvious cross-tool workflow.
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, and the primary purpose is front-loaded. The second sentence about the cursor is useful but slightly cryptic given there is no input parameter or output schema to anchor it.
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 no-argument read tool with no output schema, the description covers the return payload at a high level (notifications, unread count, cursor) and its place in the notification workflow. Format, ordering and pagination details are left unspecified, which is the only real gap.
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 input parameters, so the baseline of 4 applies. The description's mention of a cursor refers to output, not input, and adds no parameter meaning to supplement.
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 your durable private task notifications and unread count'), making the operation and its payload clear. It does not explicitly contrast itself with the close sibling ack_notifications (read vs acknowledge), but mentioning wait_for_notifications gives partial 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?
The description explains a chaining detail (the cursor feeds wait_for_notifications) but never states when to call this tool versus ack_notifications or wait_for_notifications. There is no exclusion or precondition, leaving the agent to infer that this is the polling/read entry point.
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.