A site to show a MCP example using Netlify Functions and Express
This MCP server has 1 tool ('start-notification-stream') with a properly defined schema and description. The tool name uses verb_noun convention and has acceptable input validation with type-safe Zod schemas. However, the tool serves a narrow testing purpose (notification resumability) with limited production applicability. Parameter descriptions are present but generic. Output documentation is minimal, the response format is inferred from code rather than explicitly documented. No error handling or recovery guidance. Tool annotations (readOnlyHint/destructiveHint) are absent despite being current spec patterns. The server also implements prompts and resources, which add breadth but lack comparable rigor in description and schema depth. Overall, this is a working but narrowly-scoped example server that lacks the polish and completeness expected in production-grade agents.
Starts sending periodic notifications for testing resumability
Tool lacks output schema documentation. The response structure (CallToolResult with text content) is visible in code but not formally declared in the tool registration. LLMs cannot plan downstream calls or validate output structure.
Tool is missing modern annotations (readOnlyHint, destructiveHint, idempotentHint). The tool is read-only (sends notifications) but provides no machine-readable hint. Current spec (2026-07-28) encourages these for better agent planning.
Parameter descriptions are minimal and lack actionable guidance. 'Interval in milliseconds between notifications' and 'Number of notifications to send (0 for 100)' lack constraint documentation (e.g., minimum/maximum values, why 0 means 100). The special case '0 for 100' is confusing and should be clearer in the description.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 59 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 56 | - | v1 |
No error handling or recovery guidance. If sendNotification fails (line catching error), the tool logs but continues. An LLM receiving this failure has no guidance on whether to retry, backoff, or abandon the operation.
Tool's purpose is testing resumability, not a production use case. The server is intentionally minimal and example-focused, limiting its utility as a reference for real-world agent tooling patterns.