mcp-ding
mcp-ding
MCP server for macOS native notifications with AI brand icons.
Send desktop notifications from any MCP-compatible AI agent with one-line tool calls — complete with 67 AI/Agent brand icons and system sound support.
Quick Start
npx -y mcp-dingOr just tell your AI agent:
Install mcp-ding from https://github.com/zhuqingyv/mcp-notify and set it up as an MCP server.The agent will clone the repo, install dependencies, register the MCP server, and configure permissions automatically.
Features
send_notification— Send macOS native notifications via terminal-notifier, with title, subtitle, sound, and iconlist_icons— List all 67 available AI brand iconslist_sounds— List all macOS system sounds67 AI brand icons — Covers major providers (Anthropic, OpenAI, Google, DeepSeek, Kimi, and more)
Cross-Mac compatible — Dynamic terminal-notifier path detection for both Apple Silicon and Intel Macs
Screenshots / Preview
Coming soon
Prerequisites
Node.js 18+
terminal-notifier
brew install terminal-notifierInstallation
Via npx (recommended)
npx -y mcp-dingManual
git clone https://github.com/zhuqingyv/mcp-notify.git
cd mcp-notify
npm installSetup
Universal MCP config (Cursor, Windsurf, Cline, and others)
Add to your MCP client's config file:
{
"mcpServers": {
"mcp-ding": {
"command": "npx",
"args": ["-y", "mcp-ding"]
}
}
}Claude Code
claude mcp add mcp-ding -s user -- npx -y mcp-dingPre-authorize tools (Claude Code only — skip confirmation prompts)
Add to ~/.claude/settings.json under permissions.allow:
"mcp__mcp-ding__send_notification",
"mcp__mcp-ding__list_sounds",
"mcp__mcp-ding__list_icons"Other MCP clients manage tool permissions through their own UI or config — this step is Claude Code-specific.
Usage
Send a notification
Send a notification: task completeSend a notification with an icon
Send a notification with the openai icon: code review doneEquivalent tool call:
{
"tool": "send_notification",
"arguments": {
"title": "Claude Code",
"message": "Code review done",
"icon": "openai",
"sound": "Hero"
}
}List available icons
List all available notification iconsCalls list_icons — returns all icon names (without .png extension).
List available sounds
What notification sounds are available?Calls list_sounds — returns system sound names usable in the sound parameter.
Available Icons
67 icons total. All are 128×128 PNG with brand color background and white label.
International Providers (37)
Icon name | Provider | Product |
| Anthropic | Claude |
| OpenAI | ChatGPT / GPT |
| Gemini | |
| Google AI Studio | |
| Meta | LLaMA / Meta AI |
| Microsoft | Copilot |
| Microsoft | Azure OpenAI |
| xAI | Grok |
| Mistral AI | Mistral |
| Cohere | Command / Coral |
| Perplexity AI | Perplexity |
| Stability AI | Stable Diffusion |
| Midjourney | Midjourney |
| Cursor | Cursor |
| Replit | Replit |
| GitHub | GitHub Copilot |
| Amazon | Bedrock |
| Amazon | Amazon Q |
| Apple | Apple Intelligence |
| Hugging Face | Hugging Face |
| Runway | Runway ML |
| ElevenLabs | ElevenLabs |
| Suno | Suno |
| Inflection AI | Pi |
| Character.AI | Character.AI |
| Pika Labs | Pika |
| Kling AI | Kling |
| Groq | Groq |
| Together AI | Together AI |
| Replicate | Replicate |
| AI21 Labs | Jamba / Jurassic |
| Aleph Alpha | Luminous |
| Nvidia | Nvidia AI / NIM |
| Luma AI | Dream Machine |
| Adobe | Adobe Firefly |
| Notion | Notion AI |
| Grammarly | Grammarly AI |
Chinese Providers (25)
Icon name | Provider | Product |
| 百度 | 文心一言 / ERNIE Bot |
| 阿里巴巴 | 通义千问 / Qwen |
| 字节跳动 | 豆包 / Doubao |
| 字节跳动 | Coze (扣子) |
| 智谱AI | GLM / ChatGLM |
| Moonshot AI | Kimi |
| DeepSeek | DeepSeek |
| 01.AI | Yi 系列 |
| MiniMax | 海螺AI |
| 百川智能 | Baichuan |
| 昆仑万维 | 天工AI |
| 商汤科技 | 日日新 / SenseNova |
| 科大讯飞 | 星火 / Spark |
| 腾讯 | 混元 / Hunyuan |
| 阶跃星辰 | Step |
| 腾讯 | 元宝 |
| 网易有道 | 有道AI |
| 360 | 智脑 / 360AI |
| 华为 | 盘古大模型 |
| 小米 | 小爱同学 / MiAI |
| 搜狗/腾讯 | 搜狗AI |
| 中科院 | 紫东太初 |
| 出门问问 | 序列猴子 |
| 聆心智能 | CharacterGLM |
| 光年之外 | 元象 XVERSE |
AI Dev Tools & Platforms (5)
Icon name | Provider | Product |
| LangChain | LangChain |
| LlamaIndex | LlamaIndex |
| Weights & Biases | W&B / Wandb |
| Vercel | Vercel AI SDK |
| Supabase | Supabase AI |
Adding Custom Icons
Place any 128×128 PNG in the icons/ directory. The filename (without .png) becomes the icon name usable in the icon parameter.
cp my-icon.png /path/to/mcp-notify/icons/my-icon.png
# then use: "icon": "my-icon"To regenerate all built-in icons from scratch:
python3 gen_icons.pyNotification Hook Integration
Auto-notify when Claude finishes a task. Add to ~/.claude/settings.json:
{
"hooks": {
"Notification": [{
"matcher": "",
"hooks": [{
"type": "command",
"command": "bash -c 'MSG=$(cat); TITLE=$(echo \"$MSG\" | python3 -c \"import sys,json; d=json.load(sys.stdin); print(d.get(\\\"title\\\",\\\"Claude Code\\\"))\" 2>/dev/null || echo \"Claude Code\"); BODY=$(echo \"$MSG\" | python3 -c \"import sys,json; d=json.load(sys.stdin); print(d.get(\\\"message\\\",\\\"Done\\\"))\" 2>/dev/null || echo \"Done\"); terminal-notifier -title \"$TITLE\" -message \"$BODY\" -sound Hero -group claude-notify'"
}]
}]
}
}License
MIT