Claude Smart Notifier
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
https://github.com/user-attachments/assets/5da68f17-e8fd-4366-bc6e-96da649fcef8
The problem
You run five Claude threads across three projects. One of them finished ten minutes ago and is waiting for a decision. You find out only when you happen to click on it. Work stalls.
Related MCP server: Claude Code Notification Hooks
The fix
Every thread pings you, with the project name and one ultra-short line saying exactly what it needs. Details stay in the chat.
β
Website redesign Done Homepage ready, review it
π‘ Q3 report Needs your answer Use March or April figures?
π΄ Mobile app Urgent Build failed β need API keyLevel | When | Default sound (macOS) |
β
| Task finished | Glass |
π‘ | Waiting for your answer, decision, data or access | Ping |
π΄ | Blocked, error, deadline | Sosumi |
Highlights
Works in Claude Desktop (chats, Projects, Cowork) and Claude Code
macOS and Windows (Linux via
notify-send)
Windows testers wanted. The Windows version is written but not yet tested on a real Windows machine. On Windows? Please try it and report in issue #1. It takes 2 minutes.
One-click install, settings in Claude's UI, no config files
Zero dependencies, no accounts, no servers. Your notification text never leaves your computer
Update alerts: once a day it checks GitHub and pings you when a new version is out (can be turned off)
Set up once: one line in your Claude instructions and every thread, in every project, pings you
β‘ Claude Desktop: 3 steps to make it work
Claude Code users: just install the plugin, nothing else. In Claude Desktop (chats, Projects, Cowork) all three steps are required, because of how the app works:
1. Install the extension. Download claude-smart-notifier.mcpb β double-click β Install.
2. Tell Claude to use it (once). Claude Desktop loads extension tools on demand and doesn't pass their instructions to threads, so the model won't call notify unless told. Paste this into Settings β Your Claude β Instructions:
Always: when you finish a task, and whenever you need my answer, decision, data or access, call the `notify` tool (Claude Smart Notifier) once as your very last action β this is required in every chat and project. The tool is often deferred: if it isn't loaded, load it first with tool search (query "notify"). Arguments: project = the Claude Project name (not the thread name), thread = this thread's name, level = done / question / urgent, lang = your reply language, message = max 40 chars saying what I must do (the gist of your "What's next?" β end every long reply with a 1β2 sentence "What's next?" line telling me exactly what I need to do, or that nothing is needed). Only if no notify tool exists at all (phone or web without my computer), skip it silently.3. Run threads on your computer. Only threads linked to your computer can reach the extension:
send messages from Claude Desktop on that computer, or
on the web or phone, pick your computer under + β Devices before sending.
Threads running purely in the cloud (started on web/phone without a device, or cloud "coordinator" agents) can't call notify. If such an agent needs to ping you, have it start a short thread linked to your computer whose only job is to call notify.
Keep in mind: the computer must be on with Claude Desktop open Β· new threads only (open threads don't see newly installed tools) Β· while you record or share the screen, macOS hides banners (they still land in Notification Center).
π¦ Install
Claude Desktop (macOS / Windows): one click
Download claude-smart-notifier.mcpb
Double-click it. Claude opens the install dialog, then click Install
(optional) Settings β Extensions β Claude Smart Notifier: language (
auto= same as the thread, 48 languages), sounds, mute
Do I need to put any files on my computer? No. The
.mcpbis a Claude Desktop extension: Claude installs it and runs it with its own built-in Node.js. When a new version is out you get a notification; download the new.mcpbfrom Releases and install it over the old one. Nothing to configure by hand.
Start a new chat and give it something that takes a while. You'll get pinged when it's done.
Claude Code
/plugin marketplace add vjvasiljev/claude_smart_notifier
/plugin install smart-notifier@claude-smart-notifierRestart Claude Code.
π€ Ask Claude to install it
Paste this into Claude (Desktop/Cowork with access to your computer, or Claude Code):
Install Claude Smart Notifier for me: https://github.com/vjvasiljev/claude_smart_notifier β follow INSTALL.md in that repo.
Claude follows INSTALL.md: it downloads the bundle and opens the installer (Desktop) or runs the plugin commands (Code). You only click Install.
Requires Node.js β₯ 16.
git clone https://github.com/vjvasiljev/claude_smart_notifier.git{
"mcpServers": {
"smart-notifier": {
"command": "node",
"args": ["/absolute/path/to/claude_smart_notifier/server/index.js"],
"env": { "NOTIFY_LANG": "en" }
}
}
}Make every project and thread ping you
Where | Setup after install |
Claude Code (plugin) | Nothing. Built-in hooks ping you when a session finishes, asks a question, or needs a permission. No model involvement, works every time. |
Claude Desktop / Cowork / Projects (.mcpb) | One line, once. Claude Desktop loads extension tools on demand and doesn't pass server instructions to threads, so the model has to be told. The extension reminds you on first run. |
For Claude Desktop, paste this into Settings β Your Claude β Instructions (applies to every chat and project):
Always: when you finish a task, and whenever you need my answer, decision, data or access, call the
notifytool (Claude Smart Notifier) once as your very last action β this is required in every chat and project. The tool is often deferred: if it isn't loaded, load it first with tool search (query "notify"). Arguments: project = the Claude Project name (not the thread name), thread = this thread's name, level = done / question / urgent, lang = your reply language, message = max 40 chars saying what I must do (the gist of your "What's next?" β end every long reply with a 1β2 sentence "What's next?" line telling me exactly what I need to do, or that nothing is needed). Only if no notify tool exists at all (phone or web without my computer), skip it silently.
Start a new thread afterwards.
Check it works
node server/index.js --testShows one notification of each level.
βοΈ Settings
In Claude Desktop, change these in Settings β Extensions. Elsewhere, set them as environment variables.
Setting | Env var | Default | |
Language |
|
| Labels language. |
Sound: done |
|
| macOS sound name |
Sound: needs answer |
|
| macOS sound name |
Sound: urgent |
|
| macOS sound name |
Mute |
|
| Silence everything |
Check for updates |
|
| Once a day ask GitHub for the latest release and notify you about a new version |
Advanced |
| β | Path to a JSON file (below) |
Advanced: custom emoji, labels and sounds per level
{
"levels": {
"done": { "emoji": "π’", "sound": "Hero", "label": "Finished" },
"question": { "emoji": "π‘", "sound": "Ping", "label": "Your turn" },
"urgent": { "emoji": "π΄", "sound": "Basso", "label": "Blocked" }
},
"emojiInTitle": true
}macOS sounds: Basso Blow Bottle Frog Funk Glass Hero Morse Ping Pop Purr Sosumi Submarine Tink.
On Windows each level uses a system sound (Default / Reminder / IM), and π΄ urgent stays on screen until dismissed.
π©Ί Troubleshooting
Symptom | Fix |
macOS: nothing appears (the tool still reports "sent": macOS gives no delivery confirmation) | Notifications go through |
macOS: notifications land in Notification Center but no banner pops up | You're recording or sharing the screen β macOS hides banners then. Stop the recording, or enable System Settings β Notifications β Allow notifications when mirroring or sharing the display. |
macOS: banners disappear too fast | System Settings β Notifications β Script Editor β style Alerts: notifications stay on screen until you close them. (Applies to all levels.) |
macOS: click opens Script Editor | Known |
Windows: nothing appears | Settings β System β Notifications must be on; Focus Assist off. Toasts appear under Windows PowerShell. |
A thread says it has no | The thread isn't linked to your computer (e.g. started on the web or phone). Send a message in it from Claude Desktop on that computer, or on web/phone pick your computer under + β Devices before sending. The computer must be on with Claude Desktop open. |
A thread didn't ping me | The server instructs Claude, but the model decides when to call the tool. Already-open threads only pick it up after a restart. To make a project more reliable, add to its instructions: "When you finish or need my answer, call notify." |
Old threads don't have the tool | Restart Claude and start a new thread. |
β FAQ
How do I get notified when Claude Code finishes a task? Install the Claude Code plugin (two commands above). Every session will ping you when it's done or waiting for input.
How do I know when a Claude Desktop / Cowork / Projects chat is waiting for me?
Install the .mcpb extension. Any thread that needs your decision sends a π‘ notification with the project name.
Does it work with many parallel threads and projects? That's what it's built for. Each notification starts with the project name, so you know where to go.
Does it send my data anywhere? No. Your notifications are shown locally via the OS. The only network request is a once-a-day version check to GitHub's public releases API (no data about you, can be turned off). No telemetry.
Can it play a different sound per level?
Yes. Set sounds in the extension settings, or emoji/labels/sounds per level via NOTIFY_CONFIG.
My language isn't there.
Add one line to LABELS in server/index.js and open a PR.
π How it works
A ~350-line, zero-dependency Node.js MCP server with one tool:
notify(title, message, level = done | question | urgent, subtitle?, sound?)Speaks MCP over stdio
Calls the native notification API:
osascript(macOS), PowerShell WinRT toast (Windows),notify-send(Linux)Returns MCP
instructions, so every connected Claude thread knows to callnotifyonce at the end of a task, with a β€ 40-character message in your language
server/index.js MCP server (the whole thing)
manifest.json Claude Desktop extension manifest (.mcpb)
.claude-plugin/ Claude Code plugin + marketplace
.mcp.json MCP config used by the Claude Code pluginπΊ Roadmap
Verify on Windows (help wanted)
Click a notification to open the exact thread
Quiet hours
Phone push (ntfy / Pushover) as an optional channel
Per-project sounds
Native dropdown for language (when Claude extension settings support it)
Ideas and PRs welcome. See CONTRIBUTING.md.
License
MIT Β© vjvasiljev
Not affiliated with or endorsed by Anthropic. "Claude" is a trademark of Anthropic, PBC.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogβ¦
This server cannot be deployed
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.
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
Create Tasks and run Workflows in Bleep from Claude, ChatGPT, and other AI assistants.
Related MCP Servers
- AlicenseBqualityDmaintenancePlays Spotify tracks or system sounds as notifications when Claude Code completes tasks, with desktop notifications and cross-platform support for macOS, Linux, and Windows.821 npm1MIT
- AlicenseAqualityDmaintenanceProvides automatic desktop notifications and contextual sounds for Claude Code operations across macOS, Windows, and Linux. It enhances the development experience by intelligently mapping specific event types to native system alerts and sounds.47 npm3MIT
- AlicenseAqualityDmaintenanceEnables AI agents to send cross-platform desktop notifications with priority levels, categories, and configurable duration.1MIT
- AlicenseNot gradedqualityDmaintenanceSends native Windows desktop notifications with repeating sound alerts for Claude Code, supporting states like finished, needs_help, and pending_review.24 npmMIT