MCP Server providing SNOMED CT terminology services via Snowstorm FHIR API. Exposes FHIR operations as MCP tools for CodeSystem lookup/validation, ValueSet expansion/validation, and ConceptMap translation.
This server provides a well-structured SNOMED CT terminology API with clear naming conventions and comprehensive input schemas. All four tools use consistent naming patterns (verb_noun structure with 'codesystem_' and 'valueset_' prefixes), have detailed descriptions (100-150 chars), and complete input schemas with proper type definitions and constraints. However, the server lacks output schema documentation, error handling guidance, and does not document what fields are returned by each tool. Tool descriptions could better explain WHEN to use each tool and what the response contains. The implementation shows production-quality schema definition practices but falls short of gold-standard because output structures are not documented for the LLM to understand what data it will receive.
Look up a SNOMED CT concept by code to retrieve its display name, properties, and designations
Validate that a code exists in SNOMED CT and retrieve its display name
Expand a SNOMED CT ValueSet using ECL, ISA, or refset expressions to retrieve matching concepts
Check if a code is a member of a ValueSet
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract specific fields without knowing response structure.
No error handling guidance. Tools return raw API responses without recovery suggestions. An LLM receives 'code not found' with no hint to try valueset_expand or a broader search.
valueset_expand lacks required parameter 'url' documentation clarity, schema shows it is required but description does not explain that it can accept ECL expressions inline or canonical URLs. This ambiguity could cause LLM confusion about format.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 59 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 48 | - | v1 |
No output documentation for pagination: valueset_expand accepts offset/count but tool description does not state what the total count is or whether a next_cursor is provided.
Tool descriptions do not explain relationships or disambiguation. An LLM cannot easily determine whether to call codesystem_lookup or valueset_expand for a given query without explicit guidance on use-case separation.