Desktop Notification MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Desktop Notification MCP ServerSend a high priority notification that the build failed"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Desktop Notification MCP Server
A Model Context Protocol (MCP) server that enables AI agents to send cross-platform desktop notifications with priority levels, categories, and duration control.
Features
Cross-platform support (macOS, Windows, Linux)
Priority levels for urgency control
Category-based visual distinction
Configurable display duration
Optional notification sounds
Success/error status reporting
Related MCP server: mcp-win-toast
Installation
npm install
npm run buildUsage
With Claude Desktop
Add to your Claude Desktop configuration file:
macOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"desktop-notifications": {
"command": "node",
"args": [
"/absolute/path/to/desktop-notification-mcp/dist/index.js"
]
}
}
}Parameters
Parameter | Type | Default | Description |
| string | required | Notification title |
| string | required | Notification message body |
| boolean |
| Enable notification sound |
| string |
| Priority level: |
| string |
| Category: |
| number | auto | Display duration in milliseconds (0 = persistent) |
Priority Levels
low- Quick updates, 5 second timeoutnormal- Standard notifications, 10 second timeout (default)high- Important updates, 15 second timeoutcritical- Critical alerts, persistent until dismissed
Categories
task- General task notificationserror- Error and failure notificationssuccess- Success and completion notificationsprogress- Progress updatesquestion- Questions requiring user attentionreminder- Reminders and scheduled notifications
Examples
Basic Notification
{
"title": "Task Complete",
"message": "Your analysis has finished"
}High Priority Error
{
"title": "Build Failed",
"message": "Tests failed - review errors in output",
"priority": "high",
"category": "error",
"sound": true
}Critical Alert (Persistent)
{
"title": "User Input Required",
"message": "Please review the following options",
"priority": "critical",
"category": "question",
"sound": true
}Progress Update
{
"title": "Processing...",
"message": "Step 3 of 10 complete",
"priority": "low",
"category": "progress",
"duration": 3000
}Success Notification
{
"title": "Deployment Complete",
"message": "Successfully deployed to production",
"priority": "normal",
"category": "success",
"sound": true
}Platform Support
The server automatically detects and uses the appropriate notification system:
macOS 10.8+: Notification Center
Windows 8+: Toast Notifications
Windows < 8: Taskbar Balloons
Linux: notify-send (requires
libnotify-bin)
Platform-Specific Behavior
Linux: Priority maps to urgency parameter (low/normal/critical), duration controls timeout precisely
Windows/macOS: Priority and category shown via visual indicators, timeout behavior varies by OS version
Linux Requirements
Install notification support:
# Ubuntu/Debian
sudo apt-get install libnotify-bin
# Fedora
sudo dnf install libnotify
# Arch
sudo pacman -S libnotifyAvailable Tools
1 toolsend-notificationSend Desktop NotificationB
Display a cross-platform desktop notification with title, message, priority, category, duration control, and optional sound
| Name | Required | Description | Default |
|---|---|---|---|
| sound | No | Enable notification sound (OS default sound) | |
| title | Yes | The notification title | |
| message | Yes | The notification message body | |
| category | No | Notification category for visual distinction: task, error, success, progress, question, reminder. Default: task | task |
| duration | No | Display duration in milliseconds. 0 = persistent, undefined = based on priority. Default: priority-based | |
| priority | No | Notification priority: low (5s), normal (10s), high (15s), critical (persistent). Default: normal | normal |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Error message if the notification failed |
| success | Yes | Whether the notification was sent successfully |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Cross-platform' is a useful availability hint, but it never says whether the call blocks until dismissal, whether it is fire-and-forget, what happens on headless/unsupported systems, or how failures surface.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that names the resource first and then the configurable dimensions. No filler, nothing repeated, nothing that fails to earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and parameter semantics are fully covered by the schema. However, for a locally side-effecting display tool with no annotations, the description leaves blocking behavior and platform failure modes unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with enum values, defaults, and duration semantics (0 = persistent, undefined = priority-based) already documented in the schema. The description merely restates the same fields, adding no format or interaction detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description pairs a specific verb ('Display') with a specific resource ('cross-platform desktop notification') and enumerates its configurable facets. It is unambiguous, though there are no siblings to be distinguished from, so it stops short of the 5 anchor.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or any alternative (no output/notification channel options are compared). Usage is only implied by the tool's surface function.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v2.0.0- First observed
send-notification
TDQS
Scored across 1 tool
There is only one tool, so there is no possibility of confusing it with another tool. Its purpose—sending a desktop notification—is completely unambiguous.
The single tool uses a clear, readable kebab-case verb-noun pattern (send-notification). With only one tool, there are no competing conventions to create inconsistency.
A server whose sole purpose is desktop notifications is reasonably scoped with one tool, since sending a notification is the only meaningful operation. However, a single-tool server is inherently limited and feels thin compared to typical multi-tool MCP servers.
The tool covers the core notification lifecycle operation with title, message, priority, category, duration, and sound options. There are no obvious missing CRUD operations for a one-way notification service, though features like listing or dismissing notifications could be considered minor gaps.
Maintenance
Related MCP Connectors
Let your AI agent notify you by email, Slack, Discord, or webhook. One tool: send_notification.
Push notifications for AI agents - send instant iPhone notifications from any MCP client.
Build and send email, SMS, and push straight from your AI agent.
Reach your own phone from an AI agent: notifications, approval questions, reminders, ring, files.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to send native macOS notifications for task completion alerts and reminders. Supports interactive features like custom system sounds, action buttons, and user replies directly from the notification center.201 npmMIT
- AlicenseBqualityDmaintenanceEnables AI assistants to send Windows toast notifications and dialog boxes, allowing them to actively notify users and request confirmations through native Windows UI.21ISC
- AlicenseBqualityDmaintenanceEnables AI assistants to send desktop notifications on macOS with rich formatting, urgency levels, and sound options.16 npm1MIT
- AlicenseDqualityDmaintenanceEnables MCP agents to send desktop notifications for completed tasks, failures, and important updates, providing visible and reliable feedback.133 npm2Apache 2.0