Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Notify MCP Server

PYPI · MCP-NOTIFY · 2 COMPONENTS · SCANNED SEP 20

MCP Server for notify to Weixin, Telegram, Bark, Lark, Feishu, DingTalk

0 this week 0 Trust /100

Recent critical change

CVE-2026-32871 affects this package (4 Aug 2026). See the changelog before you install this server.

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security25
Provenance & Transparency45
Schema Quality & AI Usability72
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2076 tokens (~138/item across 15 items; 15 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management83
  • Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage96
  • 93% of tools have a non-trivial description (not blank, and not just the tool's name).Partial
  • 100% of tool parameters carry a description.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 14 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "wework_send_text" implies "send" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 15 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the Notify MCP Server server?

Notify MCP Server runs locally as a PyPI package, launched with uvx mcp-notify. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · mcp-notify

# add to Claude Code
claude mcp add aahl-mcp-notify -- uvx mcp-notify
// .cursor/mcp.json
{
  "mcpServers": {
    "aahl-mcp-notify": {
      "command": "uvx",
      "args": [
        "mcp-notify"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "aahl-mcp-notify": {
      "command": "uvx",
      "args": [
        "mcp-notify"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add aahl-mcp-notify -- uvx mcp-notify
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "aahl-mcp-notify": {
      "type": "local",
      "command": [
        "uvx",
        "mcp-notify"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add aahl-mcp-notify --command uvx --arg mcp-notify
# ~/.hermes/config.yaml
mcp_servers:
  aahl-mcp-notify:
    command: "uvx"
    args: ["mcp-notify"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "aahl-mcp-notify": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "mcp-notify"
      ]
    }
  }
}
# add to Vellum
assistant mcp add aahl-mcp-notify -t stdio -c uvx -a mcp-notify
// mcp.json
{
  "mcpServers": {
    "aahl-mcp-notify": {
      "command": "uvx",
      "args": [
        "mcp-notify"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 0
    • Security disclosure: unverified → fail functional
  • 19 Sept 26 0
    • Security disclosure: fail → unverified functional
  • 18 Sept 26 0
    • Malware scan: pass → unverified security
    • Stability: pass → 0.77 functional
  • 17 Sept 26 0
    • Malware scan: unverified → pass security
    • Stability: 0.97 → pass security
  • 14 Sept 26 0
    • Malware scan: pass → unverified security
  • 12 Sept 26 0
    • Stability: pass → 0.83 functional
  • 11 Sept 26 0
    • Stability: 0.97 → pass security
  • 5 Sept 26 0
    • Stability: pass → 0.80 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed pypi/mcp-notify@0.1.11

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted hatchling.build

Background: Why install scripts are a supply-chain risk →

Vulnerabilities 6 findings
ID CVE Severity Vector Fix available
GHSA-m8x7-r2rg-vh5g CVE-2025-64340 medium CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H yes
GHSA-rww4-4w9c-7733 CVE-2026-27124 high yes
GHSA-vv7q-7jx5-f767 CVE-2026-32871 critical CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H yes
PYSEC-2026-2475 CVE-2025-64340 medium CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H yes
PYSEC-2026-2476 CVE-2026-27124 none yes
PYSEC-2026-338 CVE-2026-32871 critical CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H yes

Background: What a vulnerability scan can and cannot prove →

Dependencies 82 packages
Packages resolved 82
Stale 5
No linked repository 3
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 15 exposed · ~2,076 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
bark_send_notify ~196

通过Bark推送通知

NameTypeReqDescription
bodystringyes推送内容
device_keystring设备key,默认从环境变量获取
iconstring自定义图标URL
levelstring推送中断级别。critical: 重要警告, 在静音模式下也会响铃active:默认值,系统会立即亮屏显示通知timeSensitive:时效性通知,可在专注状态下显示通知。passive:仅将通知添加到通知列表,不会亮屏提醒。
subtitlestring推送副标题
titlestring推送标题
urlstring点击推送时,跳转的URL ,支持URL Scheme 和 Universal Link
volumeinteger重要警告的通知音量(0-10),默认为5

No output schema declared.

No examples provided.

ding_send_text ~79

钉钉群机器人发送文本或Markdown消息

NameTypeReqDescription
bot_keystring钉钉群机器人access_token,默认从环境变量获取
msgtypestring内容类型,仅支持: text/markdown
textstringyes消息内容
titlestring消息标题

No output schema declared.

No examples provided.

ha_send_mobile ~337

Send a notification to Home Assistant Mobile APP

NameTypeReqDescription
dataExtended data, json string. ```json { "image": "http://a.com/photo.jpg", "video": "http://a.com/video.mp4", "audio": "http://a.com/audio.mp3", # ios only "actions": [ { "action": "Y…
device_keystringDevice key, Default to get from environment variables
messagestringyesNotification content
subtitlestringNotification subtitle
titlestringNotification title
urlstringOpening a URL when tapping on a notification

No output schema declared.

No examples provided.

lark_send_text ~94

飞书/Lark群机器人发送文本或Markdown消息

NameTypeReqDescription
bot_keystring飞书/Lark机器人key,uuid格式,默认从环境变量获取
is_larkinteger根据用户描述识别 0:飞书 1:Lark
msgtypestring内容类型,仅支持: text/markdown
textstringyes消息内容

No output schema declared.

No examples provided.

ntfy_send_notify ~366

Push a notification via Ntfy

NameTypeReqDescription
actionsList of action buttons. The following actions are supported: - view: Opens a website or app when the action button is tapped - broadcast: Sends an Android broadcast intent when the action button is t…
attachstringURL of an attachment
clickstringURL opened when notification is clicked
delaystringTimestamp or duration for delayed delivery. Example: 30min, 9am
filenamestringFile name of the attachment
iconstringURL of notification icon
markdownbooleanSet to `true` if the message is Markdown-formatted
messagestringyesNotification message body; set to `triggered` if empty or not passed
priorityintegerMessage priority with 1=min, 3=default and 5=max
titlestringNotification title
topicstringTarget topic name or URL

No output schema declared.

No examples provided.

pushplus_send_msg ~106

通过PushPlus(推送加)推送消息

NameTypeReqDescription
channelstring发送渠道: `wechat`(默认)/`webhook`/`mail`
contentstringyes消息内容
templatestring消息内容格式: `html`(默认)/`txt`/`markdown`
titlestring消息标题
tokenstring用户token,默认从环境变量获取

No output schema declared.

No examples provided.

text_to_sound ~86

将一段文本转成mp3音频链接

NameTypeReqDescription
langstring目标语言,支持: en/zh/cte(粤语)/ara/de/fra/kor/pt/ru/spa/th, 建议根据文本内容选择
speedinteger语速,默认7
textstringyes文本内容

No output schema declared.

No examples provided.

tg_send_audio ~118

Send audio via telegram bot

NameTypeReqDescription
audiostringyesAudio URL or base64 data URI (e.g., data:audio/wav;base64,...
captionstringAudio caption, 0-1024 characters after entities parsing
chat_idstringTelegram chat id, Default to get from environment variables
parse_modestringMode for parsing entities in the caption. [text/MarkdownV2]
reply_to_message_idintegerIdentifier of the message that will be replied to

No output schema declared.

No examples provided.

tg_send_file ~103

Send general files via telegram bot

NameTypeReqDescription
captionstringFile caption, 0-1024 characters after entities parsing
chat_idstringTelegram chat id, Default to get from environment variables
parse_modestringMode for parsing entities in the caption. [text/MarkdownV2]
reply_to_message_idintegerIdentifier of the message that will be replied to
urlstringyesFile URL

No output schema declared.

No examples provided.

tg_send_message ~102

Send text or markdown message via telegram bot

NameTypeReqDescription
chat_idstringTelegram chat id, Default to get from environment variables
parse_modestringMode for parsing entities in the message text. [text/MarkdownV2]
reply_to_message_idintegerIdentifier of the message that will be replied to
textstringyesText of the message to be sent, 1-4096 characters after entities parsing

No output schema declared.

No examples provided.

tg_send_photo ~116

Send photo via telegram bot

NameTypeReqDescription
captionstringPhoto caption, 0-1024 characters after entities parsing
chat_idstringTelegram chat id, Default to get from environment variables
parse_modestringMode for parsing entities in the caption. [text/MarkdownV2]
photostringyesPhoto URL or base64 data URI (e.g., data:image/png;base64,...
reply_to_message_idintegerIdentifier of the message that will be replied to

No output schema declared.

No examples provided.

tg_send_video ~134

Send video via telegram bot

NameTypeReqDescription
captionstringVideo caption, 0-1024 characters after entities parsing
chat_idstringTelegram chat id, Default to get from environment variables
coverstringCover for the video in the message. Optional
parse_modestringMode for parsing entities in the caption. [text/MarkdownV2]
reply_to_message_idintegerIdentifier of the message that will be replied to
videostringyesVideo URL or base64 data URI (e.g., data:video/mp4;base64,...

No output schema declared.

No examples provided.

wework_send_image ~49

通过企业微信群机器人发送图片消息

NameTypeReqDescription
bot_keystring企业微信群机器人key,uuid格式,默认从环境变量获取
urlstringyes图片url

No output schema declared.

No examples provided.

wework_send_news ~96

通过企业微信群机器人发送图文链接消息

NameTypeReqDescription
bot_keystring企业微信群机器人key,uuid格式,默认从环境变量获取
descriptionstring描述,不超过512个字节
picurlstring图片URL
titlestringyes标题,不超过128个字节
urlstringyes跳转链接,必填

No output schema declared.

No examples provided.

wework_send_text ~94

通过企业微信群机器人发送文本或Markdown消息

NameTypeReqDescription
bot_keystring企业微信群机器人key,uuid格式,默认从环境变量获取
msgtypestring内容类型,仅支持: text/markdown_v2
textstringyes消息内容,长度限制: (text: 2048个字节, markdown_v2: 4096个字节)

No output schema declared.

No examples provided.

Common questions

What is the Notify MCP Server server?

Notify MCP Server is listed in the public MCP registry as io.github.aahl/mcp-notify. MCP Server for notify to Weixin, Telegram, Bark, Lark, Feishu, DingTalk. This page covers its PyPI package (mcp-notify).

What tools does the Notify MCP Server server expose?

Notify MCP Server exposes 15 tools: wework_send_text, wework_send_image, wework_send_news, tg_send_message, tg_send_photo, and 10 more. Their descriptions and schemas cost roughly 2,076 tokens of context every time the server is loaded.

Is the Notify MCP Server server still maintained?

Notify MCP Server is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Notify MCP Server server under?

Notify MCP Server declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.