notify-mcp
Plays built-in audio through ALSA aplay and shows desktop notifications using the available notification backend.
Sends native desktop notifications to macOS Notification Center and plays built-in audio using afplay.
Click on "Install 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., "@notify-mcpplay an alert sound and notify me 'Deploy complete'"
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.
@zakotoys/notify-mcp
notify-mcp is a small Model Context Protocol
server for playing fixed built-in sounds and showing native desktop
notifications. It connects Claude Desktop, Cursor, OpenCode, Codex, or another
MCP client to the local Windows or macOS notification system through stdio.
Features
Four standard MCP tools for listing the audio, playing it, sending a desktop notification, and doing both in one call.
One built-in audio track:
zako.Native notifications through
node-notifier(Windows notification center and macOS Notification Center).Audio is intentionally closed: callers can select a built-in id, but cannot provide a file path, URL, upload, or runtime-added track.
Business logic is separated from operating-system adapters and is fully testable without a speaker or desktop session.
Related MCP server: AI Notify MCP
Requirements
Node.js 20 or newer.
A supported MCP client such as Claude Desktop, Cursor, OpenCode, or Codex.
Windows 10+ or macOS for the primary desktop notification experience.
Linux is also supported when aplay and a desktop notification backend are
available.
Quick start
Claude Desktop, Cursor, OpenCode, or Codex
Install the package globally:
npm install --global @zakotoys/notify-mcpThen add this server to the client's MCP configuration:
{
"mcpServers": {
"notify": {
"command": "notify-mcp"
}
}
}You can also run the package without a global install:
{
"mcpServers": {
"notify": {
"command": "npx",
"args": ["-y", "@zakotoys/notify-mcp@latest"]
}
}
}For Windows clients that do not resolve npx directly, use cmd:
{
"command": "cmd",
"args": ["/c", "npx", "-y", "@zakotoys/notify-mcp@latest"]
}MCP Inspector
npx @modelcontextprotocol/inspector npx -y @zakotoys/notify-mcp@latestCall notify_list_audio first, then try notify_desktop or notify.
MCP tools
Tool | Purpose |
| List the fixed built-in audio catalog. |
| Play one built-in audio track. |
| Show a native desktop notification. |
| Play optional built-in audio, then show a notification. |
notify_list_audio
Takes no arguments. Each item includes an id, label, description, frequency,
and duration.
notify_play_audio
{ "audio": "zako" }audio must be zako. The server ships a short voice-only WAV asset, delegates
to the native player, and never accepts external audio paths or URLs.
The clip is a short vocal extraction from the source documented in
assets/audio/SOURCE.md. Verify redistribution rights
before publishing a package containing this asset.
notify_desktop
{
"title": "Build complete",
"message": "notify-mcp finished successfully",
"subtitle": "Optional supplementary text"
}title is required and limited to 200 characters. message is required and
limited to 2,000 characters. subtitle is optional and limited to 200
characters.
notify
{
"audio": "zako",
"title": "Reminder",
"message": "The meeting starts in five minutes"
}audio is optional. When provided, playback completes before the desktop
notification is submitted.
Platform behavior
macOS:
afplayfor sound and Notification Center throughnode-notifier.Windows: PowerShell
Media.SoundPlayerfor sound and Windows notification center throughnode-notifier.Linux: ALSA
aplayfor sound, with the notification backend selected bynode-notifier.
The operating system may require permission for the terminal application to send notifications. The server does not upload notification text or audio.
Development
npm install
npm run typecheck # TypeScript checks (including tests)
npm test # Vitest + V8 coverage
npm run build # Compile runtime files into dist/
npm run ci # All checks, coverage, build, and package dry-runThe test suite uses injected fake adapters and an in-memory MCP transport, so CI does not need a speaker, GUI, or real notification center.
Releases
Every vX.Y.Z tag is published by GitHub Actions after the full CI suite and a
package-version check pass. The publish workflow uses npm Trusted Publishing
with provenance and creates a GitHub Release with generated notes.
To release a new version:
npm version patch # or minor / major
git push --follow-tags origin mainConfigure the npm package's Trusted Publisher for the repository
zakotoys/notify-mcp, workflow publish.yml, and the GitHub Actions provider.
Project scope
This project intentionally provides local notification primitives only. It does not manage notification history, remote audio, user-uploaded media, or a background daemon. MCP clients decide when a tool should be called.
License
MIT, see LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables Claude and other MCP clients to display native macOS notifications with customizable titles, messages, icons, and sounds through the macOS Notification Center.119
- FlicenseCqualityDmaintenanceSends system notifications when AI completes responses in MCP-compatible code editors, with cross-platform support for macOS, Windows, and Linux including customizable titles, messages, icons, and sound effects.2
- AlicenseDqualityDmaintenanceEnables MCP agents to send desktop notifications for completed tasks, failures, and important updates, providing visible and reliable feedback.1682Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnhanced MCP server for sending native macOS notifications with terminal-notifier, interactive dialogs, text-to-speech, screenshots, and file selection.311MIT
Related MCP Connectors
MCP server exposing the AceDataCloud Fish Audio API (text-to-speech with voice conditioning)
Push notifications for AI agents - send instant iPhone notifications from any MCP client.
Manage feature requests, votes, roadmaps, and changelogs from any MCP client.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/zakotoys/notify-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server