Lightweight Node.js server for sending webhook notifications. Supports Discord, Slack, Teams, Feishu, and custom webhooks. Ideal for AI-assisted developers working across multiple projects.
The server implements a single 'notify' tool with a well-structured input schema and comprehensive parameter coverage. The tool description is adequate (73 chars) but could be more actionable for LLM selection. All parameters have types and descriptions, meeting baseline requirements. However, the description lacks guidance on when to use this tool, what errors occur, and recovery paths, critical for LLM planning. The schema is well-formed with proper JSON Schema validation including enums, format constraints, and nested objects. Output documentation is completely absent, LLMs cannot understand what the tool returns, forcing them to make assumptions about success/failure responses. Error handling guidance is not visible in the tool definition itself.
Send a notification to configured webhook services (Discord, Slack, Teams, Feishu, ntfy, custom)
Tool description lacks actionable context for LLM selection. Current: 'Send a notification to configured webhook services (Discord, Slack, Teams, Feishu, ntfy, custom)'. Missing: WHEN to use (e.g., for alerts, status updates, confirmations), WHAT happens on failure, and what the tool returns.
Output schema completely undocumented. The tool returns some response (success status? error details? message ID?), but LLMs cannot plan downstream actions or validate success without knowing the return type. This violates the baseline that 100% of A+ tools have documented return types.
No error handling or recovery guidance embedded in the tool definition. If a webhook fails (URL unreachable, auth invalid, rate limited), the LLM cannot determine if the call is retryable, if it should ask the user, or if it's fatal. This forces LLMs to guess or retry blindly.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 52 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Tool name 'notify' is generic and does not start with an action verb in the traditional sense. While acceptable, 'send_notification' would be more explicit and help LLMs parse intent from the name alone when many tools are available.
No idempotency or confirmation pattern for this destructive/side-effect operation. Sending a notification is irreversible, duplicate sends to the same webhook could cause duplicate alerts. No dry-run, confirmation step, or deduplication guidance visible.