mcp-ding

mcp-ding

MCP server for macOS native notifications with 67 AI brand icons and system sound support, enabling AI agents to send desktop notifications via one-line tool calls.

Category
Visit Server

README

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-ding

Or 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 icon
  • list_icons — List all 67 available AI brand icons
  • list_sounds — List all macOS system sounds
  • 67 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-notifier

Installation

Via npx (recommended)

npx -y mcp-ding

Manual

git clone https://github.com/zhuqingyv/mcp-notify.git
cd mcp-notify
npm install

Setup

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-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.


Usage

Send a notification

Send a notification: task complete

Send a notification with an icon

Send a notification with the openai icon: code review done

Equivalent tool call:

{
  "tool": "send_notification",
  "arguments": {
    "title": "Claude Code",
    "message": "Code review done",
    "icon": "openai",
    "sound": "Hero"
  }
}

List available icons

List all available notification icons

Calls 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
claude Anthropic Claude
openai OpenAI ChatGPT / GPT
gemini Google Gemini
google-ai-studio Google 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

Chinese Providers (25)

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

AI Dev Tools & Platforms (5)

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

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.py

Notification 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

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured