Notify MCP Server — Claude Code MCP server: what it does, install
An MCP server that carries messages from the agent to Telegram, DingTalk, Lark, Feishu, Bark, Ntfy, PushPlus, WeChat Work and Home Assistant.
claude mcp add mcp-notify -e WEWORK_BOT_KEY=<WEWORK_BOT_KEY> -e WEWORK_APP_SECRET=<WEWORK_APP_SECRET> -e DINGTALK_BOT_KEY=<DINGTALK_BOT_KEY> -e LARK_BOT_KEY=<LARK_BOT_KEY> -e FEISHU_BOT_KEY=<FEISHU_BOT_KEY> -e TELEGRAM_BOT_TOKEN=<TELEGRAM_BOT_TOKEN> -e PUSH_PLUS_TOKEN=<PUSH_PLUS_TOKEN> -- uvx mcp-notifyWhat Notify MCP Server does
The agent gets a set of tools that push text, images, files and links out of the session. Telegram, DingTalk, Lark, Feishu, Bark, Ntfy, PushPlus and Home Assistant each have their own entry points, and WeChat Work comes in two flavours: a group bot and a company app account.
Coverage differs by channel. Telegram offers five tools for text, photo, video, audio and files. The WeChat Work app account adds voice messages and document delivery; its group bot stops at text, images and link cards. A separate text_to_sound tool returns an mp3 link for whatever string you hand it.
Startup is one command with uvx mcp-notify, or Docker compose listening on port 8809, or Smithery, which asks for OAuth or a Smithery key. Credentials are per channel, so line up the bot token or device key first — TELEGRAM_BOT_TOKEN, DINGTALK_BOT_KEY, BARK_DEVICE_KEY — otherwise there is nothing to authenticate with. Several keys may also be supplied inside the prompt instead.
What it helps with
- push a build report into a Telegram chat
- drop a screenshot into a WeChat Work group
- post the same link to DingTalk and Lark
- get a phone push through Bark or Ntfy
- turn a line of text into an mp3 link
Example prompts for the agent
- Send “deploy finished” to the release Telegram chat with
tg_send_message. - Post
build.pngto the WeChat Work group bot. - Convert this paragraph to an mp3 link with
text_to_sound.
How to install Notify MCP Server
Platform CLI
claude mcp add mcp-notify -e WEWORK_BOT_KEY=<WEWORK_BOT_KEY> -e WEWORK_APP_SECRET=<WEWORK_APP_SECRET> -e DINGTALK_BOT_KEY=<DINGTALK_BOT_KEY> -e LARK_BOT_KEY=<LARK_BOT_KEY> -e FEISHU_BOT_KEY=<FEISHU_BOT_KEY> -e TELEGRAM_BOT_TOKEN=<TELEGRAM_BOT_TOKEN> -e PUSH_PLUS_TOKEN=<PUSH_PLUS_TOKEN> -- uvx mcp-notifyReplace <…> with your own values. 7 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-notify <command>
Platform CLI
codex mcp add notify-mcp-server --env WEWORK_BOT_KEY=<WEWORK_BOT_KEY> --env WEWORK_APP_CORPID=<WEWORK_APP_CORPID> --env WEWORK_APP_SECRET=<WEWORK_APP_SECRET> --env WEWORK_APP_AGENTID=<WEWORK_APP_AGENTID> --env WEWORK_APP_TOUSER=<WEWORK_APP_TOUSER> -- uvx mcp-notifyReplace <…> with your own values. 7 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-notify <command>
Config file
{
"mcpServers": {
"notify-mcp-server": {
"command": "uvx",
"args": [
"mcp-notify"
],
"env": {
"WEWORK_BOT_KEY": "<WEWORK_BOT_KEY>",
"WEWORK_APP_CORPID": "<WEWORK_APP_CORPID>",
"WEWORK_APP_SECRET": "<WEWORK_APP_SECRET>",
"WEWORK_APP_AGENTID": "<WEWORK_APP_AGENTID>",
"WEWORK_APP_TOUSER": "<WEWORK_APP_TOUSER>"
}
}
}
}Replace <…> with your own values. 7 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-notify <command>
Config file
{
"servers": {
"notify-mcp-server": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-notify"
],
"env": {
"WEWORK_BOT_KEY": "<WEWORK_BOT_KEY>",
"WEWORK_APP_CORPID": "<WEWORK_APP_CORPID>",
"WEWORK_APP_SECRET": "<WEWORK_APP_SECRET>",
"WEWORK_APP_AGENTID": "<WEWORK_APP_AGENTID>",
"WEWORK_APP_TOUSER": "<WEWORK_APP_TOUSER>"
}
}
}
}Replace <…> with your own values. 7 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-notify <command>
Platform CLI
gemini mcp add -e WEWORK_BOT_KEY=<WEWORK_BOT_KEY> -e WEWORK_APP_CORPID=<WEWORK_APP_CORPID> -e WEWORK_APP_SECRET=<WEWORK_APP_SECRET> -e WEWORK_APP_AGENTID=<WEWORK_APP_AGENTID> -e WEWORK_APP_TOUSER=<WEWORK_APP_TOUSER> notify-mcp-server uvx mcp-notifyReplace <…> with your own values. 7 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-notify <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Notify MCP Server
How do I install Notify MCP Server in Claude Code?
Run `claude mcp add mcp-notify -e WEWORK_BOT_KEY=<WEWORK_BOT_KEY> -e WEWORK_APP_SECRET=<WEWORK_APP_SECRET> -e DINGTALK_BOT_KEY=<DINGTALK_BOT_KEY> -e LARK_BOT_KEY=<LARK_BOT_KEY> -e FEISHU_BOT_KEY=<FEISHU_BOT_KEY> -e TELEGRAM_BOT_TOKEN=<TELEGRAM_BOT_TOKEN> -e PUSH_PLUS_TOKEN=<PUSH_PLUS_TOKEN> -- uvx mcp-notify`. Fill in the keys for the channels you actually use.
What does Notify MCP Server do?
It lets the agent send text, images, files and links to chats and phones through tool calls, so results leave the session without copy-paste.
Which channels does it support?
Telegram, DingTalk, Lark, Feishu, Bark, Ntfy, PushPlus, Home Assistant and WeChat Work in both group-bot and app-account modes.