Multi-plugin MCP server collection for 5dive agents including Telegram, Buzz (Nostr), and Dashboard channels
19 tools with complete input schemas and descriptions, but significant quality gaps. Tool naming lacks consistency (buzz_post vs telegram_reply vs telegram_agy_reply creates confusion). Descriptions are adequate (100-200 chars) but lack actionable guidance on when to use each tool vs. alternatives. No output schemas documented. Critical issue: 6 Telegram variants (telegram_*, telegram_codex_*, telegram_agy_*) duplicate functionality with different prefixes, forcing LLMs to reason about which variant to call. Parameters are typed but lack constraints (enums, ranges, patterns). Error handling and recovery guidance absent. No tool annotations (readOnlyHint/destructiveHint). Composition violates single-responsibility: buzz_post conflates channel selection with message posting.
Post a message to a Buzz channel (Nostr). This is the ONLY way outbound text reaches the relay — your transcript output does not. Omit reply_to to post straight in the channel (the default); pass an inbound message_id as reply_to only when a thread was explicitly requested.
Add an emoji reaction to a Buzz message.
Read recent messages from a Buzz channel. Use to recover context — Buzz exposes no in-session history, so this is the pull. Returns normalized events as JSON.
Send a reply message to the dashboard. This is the primary outbound tool for agent-to-dashboard communication.
Download an attachment from a Telegram message.
Edit a previously sent Telegram message.
Duplicate tool variants (telegram_*, telegram_codex_*, telegram_agy_*) create naming confusion. LLMs cannot distinguish which variant to call without explicit guidance. Violates single-responsibility and composition patterns.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., event_id from buzz_post, message_id from reply). Violates response-shaper pattern.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Add an emoji reaction to a Telegram message.
Send a reply message to the Telegram user. This is the primary outbound tool for agent-to-user communication.
Download an attachment from a Telegram message (Antigravity variant).
Edit a previously sent Telegram message (Antigravity variant).
Add an emoji reaction to a Telegram message (Antigravity variant).
Send a reply message to the Telegram user (Antigravity variant). This is the primary outbound tool for agent-to-user communication.
Blocking call that waits for the next allowed Telegram message (Antigravity variant). Returns when the bot receives a DM or group message from an authorized sender.
Download an attachment from a Telegram message (Codex variant).
Edit a previously sent Telegram message (Codex variant).
Add an emoji reaction to a Telegram message (Codex variant).
Send a reply message to the Telegram user (Codex variant). This is the primary outbound tool for agent-to-user communication.
Blocking call that waits for the next allowed Telegram message (Codex variant). Returns when the bot receives a DM or group message from an authorized sender.
Blocking call that waits for the next allowed Telegram message. Returns when the bot receives a DM or group message from an authorized sender.
Generic tool names (reply, react, edit_message, download_attachment) lack context. 'reply' could mean Telegram, Buzz, or dashboard. Ambiguous names force LLMs to guess and increase error rates.
No parameter constraints (enums, ranges, patterns). parse_mode accepts 'Markdown or HTML' but no enum defined. emoji parameter has no validation. LLMs may pass invalid values.
No error handling guidance. Tools lack recovery hints (e.g., 'If message_id not found, call wait_for_message() first'). Agents cannot self-correct on failures.