A MCP server for OS desktop and Discord notifications
Two tools with basic schemas and Japanese descriptions. Both tools have input schemas with properties and required fields, but descriptions are minimal (under 100 chars) and lack context on when/why to use them. Parameters lack detailed constraints or format guidance. No output schema documentation. Error handling is minimal, tools return success messages but don't guide recovery on failure. notify_discord lacks webhook URL validation guidance. No tool annotations (destructiveHint, idempotentHint). Naming is acceptable (verb_noun pattern) but descriptions don't explain prerequisites, side effects, or dependencies.
Discord Webhookを使用してEmbed形式の通知を送信します。
OSデスクトップ通知を送信します。
Minimal tool descriptions lack context. 'OSデスクトップ通知を送信します' (Send OS desktop notification) is under 100 chars and does not explain when to use this tool vs notify_discord, what happens on failure, or prerequisites (e.g., OS support). LLMs cannot reliably select between similar tools without richer descriptions.
No output schema documented. Tools return ToolResult with text messages ('OSデスクトップ通知の送信を完了しました') but the response structure is not formally specified. LLMs cannot plan downstream actions or extract structured data from responses.
Parameter descriptions are generic and lack constraints. 'title' is described as '通知のタイトル(省略時はデフォルト値)' (notification title, default if omitted) but does not specify max length, character restrictions, or format. 'message' and 'content' lack length limits or encoding guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2025-06-18+ | v2 |
notify_discord does not validate webhook URL at tool invocation. Code checks if webhook_url exists but returns a generic error message ('エラー: Discord WebhookのURLが設定されていません') without guiding the LLM on how to resolve it (e.g., 'Configure Discord webhook URL in config file').
No tool annotations (destructiveHint, idempotentHint, readOnlyHint). Both tools modify external state (send notifications) but are not marked as destructive. LLMs cannot reason about retry safety or side effects.