notification-mcp
An MCP server that lets AI assistants send spoken audio notifications using high-quality AI voices, so you don't have to stare at the screen waiting for long tasks to finish.
README
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 build
Then configure your MCP client (see Configuration below).
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 | "Great job!" |
... |
Long pause, thoughtful | "Wait... what?" |
, |
Brief natural pause | "Well, I think so" |
? |
Rising intonation | "Really?" |
. |
Sentence break | "Done. Everything worked." |
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 pronunciation
Common 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 |
|---|---|---|
heart |
af_heart |
American Female |
bella |
af_bella |
American Female |
nicole |
af_nicole |
American Female |
sarah |
af_sarah |
American Female |
adam |
am_adam |
American Male |
michael |
am_michael |
American Male |
emma |
bf_emma |
British Female |
george |
bm_george |
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 |
|---|---|---|---|
kokoro (default) |
~3–5s | Great, expressive | uv |
f5tts |
~10–15s | Highest, voice cloning | uv + FFmpeg |
say |
Instant | Robotic | Nothing (macOS built-in) |
Environment Variables
| Variable | Default | Description |
|---|---|---|
NOTIFICATION_METHOD |
kokoro |
TTS engine: kokoro, f5tts, or say |
KOKORO_VOICE |
af_heart |
Default Kokoro voice (alias or full name) |
KOKORO_SPEED |
1.0 |
Kokoro speech speed multiplier |
F5TTS_SPEED |
1.0 |
F5-TTS speech speed multiplier |
F5TTS_REF_AUDIO |
— | Path to reference audio file for voice cloning |
F5TTS_REF_TEXT |
— | Transcript of the reference audio |
SAY_VOICE |
Samantha |
macOS say voice name |
LOG_LEVEL |
info |
Log level: debug, info, warn, error, silent |
MCP_METRICS_ENABLED |
true |
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:coverage
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.