Single tool with bare-minimum definition. The notify_user tool has a clear action verb in its name and a reasonable description (92 chars), but lacks critical depth in parameter guidance and output schema documentation. The tool description states WHAT it does but not WHEN to use it or HOW the agent should interpret success. Parameters are typed (both strings) but lack format/constraint guidance, taskTitle and taskSummary accept unbounded strings with no length limits, validation rules, or examples of valid inputs. The response schema is implicit (returns text on success, text+isError on failure) but never formally documented. Error handling returns the exception message to the LLM, which is helpful, but does not guide recovery actions. No indication of retry safety, idempotency, or side effects. Overall, this is a functional but minimal tool definition typical of community servers.
Notify the user that certain task is complete/error/stopped and give the summary and title of the completed task
No output schema documentation. Tool returns structured responses with 'content' array and optional 'isError' flag, but this contract is not documented for the LLM. The agent cannot plan downstream actions or validate success without explicit schema.
Parameter descriptions lack actionable constraints. taskTitle and taskSummary are both open-ended strings with no guidance on length, format, or valid content. The LLM has no way to know if 'a' or '10000 characters' is acceptable.
Description does not clarify state mutation or retry safety. The tool sends an HTTP POST to an external service (ntfy.sh), which is a write operation with side effects, but the description does not state this. Agents cannot determine if retrying a failed call is safe.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 50 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 40 | - | v1 |
Error recovery is not guided. On failure, the tool returns error.message from the catch block (e.g., 'Failed to send ntfy notification: 404 Not Found'), which may be cryptic. No guidance on what the agent should do next: retry, ask user, or abandon.
NTFY_TOPIC credential is injected via environment variable, which is correct, but no documentation of required setup. A user deploying this server with an unset NTFY_TOPIC will see 'Process exited with code 1' and no guidance on what went wrong.