Skip to main content
Glama

list_notifications

Read-only

List the user's in-app notifications, newest first. Pass filter='unread' to scope to unread items (use this to answer 'do I have any new notifications?'). Each notification has a type, an optional deepLink, and a metadata JSON blob whose shape varies by type. Returns up to limit items (default 20, max 50) with a nextCursor for pagination.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_notifications"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoNumber of notifications to return (default 20, max 50).
cursorNoPagination cursor — id of the last seen notification.
filterNoFilter by read state. Default: all.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so safety is covered; the description adds non-redundant behavior: newest-first ordering, the page-size bounds, and the nextCursor pagination loop. It also warns that the metadata blob's shape varies by type, which prevents an agent from assuming a fixed return shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: scope and ordering first, the actionable filter guidance second, then return shape and pagination. No filler and nothing buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-shape burden and does it well for a read-only list: item fields, pagination cursor, and the metadata variability caveat. A brief note on authorization scope ('user's') is present, though per-item meaning of type values is left open.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so limit, cursor, and filter are already fully documented with defaults and bounds — baseline 3 applies. The description restates default 20/max 50 and the filter values without adding syntax or format detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List the user's in-app notifications') plus an ordering guarantee ('newest first'), which no schema field conveys. It is clear on its own, but it doesn't distinguish itself from the sibling get_unread_notification_count, which overlaps with the unread-notification question.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit usage cue — pass filter='unread' to answer 'do I have any new notifications?' — which is real when-to-use guidance rather than an implied hint. It stops short of naming alternatives or exclusions, notably that a lightweight count exists as a sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources