notification-mcp
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., "@notification-mcp Let me know when the video export is done."
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.
notification-mcp
An MCP server that lets AI assistants send spoken audio notifications using high-quality AI voices. When an AI finishes a long task, it can call the notify tool to speak a message aloud — so you don't have to stare at the screen waiting.
Powered by Kokoro TTS (fast, expressive, 26 voices), with optional F5-TTS (higher quality, voice cloning) and macOS say (instant, no setup).
Quick Start
Prerequisites
macOS (notifications play via
afplay)Node.js 18+
uv — Python package runner (for Kokoro/F5-TTS)
curl -LsSf https://astral.sh/uv/install.sh | sh
Install via npx
No installation needed — run directly with npx:
{
"mcpServers": {
"notification-mcp": {
"command": "npx",
"args": ["-y", "@elad12390/notification-mcp"]
}
}
}Install from source
git clone https://github.com/elad12390/notification-mcp.git
cd notification-mcp
npm install
npm run buildThen configure your MCP client (see Configuration below).
Related MCP server: ntfy-me-mcp
Configuration
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"notification-mcp": {
"command": "npx",
"args": ["-y", "@elad12390/notification-mcp"]
}
}
}OpenCode / Cursor / Other MCP Clients
{
"mcpServers": {
"notification-mcp": {
"command": "npx",
"args": ["-y", "@elad12390/notification-mcp"]
}
}
}From source
{
"mcpServers": {
"notification-mcp": {
"command": "node",
"args": ["/path/to/notification-mcp/dist/index.js"]
}
}
}The notify Tool
Once configured, the AI can call:
notify(message: "Hey! Build succeeded, all tests passed.")
notify(message: "Done. Your file has been exported.", title: "Export Complete")
notify(message: "Hmm... something looks off. Check the logs.", voice: "george")Writing Expressive Messages
Kokoro reads punctuation expressively. Write like you'd want it spoken:
Punctuation | Effect | Example |
| Excited/energetic |
|
| Long pause, thoughtful |
|
| Brief natural pause |
|
| Rising intonation |
|
| Sentence break |
|
Good examples:
"Hey! Your task is complete. Everything went smoothly."
"Hmm... I found something interesting. Check this out!"
"Done! The build succeeded, and all 47 tests passed."Custom Pronunciation (IPA)
For words that need specific pronunciation, use [word](/IPA/] syntax:
"[Chaim](/χaim/) said hello" → Hebrew name with guttural ח
"[Elad](/ɛlɑd/) is working" → Pronounce as "eh-lahd"
"The [route](/ruːt/) is clear" → British-style pronunciationCommon IPA symbols: χ (Hebrew ח), ʃ (sh), ð (the), θ (think), ŋ (ng), ɹ (American r)
Voices
Kokoro Voices (default engine)
Use friendly aliases or full voice names:
Alias | Full Name | Accent |
|
| American Female |
|
| American Female |
|
| American Female |
|
| American Female |
|
| American Male |
|
| American Male |
|
| British Female |
|
| British Male |
Additional full names: af_alloy, af_aoede, af_jessica, af_kore, af_nova, af_river, af_sky, am_echo, am_eric, am_fenrir, am_liam, am_onyx, am_puck, bf_alice, bf_isabella, bf_lily, bm_daniel, bm_fable, bm_lewis
TTS Engines
Set NOTIFICATION_METHOD to choose your engine:
Engine | Speed | Quality | Requires |
| ~3–5s | Great, expressive |
|
| ~10–15s | Highest, voice cloning |
|
| Instant | Robotic | Nothing (macOS built-in) |
Environment Variables
Variable | Default | Description |
|
| TTS engine: |
|
| Default Kokoro voice (alias or full name) |
|
| Kokoro speech speed multiplier |
|
| F5-TTS speech speed multiplier |
| — | Path to reference audio file for voice cloning |
| — | Transcript of the reference audio |
|
| macOS |
|
| Log level: |
|
| Enable/disable usage metrics |
Example: Use a British male voice by default
{
"mcpServers": {
"notification-mcp": {
"command": "npx",
"args": ["-y", "@elad12390/notification-mcp"],
"env": {
"KOKORO_VOICE": "bm_george",
"KOKORO_SPEED": "1.1"
}
}
}
}Example: Use F5-TTS with custom voice cloning
{
"mcpServers": {
"notification-mcp": {
"command": "npx",
"args": ["-y", "@elad12390/notification-mcp"],
"env": {
"NOTIFICATION_METHOD": "f5tts",
"F5TTS_REF_AUDIO": "/path/to/your-voice.wav",
"F5TTS_REF_TEXT": "Transcript of what is said in that audio file."
}
}
}
}Development
# Install dependencies
npm install
# Development with hot reload
npm run dev
# Build
npm run build
# Run tests
npm test
# Run with coverage
npm run test:coverageLicense
MIT
Available Tools
2 toolsnotifyA
Sends a notification to the user. Use this when you complete a task and want to alert the user.
IMPORTANT - Writing expressive messages:
Use punctuation naturally: "Hello!" sounds excited, "Hello..." sounds thoughtful
Use commas for pauses: "Well, I think so" has a natural pause
Use ellipsis for longer pauses: "Wait... what?"
Exclamation marks add energy: "Great job!" vs "Great job."
Question marks affect intonation: "Really?" sounds curious
Break long messages into sentences for natural rhythm
The model reads punctuation expressively, so write like you'd want it spoken!
Example good messages:
"Hey! Your task is complete. Everything went smoothly."
"Hmm... I found something interesting. Check this out!"
"Done! The build succeeded, and all tests passed."
CUSTOM PRONUNCIATION (IPA): For words that need specific pronunciation, use: [word](/IPA phonemes/) Common IPA symbols:
χ = Hebrew ח (chet), guttural "kh" sound
ʃ = "sh" sound
ð = "th" in "the"
θ = "th" in "think"
ŋ = "ng" sound
ɹ = American "r"
Examples:
"Chaim" - Hebrew name with guttural ח
"Elad" - Pronounce as "eh-lahd"
"Hello world!" - Custom pronunciation for "world"
TTS ENGINE OPTIONS (set via NOTIFICATION_METHOD env var):
"kokoro" (default): Fast (~3-5s), built-in voices, IPA pronunciation support
"f5tts": Higher quality (flow matching), slower (~10-15s), voice cloning capable
"say": macOS built-in, fastest but robotic
Inputs: message (required), reasoning (required), title, voice.
report_issueA
Report a bug, feature request, or other issue with the MCP server. Issues are saved locally for the server maintainer to review.
Inputs: title (required), reasoning (required), description (required), category, +5 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
report_issue and notify serve clearly different purposes: one reports bugs/features about the MCP server, the other sends user-facing notifications. An agent can easily choose the correct tool based on task context.
Both names use lowercase snake_case and start with a verb, but report_issue follows a verb_noun pattern while notify is a lone verb. This is a minor inconsistency, not confusing.
With only two tools, the set is thin for a dedicated server, though both tools are distinct and useful. It falls into the borderline 1-2 tool range noted in the rubric.
The server covers the core notification action and provides a feedback path via report_issue. Minor gaps exist around notification management or delivery status, but these are not essential for basic use.
Maintenance
Related MCP Connectors
AI voice generation: text-to-speech and voice cloning from any MCP client.
An MCP server that integrates with Discord to provide AI-powered features.
MCP server for Text-to-Speech
MCP server for AI dialogue using various LLM models via AceDataCloud
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that plays notification sounds when AI coding assistants like Windsurf or Cursor require user attention, such as when coding is complete or when user approval is needed.17 npm2MIT
- AlicenseAqualityBmaintenanceA streamlined MCP server that enables AI assistants to send real-time notifications to your devices through the ntfy service, allowing you to receive alerts when tasks complete or important events occur.2244 npm76GPL 3.0
- FlicenseNot gradedqualityDmaintenanceAn MCP server that sends webhook notifications to a configured URL, enabling AI assistants to notify users when long-running tasks complete.29 npm3-
- AlicenseAqualityDmaintenanceAn MCP server that makes AI agents speak a brief summary of every response out loud using TTS.1GPL 3.0