DESTRUCTIVE

mark_notification_read

Mark one entry of the person's Notifications Center as read.

The bell's click for agents: one entry of the person's Notifications Center is marked read, so the sidebar count stops counting it. Idempotent: an entry already read keeps its first read_at. Take the id from list_notifications.

Requires ability

The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.

The REST endpoint and this tool share one action, so validation, permissions and events are identical.

Annotations

DestructiveIdempotent

A client that honours annotations asks a person before running it. Sending the same arguments twice changes nothing the second time.

Arguments

notification_id*string

UUID of the entry to mark read, from `list_notifications`.

What it returns

{  "data": {    "id": "0b1f6e2a-7c3d-4e5f-8a9b-0c1d2e3f4a5b",    "class": "security",    "class_label": "Security",    "title": "New API token minted",    "body": "A token named Cursor was minted for your account.",    "route": "settings.tokens",    "params": {},    "url": "https://app.example.test/settings/tokens",    "read": true,    "read_at": "2026-10-26T10:35:00+00:00",    "created_at": "2026-10-26T10:05:30+00:00"  },  "meta": {}}

How it fails

AUTHENTICATION_REQUIRED

no authenticated user on the request.

TOKEN_MISSING_ABILITY

token lacks account:write.

RESOURCE_NOT_FOUND

the id is not one of this person's entries.

How is this guide?

Last updated on