Notify MCP Server
PYPI · MCP-NOTIFY · 2 COMPONENTS · SCANNED SEP 20
MCP Server for notify to Weixin, Telegram, Bark, Lark, Feishu, DingTalk
Available components
Recent critical change
CVE-2026-32871 affects this package (4 Aug 2026). See the changelog before you install this server.
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
- Malware scan not yet available for this package.Unverified
- CVE check failed: an unpatched critical CVE affects this package; the score is capped at 0. See how to fix → View diagnostics → Fail
- Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 8 of 82 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 178 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
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
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
claude mcp add aahl-mcp-notify -- uvx mcp-notify
{
"mcpServers": {
"aahl-mcp-notify": {
"command": "uvx",
"args": [
"mcp-notify"
]
}
}
} {
"servers": {
"aahl-mcp-notify": {
"command": "uvx",
"args": [
"mcp-notify"
]
}
}
} codex mcp add aahl-mcp-notify -- uvx mcp-notify
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"aahl-mcp-notify": {
"type": "local",
"command": [
"uvx",
"mcp-notify"
],
"enabled": true
}
}
} openclaw mcp add aahl-mcp-notify --command uvx --arg mcp-notify
mcp_servers:
aahl-mcp-notify:
command: "uvx"
args: ["mcp-notify"] {
"McpServers": {
"aahl-mcp-notify": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"mcp-notify"
]
}
}
} assistant mcp add aahl-mcp-notify -t stdio -c uvx -a mcp-notify
{
"mcpServers": {
"aahl-mcp-notify": {
"command": "uvx",
"args": [
"mcp-notify"
]
}
}
} 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
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 →
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 →
bark_send_notify Bark推送通知 ~196
通过Bark推送通知
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | 推送内容 |
| device_key | string | – | 设备key,默认从环境变量获取 |
| icon | string | – | 自定义图标URL |
| level | string | – | 推送中断级别。critical: 重要警告, 在静音模式下也会响铃active:默认值,系统会立即亮屏显示通知timeSensitive:时效性通知,可在专注状态下显示通知。passive:仅将通知添加到通知列表,不会亮屏提醒。 |
| subtitle | string | – | 推送副标题 |
| title | string | – | 推送标题 |
| url | string | – | 点击推送时,跳转的URL ,支持URL Scheme 和 Universal Link |
| volume | integer | – | 重要警告的通知音量(0-10),默认为5 |
No output schema declared.
No examples provided.
ding_send_text 钉钉群机器人-发送文本消息 ~79
钉钉群机器人发送文本或Markdown消息
| Name | Type | Req | Description |
|---|---|---|---|
| bot_key | string | – | 钉钉群机器人access_token,默认从环境变量获取 |
| msgtype | string | – | 内容类型,仅支持: text/markdown |
| text | string | yes | 消息内容 |
| title | string | – | 消息标题 |
No output schema declared.
No examples provided.
ha_send_mobile Send to HomeAssistant Mobile APP ~337
Send a notification to Home Assistant Mobile APP
| Name | Type | Req | Description |
|---|---|---|---|
| data | – | – | Extended 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_key | string | – | Device key, Default to get from environment variables |
| message | string | yes | Notification content |
| subtitle | string | – | Notification subtitle |
| title | string | – | Notification title |
| url | string | – | Opening a URL when tapping on a notification |
No output schema declared.
No examples provided.
lark_send_text 飞书/Lark机器人-发送文本消息 ~94
飞书/Lark群机器人发送文本或Markdown消息
| Name | Type | Req | Description |
|---|---|---|---|
| bot_key | string | – | 飞书/Lark机器人key,uuid格式,默认从环境变量获取 |
| is_lark | integer | – | 根据用户描述识别 0:飞书 1:Lark |
| msgtype | string | – | 内容类型,仅支持: text/markdown |
| text | string | yes | 消息内容 |
No output schema declared.
No examples provided.
ntfy_send_notify Ntfy Push Notification ~366
Push a notification via Ntfy
| Name | Type | Req | Description |
|---|---|---|---|
| actions | – | – | List 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… |
| attach | string | – | URL of an attachment |
| click | string | – | URL opened when notification is clicked |
| delay | string | – | Timestamp or duration for delayed delivery. Example: 30min, 9am |
| filename | string | – | File name of the attachment |
| icon | string | – | URL of notification icon |
| markdown | boolean | – | Set to `true` if the message is Markdown-formatted |
| message | string | yes | Notification message body; set to `triggered` if empty or not passed |
| priority | integer | – | Message priority with 1=min, 3=default and 5=max |
| title | string | – | Notification title |
| topic | string | – | Target topic name or URL |
No output schema declared.
No examples provided.
pushplus_send_msg PushPlus推送消息 ~106
通过PushPlus(推送加)推送消息
| Name | Type | Req | Description |
|---|---|---|---|
| channel | string | – | 发送渠道: `wechat`(默认)/`webhook`/`mail` |
| content | string | yes | 消息内容 |
| template | string | – | 消息内容格式: `html`(默认)/`txt`/`markdown` |
| title | string | – | 消息标题 |
| token | string | – | 用户token,默认从环境变量获取 |
No output schema declared.
No examples provided.
text_to_sound 文本转音频 ~86
将一段文本转成mp3音频链接
| Name | Type | Req | Description |
|---|---|---|---|
| lang | string | – | 目标语言,支持: en/zh/cte(粤语)/ara/de/fra/kor/pt/ru/spa/th, 建议根据文本内容选择 |
| speed | integer | – | 语速,默认7 |
| text | string | yes | 文本内容 |
No output schema declared.
No examples provided.
tg_send_audio Telegram send audio ~118
Send audio via telegram bot
| Name | Type | Req | Description |
|---|---|---|---|
| audio | string | yes | Audio URL or base64 data URI (e.g., data:audio/wav;base64,... |
| caption | string | – | Audio caption, 0-1024 characters after entities parsing |
| chat_id | string | – | Telegram chat id, Default to get from environment variables |
| parse_mode | string | – | Mode for parsing entities in the caption. [text/MarkdownV2] |
| reply_to_message_id | integer | – | Identifier of the message that will be replied to |
No output schema declared.
No examples provided.
tg_send_file Telegram send file ~103
Send general files via telegram bot
| Name | Type | Req | Description |
|---|---|---|---|
| caption | string | – | File caption, 0-1024 characters after entities parsing |
| chat_id | string | – | Telegram chat id, Default to get from environment variables |
| parse_mode | string | – | Mode for parsing entities in the caption. [text/MarkdownV2] |
| reply_to_message_id | integer | – | Identifier of the message that will be replied to |
| url | string | yes | File URL |
No output schema declared.
No examples provided.
tg_send_message Telegram send text ~102
Send text or markdown message via telegram bot
| Name | Type | Req | Description |
|---|---|---|---|
| chat_id | string | – | Telegram chat id, Default to get from environment variables |
| parse_mode | string | – | Mode for parsing entities in the message text. [text/MarkdownV2] |
| reply_to_message_id | integer | – | Identifier of the message that will be replied to |
| text | string | yes | Text of the message to be sent, 1-4096 characters after entities parsing |
No output schema declared.
No examples provided.
tg_send_photo Telegram send photo ~116
Send photo via telegram bot
| Name | Type | Req | Description |
|---|---|---|---|
| caption | string | – | Photo caption, 0-1024 characters after entities parsing |
| chat_id | string | – | Telegram chat id, Default to get from environment variables |
| parse_mode | string | – | Mode for parsing entities in the caption. [text/MarkdownV2] |
| photo | string | yes | Photo URL or base64 data URI (e.g., data:image/png;base64,... |
| reply_to_message_id | integer | – | Identifier of the message that will be replied to |
No output schema declared.
No examples provided.
tg_send_video Telegram send video ~134
Send video via telegram bot
| Name | Type | Req | Description |
|---|---|---|---|
| caption | string | – | Video caption, 0-1024 characters after entities parsing |
| chat_id | string | – | Telegram chat id, Default to get from environment variables |
| cover | string | – | Cover for the video in the message. Optional |
| parse_mode | string | – | Mode for parsing entities in the caption. [text/MarkdownV2] |
| reply_to_message_id | integer | – | Identifier of the message that will be replied to |
| video | string | yes | Video URL or base64 data URI (e.g., data:video/mp4;base64,... |
No output schema declared.
No examples provided.
wework_send_image 企业微信群机器人-发送图片消息 ~49
通过企业微信群机器人发送图片消息
| Name | Type | Req | Description |
|---|---|---|---|
| bot_key | string | – | 企业微信群机器人key,uuid格式,默认从环境变量获取 |
| url | string | yes | 图片url |
No output schema declared.
No examples provided.
wework_send_news 企业微信群机器人-发送图文消息 ~96
通过企业微信群机器人发送图文链接消息
| Name | Type | Req | Description |
|---|---|---|---|
| bot_key | string | – | 企业微信群机器人key,uuid格式,默认从环境变量获取 |
| description | string | – | 描述,不超过512个字节 |
| picurl | string | – | 图片URL |
| title | string | yes | 标题,不超过128个字节 |
| url | string | yes | 跳转链接,必填 |
No output schema declared.
No examples provided.
wework_send_text 企业微信群机器人-发送文本消息 ~94
通过企业微信群机器人发送文本或Markdown消息
| Name | Type | Req | Description |
|---|---|---|---|
| bot_key | string | – | 企业微信群机器人key,uuid格式,默认从环境变量获取 |
| msgtype | string | – | 内容类型,仅支持: text/markdown_v2 |
| text | string | yes | 消息内容,长度限制: (text: 2048个字节, markdown_v2: 4096个字节) |
No output schema declared.
No examples provided.
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.