Skip to main content
Glama

Get Notification Counts

getNotificationCounts
Read-onlyIdempotent

Per-type notification counts for the authenticated user's current team. Narrow with unread, important, and with either severity (counts only that exact severity) or minSeverity (counts that urgency and above) — the two are mutually exclusive and a request carrying both is rejected with 400. Pass the same filters the feed is showing, so the counts describe the list the reader would land on. Requires the Notification Center feature; returns 404 when it is not enabled for the team.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
agentsNoWhen 'mine', only count notifications for agents the authenticated user created (plus connection_broken, which is always counted), so the counts match a feed filtered the same way.
unreadNoIf true, only count unread notifications.
team_idNoDuvo team UUID to operate on. API keys are pinned to a single team — omit this (it falls back to the key's team) or pass that same team; a different team is rejected. OAuth callers, who can span multiple teams, should pass the target team here.
severityNoOnly count notifications with exactly this severity, so the counts match a feed filtered the same way. Mutually exclusive with minSeverity.
importantNoIf true, only count notifications pinned to Important for you: unresolved, undismissed connection_broken rows you can reconnect yourself. Use it to size the sidebar alert without paging the list.
minSeverityNoOnly count notifications at or above this urgency, so the counts match a feed filtered the same way. Least to most urgent: success < info < warning < critical. Mutually exclusive with severity.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / important
      Added value: +{
      +  "description": "If true, only count notifications pinned to Important for you: unresolved, undismissed connection_broken rows you can reconnect yourself. Use it to size the sidebar alert without paging the list.",
      +  "enum": [
      +    "true",
      +    "false"
      +  ],
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description discloses additional behavioral traits: it requires the Notification Center feature and returns 404 when not enabled, and it rejects requests with both severity and minSeverity with a 400. It also explains that certain filters (important) have specific counting semantics, adding transparency beyond the annotations.

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?

The description is compact yet information-dense. Every sentence contributes distinct value: purpose, filter usage, mutual exclusion, feed alignment, and error conditions. It avoids redundancy and is well-structured, making it easy for an agent to parse quickly.

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?

Given there is no output schema, the description provides a reasonable expectation of the response ('per-type notification counts'). It also covers error cases (400, 404) and parameter relationships. It does not specify the exact response structure (e.g., map vs. list), but this is a minor gap and the tool's purpose is sufficiently clear for invocation.

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

Parameters4/5

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

The schema already covers 100% of parameters with descriptions, and the tool description reinforces and extends this by linking filters to feed behavior ('so the counts match a feed filtered the same way') and adding usage context for 'important' ('size the sidebar alert without paging the list'). This adds meaningful cross-parameter and real-world semantic value beyond the individual field descriptions.

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

Purpose5/5

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

The description clearly states the tool's function: 'Per-type notification counts for the authenticated user's current team.' It specifies the resource (notification counts), the action (get/count), and the scope (per-type, current team). This unambiguously distinguishes it from feed/list tools and makes its purpose immediately understandable.

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?

The description provides practical guidance on when to use the tool, such as 'Pass the same filters the feed is showing, so the counts describe the list the reader would land on' and 'Use it to size the sidebar alert without paging the list.' It also explains mutual exclusions and error conditions. It does not explicitly name alternative tools, but the context makes appropriate usage clear.

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