Skip to main content
Glama
simplepush

Simplepush MCP Server

Official
by simplepush

Send a push notification

send_notification

Send push notifications to phones for alerts and heads-ups, optionally including a text input, choice, or action buttons. Returns immediately by default, or waits for replies when requested.

Instructions

Send a push notification to phones. A notification lives only in the banner: once dismissed it is gone, so it suits alerts and heads-ups, not questions that must be answered. It can still carry one input — a text input, a choice, or action buttons. By default the call returns right after sending and the answer is readable later with get_notification_answer; set wait_seconds to wait for it in the same call. Each recipient gets their own copy by default; with several recipients the result lists one notification_id per person. For a question that needs an answer, a photo, file, location, slider or several inputs, use send_task.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
inputNoOne input shown on the notification: free text, a choice, or action buttons.
titleNoOptional short heading shown above the body.
topicNoDeliver to this topic instead of the user's own devices. Omit for a self-send.
memberNoUnavailable in personal mode — requires an org integration token.
sharedNoDefault false: a copy per recipient. true: one notification all recipients see; one person's input answer resolves it for all.
contentYesBody of the notification.
audio_urlNoPublic https URL of an audio clip attached to the notification.
broadcastNoUnavailable in personal mode — requires an org integration token.
image_urlNoPublic https URL of an image shown with the notification.
wait_secondsNoDefault 0: return right after sending. With an input, wait this long for the answer (every recipient's, when there are several); on timeout the result marks who has not answered.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A5/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and excels. It details default return behavior (immediate vs. waiting), per-recipient copies vs. shared, how results identify each recipient (one notification_id per person), and timeout behavior (marks who has not answered). It also notes availability restrictions for member and broadcast in personal mode.

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 information-dense yet well-organized, moving from purpose to behavioral nuances to parameter guidance. Every sentence contributes unique value—no repetition or filler—and the flow is logical, making it easy for an agent to parse and apply.

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?

Given the tool's complexity (10 parameters, nested input object), the description is complete. It covers all relevant aspects: purpose, when to use alternatives, return behavior, input types, shared semantics, and usage restrictions. It even describes what the result will contain, compensating for the lack of an output schema.

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

Parameters5/5

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

The description adds meaning beyond the schema by explaining the input oneOf variants (text, choice, actions) and their behavior (e.g., 'tapping one answers with its key'). It clarifies shared semantics ('one person's input answer resolves it for all') and wait_seconds behavior, all supplementing the schema's property 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 states a specific action ('Send a push notification to phones') and clearly distinguishes it from send_task by explaining that notifications are for alerts/heads-ups, not questions that must be answered. This makes the tool's purpose unambiguous and differentiates it from sibling tools.

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

Usage Guidelines5/5

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

The description explicitly tells the agent when to use this tool versus send_task ('For a question that needs an answer, a photo, file, location, slider or several inputs, use send_task'). It also explains how to get answers later (get_notification_answer) and how to wait synchronously (wait_seconds), covering both usage patterns and alternatives.

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