Model Context Protocol (MCP) server for HED (Hierarchical Event Descriptor) validation. Provides tools for validating HED strings, TSV files, and sidecar files through a standardized MCP interface.
The server provides 4 tools for HED validation with reasonable naming and explicit schemas. However, there are significant gaps in parameter descriptions, missing output schema documentation, and no evidence of error handling guidance. Tool names follow verb_noun conventions (validate*, get*) which is good, but parameter documentation is inconsistent and sparse. The server operates on READ_ONLY resources but lacks proper error recovery guidance and actionable error messages. Descriptions are adequate but brief (10-70 chars on average), falling below the 50-200 char ideal for LLM optimization.
Retrieves a file from the local file system given a path.
Validates a HED sidecar file using the specified HED schema version
Validates a string of HED tags using the specified HED schema version and definitions
Validates a TSV file with HED annotations using the specified HED schema version
getFileFromPath lacks meaningful description (only 54 chars) and is vague about scope, risk, and usage intent. Does not explain when/why to call it, prerequisites, or security implications of file access.
Parameter descriptions are minimal or missing detail. E.g., 'hedVersion' in validateHedString just says 'The HED schema version to use' but does not specify format constraints (is '8.4.0' the only format? What about 'lang_1.1.0, score_2.1.0'?). Agents cannot reliably infer valid values.
No output schema documented for any tool. Tool descriptions state WHAT they do but do not specify the response structure (e.g., does validateHedString return {isValid: boolean, errors: []} or something else?). LLMs cannot plan downstream calls without knowing response fields.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 17 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 57 | 2024-11-05+ | v1 |
No error handling guidance. Tool descriptions do not specify what errors are possible, what they mean, or how agents should recover. E.g., if validateHedString receives an invalid hedVersion, what error is returned? How should the agent respond?
getFileFromPath exposes path traversal risk without documented constraints. Parameter description does not specify allowed paths, whether symlinks are resolved, or directory traversal prevention. This is a security concern for agent-driven file access.
'definitions' parameter in validateHedString and validateHedTsv lacks clear format specification. Is each string a JSON object? A key=value pair? A DSL? LLMs will guess incorrectly without explicit format guidance.