Skip to main content
Glama

Get Notification Feed

getNotificationFeed
Read-onlyIdempotent

List the notification feed for the authenticated user's current team, most recent activity first. Each item is either an individual notification or a notification batch (a per-agent group of job_issue/eval_issue/job_done/schedule_issue notifications). Filter with type, unread, and either severity (exact match) or minSeverity (threshold; the two are mutually exclusive); paginate with limit/cursor. Either severity filter also narrows a surfaced batch's counts to its qualifying members, and hides a batch with no qualifying live member. The feed is eventually consistent — a batch's counts can lag a concurrent write by one page fetch. Requires the Notification Center feature; returns 404 when it is not enabled for the team.

Input Schema

NameRequiredDescriptionDefault
typeNoOnly return individual notifications of this type and batches with at least one live member of it.
limitNo
agentsNoWhen 'mine', only return notifications for agents the authenticated user created. connection_broken notifications are always returned regardless, because they are not about an agent: a broken connection is only notified to the people who can act on it or escalate it, so filtering by agent authorship would hide it from the reader it was addressed to.
cursorNo
unreadNoIf true, only return unread individual notifications and batches with at least one unread live member.
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 return individual notifications with exactly this severity, and batches with at least one live member of it. A batch's counts then describe only those members. Mutually exclusive with minSeverity. One of: info, warning, critical, success.
minSeverityNoOnly return individual notifications at or above this urgency, and batches with at least one live member at or above it. A batch's counts and worst severity then describe only its members at or above the threshold. 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
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "connection_broken",
      -  "case_failed",
      -  "critical_case_issue",
      -  "case_issue",
      -  "critical_eval_issue",
      -  "eval_issue",
      -  "job_issue",
      -  "job_done",
      -  "background_job",
      -  "schedule_issue",
      -  "config_proposal"
      -]New value: +[
      +  "connection_broken",
      +  "login_broken",
      +  "case_failed",
      +  "critical_case_issue",
      +  "case_issue",
      +  "critical_eval_issue",
      +  "eval_issue",
      +  "job_issue",
      +  "job_done",
      +  "background_job",
      +  "schedule_issue",
      +  "config_proposal",
      +  "routine_candidate"
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "connection_broken",
      -  "case_failed",
      -  "critical_case_issue",
      -  "case_issue",
      -  "critical_eval_issue",
      -  "eval_issue",
      -  "job_issue",
      -  "job_done",
      -  "background_job",
      -  "schedule_issue"
      -]New value: +[
      +  "connection_broken",
      +  "case_failed",
      +  "critical_case_issue",
      +  "case_issue",
      +  "critical_eval_issue",
      +  "eval_issue",
      +  "job_issue",
      +  "job_done",
      +  "background_job",
      +  "schedule_issue",
      +  "config_proposal"
      +]
  3. Changed1 schema field changed
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "connection_broken",
      -  "critical_eval_issue",
      -  "eval_issue",
      -  "job_issue",
      -  "job_done",
      -  "background_job",
      -  "schedule_issue"
      -]New value: +[
      +  "connection_broken",
      +  "case_failed",
      +  "critical_case_issue",
      +  "case_issue",
      +  "critical_eval_issue",
      +  "eval_issue",
      +  "job_issue",
      +  "job_done",
      +  "background_job",
      +  "schedule_issue"
      +]
  4. Changed1 schema field changed
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "connection_broken",
      -  "job_issue",
      -  "eval_issue",
      -  "job_done",
      -  "background_job",
      -  "schedule_issue"
      -]New value: +[
      +  "connection_broken",
      +  "critical_eval_issue",
      +  "eval_issue",
      +  "job_issue",
      +  "job_done",
      +  "background_job",
      +  "schedule_issue"
      +]
  5. Changed1 schema field changed
    • changedInput schema / properties / agents / description
      Previous value: -"When 'mine', only return notifications for agents the authenticated user created. connection_broken notifications are always returned regardless, because a broken connection is everyone's to fix."New value: +"When 'mine', only return notifications for agents the authenticated user created. connection_broken notifications are always returned regardless, because they are not about an agent: a broken connection is only notified to the people who can act on it or escalate it, so filtering by agent authorship would hide it from the reader it was addressed to."
  6. First observed

TDQS

A4.2/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing that the feed is eventually consistent (batch counts can lag a concurrent write by one page fetch), that severity filters narrow a batch's counts and can hide batches with no qualifying live member, and that a disabled feature yields a 404. These are non-obvious behaviors an agent could not derive from readOnlyHint/idempotentHint.

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

Conciseness4/5

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

Front-loads the purpose in the first clause, then layers item semantics, filtering rules, consistency caveat, and the feature prerequisite — each sentence carries information. The single dense paragraph is efficient but packs several distinct concerns together, slightly reducing scannability.

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?

Covers the prerequisite, error mode, filtering semantics, consistency behavior, and the individual-vs-batch item structure for an 8-parameter tool with no required params. Since there is no output schema, the description could say more about the fields returned by an individual notification or batch, which is the main remaining gap.

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?

Schema coverage is 75%, so the baseline is 3, but the description adds real meaning: the mutual exclusivity between severity and minSeverity, that minSeverity is a threshold and severity an exact match, and that either filter also narrows a batch's counts. The limit/cursor and type detail is largely redundant with the schema descriptions, keeping it from a 5.

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 with scope: 'List the notification feed for the authenticated user's current team, most recent activity first,' and explains that items are either individual notifications or per-agent batches. It does not, however, distinguish itself from the very close sibling listNotifications or from getNotificationBatch, leaving the agent to infer the difference from the name alone.

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 clear operational context: how to filter (type, unread, severity vs minSeverity with explicit mutual exclusivity), how to paginate (limit/cursor), and the prerequisite that the Notification Center feature must be enabled with a 404 otherwise. It stops short of naming an alternative tool or saying when not to call it, so it lands at clear-context-but-no-exclusions.

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