A lightweight, flexible implementation of the Model Context Protocol (MCP) for Python applications, specializing in robust HTTP/SSE transport.
PyMCP-SSE provides 6 tools with basic schemas and descriptions, but falls short of production quality. Tool names follow verb_noun convention (echo, get_simulated_weather, send_immediate_notification, schedule_notification, start_periodic_pings, stop_periodic_task), which is good. However, descriptions are minimal (10-60 chars), parameter descriptions are sparse or missing, and output schemas are not documented. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications. Error handling and recovery guidance are absent. The server demonstrates basic competence but lacks the depth required for confident agent integration.
Echoes the provided text back to the client.
Simulates fetching weather for a given location.
Schedules a notification to be sent after a delay.
Sends an immediate notification to all connected clients.
Starts sending periodic ping notifications with a counter.
Stops a periodic notification task using its ID.
Descriptions are too brief (10-60 chars) to guide LLM tool selection. Rubric baseline is 194 chars average; these lack context on WHEN to use each tool and what it returns.
Output schemas are not documented. LLMs cannot infer what fields are returned or plan downstream tool calls. Rubric requires documented return types for all tools.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classifications. Tools marked WRITE (send_immediate_notification, schedule_notification, start_periodic_pings, stop_periodic_task) should declare destructiveHint=true to signal irreversibility.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | <=2025-11-25 | v2 |
Parameter descriptions are missing or minimal. 'type_name' in send_immediate_notification and schedule_notification lacks guidance on valid enum values (info, warning, error, data). Rubric requires 100% of A+ tool params have descriptions.
No error handling or recovery guidance. Tools provide no actionable error messages or hints for LLM retry logic. Rubric pattern:recovery-guide requires errors to tell the agent what to do next.