Unofficial MCP server for the messdienst24.de utility portal via python-md24de
Three tools with clear, domain-specific names (get_*, save_*) and detailed descriptions (avg 250+ chars). All tools have input schemas with proper types. However, parameter descriptions are sparse or missing entirely. get_last_available_month and get_consumption_report accept empty input objects with no documented parameters. save_pdf has a single parameter with a description, but lacks validation constraints (e.g., directory must exist, must be writable). No output schemas are documented, LLMs cannot predict response structure. Error handling is absent from descriptions. Tool descriptions are verbose but lack actionable guidance on when to call each tool vs. alternatives.
Return the heating and hot-water consumption report from messdienst24.de. messdienst24.de is a German utility-consumption portal. This tool retrieves the full structured consumption data for your residential property. The report covers the most recently published month (returned as year/month at the top level) and also includes a history of several previous months so that trends can be analysed. The response includes: year, month: The current reporting period (e.g. year=2025, month=4 for April 2025). object_info: Property address and object number assigned by the service provider. heating: Heating consumption data (see below). hot_water: Hot-water consumption data (same structure as heating). Each meter section (heating / hot_water) contains: your_kwh: Your consumption for the current reporting month in kWh equivalent. average_kwh: Average consumption
Return the month and year of the most recently published consumption report. messdienst24.de is a German utility-consumption portal that provides the legally mandated monthly heating and hot-water consumption report (Verbrauchsinformation) for residential properties. The portal publishes one report per calendar month (always a previous month, never the current one). This tool returns which month that currently published report covers. Call this tool when you only need to know the current reporting month without fetching the full report. The full report (get_consumption_report), the PDF resource (md24de://latest-report/pdf), and the save_pdf tool all include this information as well.
Save the latest consumption report PDF to a local directory.
No output schemas documented. LLMs cannot predict response structure or plan downstream operations. get_consumption_report returns a complex nested object (year, month, object_info, heating, hot_water with sub-fields) but this is only visible in the description text, not in a machine-readable schema.
Input parameters lack descriptions and validation constraints. save_pdf accepts 'directory' but does not specify: must be absolute or relative path? must exist? must be writable? Constraints should be in parameter descriptions per pattern:constrained-input.
No error handling guidance. Descriptions do not explain failure modes (e.g., authentication failure, network timeout, invalid directory) or recovery steps. Per pattern:recovery-guide, errors should tell the LLM what to do next.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | <=2025-11-25 | v2 |
Tool descriptions are verbose (250+ chars) but lack actionable selection guidance. No clear explanation of when to call get_last_available_month vs. get_consumption_report (both return month/year, but one is lightweight). Descriptions should answer: 'When should the LLM call this instead of a similar tool?'
save_pdf description is vague ('Save the latest consumption report PDF to a local directory'). Does not specify: what is returned on success? (file path? file size? success boolean?) What happens if directory does not exist? Can it create the directory? Is the filename fixed or configurable?