A collection of MCP servers: DICOM Specialist (RAG agent for DICOM standard documentation) and UKSH Mensa (access to UKSH mensa meal plans)
This server has 8 tools across two domains (DICOM and mensa). Tool definitions are registered via @mcp.tool decorators with docstrings, but have significant quality gaps. All tools have descriptions and basic parameter typing, but parameter descriptions are minimal or absent. Output schemas are not formally documented. Error handling is not visible in the code, no recovery guidance, categorization, or actionable error messages. The tools follow basic verb_noun naming convention, but descriptions are inconsistent in depth. Parameters mostly lack detailed constraint documentation (formats, ranges, valid values). Composition is sound (each tool does one thing), but chaining IDs and references are not clearly documented in outputs.
Get the UKSH mensa food plan for the specified date. Use tool "todays_date" first if you need todays date. To get other dates, use "offset_date" with todays date and the number of days to offset. e.g. if today is Monday, 2025/05/05, offset todays date by 4 days to get this Friday's date.
Returns the names of all CIOD, modules or attributes
Find details for a Dicom attribute in a given CIOD domain
Returns the name for a given SOP ID
Search for the SOP UID by a given name
Offset the specified date by X days and / or weeks.
Retrieve knowledge about the dicom standard by searching for a query.
Output schemas not formally documented. Tools return `list[str]`, `list[dict]`, `TimeResult`, or `str`, but no structured schema documentation for LLM reasoning about downstream usage. LLMs cannot reliably extract fields or plan chaining.
Parameter descriptions are minimal or missing. 'query' (search_dicom_standard), 'sop_uid' (lookup_sop_name), 'date' (offset_date, get_mensa_plan) lack context on format, valid values, or constraints. LLMs cannot infer what input format is expected.
No error handling or recovery guidance visible. Code lacks try/catch blocks with actionable error messages. If a DICOM search fails or mensa PDF URL is not found, the LLM receives no direction on retry strategy or fallback.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 49 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Return the current date, time and weekday
Incomplete docstring for 'filter_by' parameter in list_names. Description suggests use of 'common' keyword but does not define what other values are valid or what they do. Ambiguous for LLM input.
timezone parameter in todays_date lacks format specification. Should document expected format (e.g. 'IANA timezone name like America/New_York') and what happens if None vs omitted.
get_mensa_plan returns incomplete data. Function definition is cut off in source code (response handling not visible). Cannot assess full output schema or error paths.
No pagination support visible. list_names returns results with a truncation ([:250]) but no limit parameter, next_cursor, or total count for LLM planning.