Mcp Notify — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp Notify (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
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.
_Coming soon_
brew install terminal-notifiernpx -y mcp-dinggit clone https://github.com/zhuqingyv/mcp-notify.git
cd mcp-notify
npm installAdd to your MCP client's config file:
{
"mcpServers": {
"mcp-ding": {
"command": "npx",
"args": ["-y", "mcp-ding"]
}
}
}claude mcp add mcp-ding -s user -- npx -y mcp-ding#### Pre-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.
Send a notification: task completeSend 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 all available notification iconsCalls list_icons — returns all icon names (without .png extension).
What notification sounds are available?Calls list_sounds — returns system sound names usable in the sound parameter.
67 icons total. All are 128×128 PNG with brand color background and white label.
| Icon name | Provider | Product |
|---|---|---|
claude | Anthropic | Claude |
openai | OpenAI | ChatGPT / GPT |
gemini | Gemini | |
google-ai-studio | Google AI Studio | |
meta-ai | Meta | LLaMA / Meta AI |
copilot | Microsoft | Copilot |
azure-openai | Microsoft | Azure OpenAI |
grok | xAI | Grok |
mistral | Mistral AI | Mistral |
cohere | Cohere | Command / Coral |
perplexity | Perplexity AI | Perplexity |
stability-ai | Stability AI | Stable Diffusion |
midjourney | Midjourney | Midjourney |
cursor | Cursor | Cursor |
replit | Replit | Replit |
github-copilot | GitHub | GitHub Copilot |
amazon-bedrock | Amazon | Bedrock |
amazon-q | Amazon | Amazon Q |
apple-intelligence | Apple | Apple Intelligence |
hugging-face | Hugging Face | Hugging Face |
runway | Runway | Runway ML |
elevenlabs | ElevenLabs | ElevenLabs |
suno | Suno | Suno |
pi-ai | Inflection AI | Pi |
character-ai | Character.AI | Character.AI |
pika | Pika Labs | Pika |
kling | Kling AI | Kling |
groq | Groq | Groq |
together-ai | Together AI | Together AI |
replicate | Replicate | Replicate |
ai21 | AI21 Labs | Jamba / Jurassic |
aleph-alpha | Aleph Alpha | Luminous |
nvidia | Nvidia | Nvidia AI / NIM |
luma-ai | Luma AI | Dream Machine |
adobe-firefly | Adobe | Adobe Firefly |
notion-ai | Notion | Notion AI |
grammarly | Grammarly | Grammarly AI |
| Icon name | Provider | Product |
|---|---|---|
ernie-bot | 百度 | 文心一言 / ERNIE Bot |
qwen | 阿里巴巴 | 通义千问 / Qwen |
doubao | 字节跳动 | 豆包 / Doubao |
coze | 字节跳动 | Coze (扣子) |
zhipu | 智谱AI | GLM / ChatGLM |
kimi | Moonshot AI | Kimi |
deepseek | DeepSeek | DeepSeek |
yi-ai | 01.AI | Yi 系列 |
minimax | MiniMax | 海螺AI |
baichuan | 百川智能 | Baichuan |
tiangong | 昆仑万维 | 天工AI |
sensenova | 商汤科技 | 日日新 / SenseNova |
xunfei-spark | 科大讯飞 | 星火 / Spark |
hunyuan | 腾讯 | 混元 / Hunyuan |
step-ai | 阶跃星辰 | Step |
tencent-yuanbao | 腾讯 | 元宝 |
youdao-ai | 网易有道 | 有道AI |
360-ai | 360 | 智脑 / 360AI |
pangu | 华为 | 盘古大模型 |
xiaomi-ai | 小米 | 小爱同学 / MiAI |
sogou-ai | 搜狗/腾讯 | 搜狗AI |
zidong-taichi | 中科院 | 紫东太初 |
mobvoi | 出门问问 | 序列猴子 |
characterglm | 聆心智能 | CharacterGLM |
xverse | 光年之外 | 元象 XVERSE |
| Icon name | Provider | Product |
|---|---|---|
langchain | LangChain | LangChain |
llamaindex | LlamaIndex | LlamaIndex |
wandb | Weights & Biases | W&B / Wandb |
vercel-ai | Vercel | Vercel AI SDK |
supabase-ai | Supabase | Supabase AI |
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.pyAuto-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'"
}]
}]
}
}MIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.