Skip to main content
Glama

Send Push Notification

send_push_notification

Send an ActivitySmith Push Notification to this account. Optionally target channel slugs.

Normal notification taps use redirection, which accepts HTTP/HTTPS URLs and installed apps' custom URL schemes, such as spotify:// or shortcuts://run-shortcut?name=Example.

Expanded notification actions use actions, up to 4 items. open_url actions accept the same external URLs as redirection. Custom app schemes require iOS app 1.13.4 build 2 or later and the target app to be installed; no web fallback is provided. Unsafe schemes and ActivitySmith's internal scheme are blocked. webhook actions call an HTTPS endpoint with GET or POST and optional JSON body.

media can be combined with redirection, but media cannot be combined with actions.

The result includes notification_id. Pass it to replace_push_notification to update this notification later, for example when an incident you alerted on is resolved, or to dismiss_push_notification to clear it from the Lock Screen once it no longer needs attention.

icon shows an HTTPS image, such as a logo or avatar, next to a smaller ActivitySmith app icon; iOS may hide the subtitle. interruption_level is passive (quiet, no sound), active (default), or time-sensitive (can break through Focus when allowed); use time-sensitive only for things the user must see now. Both require iOS app 1.16.0 or later.

Action examples: [ { "title": "Open Build", "type": "open_url", "url": "https://github.com/acme/web/actions/runs/123" }, { "title": "Chat with Jarvis", "type": "open_url", "url": "shortcuts://run-shortcut?name=Jarvis" }, { "title": "Create Incident", "type": "webhook", "url": "https://hooks.example.com/incidents/create", "method": "POST", "body": { "service": "payments-api", "severity": "high" } } ]

Input Schema

NameRequiredDescriptionDefault
iconNoOptional HTTPS image URL, such as a logo or avatar, shown next to a smaller ActivitySmith app icon.
tagsNoOptional account tags used to organize history.
badgeNoOptional app badge count.
mediaNoOptional HTTPS image, audio, or video URL. Can be combined with redirection, but not with actions.
soundNoOptional APNs sound name, such as default.
titleYesPush Notification title.
actionsNoOptional expanded notification actions, up to 4. open_url actions accept HTTP/HTTPS URLs or installed apps' custom URL schemes, such as spotify:// or shortcuts://run-shortcut?name=Example. webhook actions call an HTTPS endpoint with optional GET or POST method and optional JSON body. Do not combine actions with media.
messageNoOptional Push Notification message body.
payloadNoOptional custom JSON payload delivered with the notification.
metadataNoOptional app-only details: up to 50 string keys (1–100 characters), with string (up to 4000 characters), finite number, or boolean values; 16 KB total. Stored in history, never sent to APNs. No nested values or null.
subtitleNoOptional subtitle shown with the Push Notification.
redirectionNoOptional normal-tap target. Use an HTTP/HTTPS URL or an installed app's custom URL scheme, such as spotify:// or shortcuts://run-shortcut?name=Example. Custom app schemes require iOS app 1.13.4 build 2 or later. No web fallback.
interruption_levelNoOptional delivery urgency: passive, active (default), or time-sensitive.
target_channel_slugsNoOptional channel slugs to target. Omit to target the account-wide default delivery scope.

Output Schema

NameRequiredDescriptionDefault
tagsYes
successYes
timestampYes
users_notifiedYes
notification_idNo
devices_notifiedYes
effective_channel_slugsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / description
      Previous value: -"Push Notification delivery result. Pass notification_id to replace_push_notification to replace it later."New value: +"Push Notification delivery result. Pass notification_id to replace_push_notification to replace it later, or to dismiss_push_notification to clear it from the Lock Screen."
  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 mutation/openWorld annotations, the description discloses real behavioral constraints: media cannot be combined with actions, actions cap at 4, blocked/unsafe schemes are rejected, custom schemes have no web fallback, webhook actions require HTTPS, and iOS version gates apply to some features. It also explains that the response returns notification_id, which is the key behavioral fact for follow-up calls.

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?

Well structured and front-loaded: purpose, then targeting, then redirection/actions, then media constraint, then follow-up lifecycle, then rendering and urgency. It is long for a 14-parameter tool and some content duplicates schema descriptions (media/actions incompatibility, redirection scheme examples), but the prose is paragraph-scoped by topic and skimmable rather than rambling.

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

Completeness5/5

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

For a high-parameter, open-world mutation tool with nested objects, the description covers the gaps that matter: action payload shape, scheme policy, exclusivity constraints, urgency semantics, and what to do with the returned notification_id. Since an output schema exists, it correctly avoids restating the full response shape.

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 100%, so the baseline is 3, but the description earns an increment by explaining interaction rules the schema states only per-field (media vs. actions exclusivity), the intent behind interruption_level values, and concrete worked examples of action objects with open_url and webhook shapes. The icon explanation ('next to a smaller ActivitySmith app icon; iOS may hide the subtitle') adds rendering context not present in the schema.

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 opening sentence states a specific verb and resource ('Send an ActivitySmith Push Notification to this account') and immediately adds the scoping option ('optionally target channel slugs'). Later it names the sibling tools this one feeds into (replace_push_notification, dismiss_push_notification), so an agent can place it in the notification lifecycle without opening other schemas.

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?

Clear routing guidance: capture notification_id and pass it to replace_push_notification when an incident resolves, or dismiss_push_notification to clear it. It also gives a decision rule for interruption_level ('use time-sensitive only for things the user must see now') and for target_channel_slugs (omit for account-wide default). It stops short of stating when this tool is the wrong choice versus unrelated siblings like set_live_activity_stream or request_approval.

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