MCP server for clinical software development workflows. Exposes tools to generate FHIR resources, lookup medical abbreviations, and generate IEC 62304 software verification checklists.
This server has three well-defined clinical tools with clear names, explicit JSON schemas, and detailed descriptions. However, it has significant gaps in error handling, lacks output schema documentation, provides no guidance for recovery when tools fail, and omits several Agentic Tool Patterns like idempotency hints, parameter validation rules, and multi-step composition support. The tools are domain-appropriate and naming is clear (verb_noun format), but production-grade servers document expected failures and guide agents toward recovery.
Generates a sample FHIR R4 resource in JSON format. FHIR (Fast Healthcare Interoperability Resources) is the international standard for exchanging clinical data between healthcare systems. Each resource type represents a specific clinical concept.
Generates an IEC 62304 software verification checklist tailored to the safety classification and function type of medical device software.
Resolves common clinical abbreviations and acronyms, providing definitions and clinical context.
No documented output schemas. Tools return strings or dicts, but LLM cannot know the structure of returned data (field names, types, nested objects). This forces LLMs to parse free-text or guess structure, increasing hallucination risk.
No error handling or recovery guidance. If fhir_resource_generator receives an invalid resource_type (typo: 'patietn' instead of 'Patient'), or if medical_abbreviation_lookup fails to find an abbreviation, the tools do not return actionable error messages. Agents cannot self-correct.
medical_abbreviation_lookup accepts free-form string input with no constraints or pattern hints. LLMs may pass lowercase or non-existent abbreviations. Description states '(case-sensitive)' but provides no enum of valid abbreviations, making it a discovery tool that requires trial-and-error. Consider providing a list_abbreviations discovery tool or stricter validation.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 66 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 38 | - | v1 |
fhir_resource_generator and iec62304_checklist provide boolean flags (include_narrative, include_rationale) with no guidance on when to set them true vs false. Descriptions lack context about token cost, use-case fit, or downstream implications. LLMs will guess.
No tool annotations (readOnlyHint, idempotentHint, destructiveHint). All three tools are read-only generators, but LLMs cannot infer this. Adding tool annotations (readOnlyHint: true) would signal safety and enable optimizations like caching or parallelization.