Learning-first MCP HTTP Stateful boilerplate + project generator CLI (official SDK v2 pre-release)
This HTTP stateful MCP server demonstrates good pattern adherence with clear naming, descriptions, and schemas. All three tools are properly registered with Zod schemas, descriptions, and input validation. However, output schema documentation is partial (only list_notes has an outputSchema), and error handling guidance is minimal. The server shows awareness of session state management and proper tool isolation, but lacks comprehensive error recovery messaging and some parameter constraints could be more explicit.
Stores a note in the current MCP session.
Returns all notes currently saved in this session.
Sends periodic MCP log notifications to show streaming behavior and resumability.
simulate_work naming is vague. 'Simulate work' does not clearly convey the tool's purpose (streaming progress via logging). Better name: 'stream_progress_logs' or 'emit_work_progress'. Current name invites confusion about what 'work' means.
Output schemas missing for add_note and simulate_work. Only list_notes declares an outputSchema. LLMs cannot predict what fields to expect in responses, forcing them to parse unstructured text and reducing downstream tool chaining reliability.
Error handling lacks recovery guidance. If note storage fails (e.g., session expired), the tool returns CallToolResult without actionable next steps. Tools should guide LLM on retry strategies or user-fixable issues.
simulate_work parameter 'closeSseAfterStep' is undocumented in its purpose, the description explains its effect but not the intended use case. When would an LLM choose to close SSE mid-stream? This invites incorrect usage.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 63 | 2025-06-18+ | v2 |
| 2026-03-09 | D | 55 | - | v1 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present. The MCP SDK v2 supports these; applying them would help LLMs understand side effects and retry safety without parsing descriptions.