MCP server for Lab-Analysis — automated analysis pipeline for chronic pancreatitis laboratory data, literature search, imaging analysis, and comprehensive report generation
Lab-Analysis MCP server has 5 tools with basic schemas and descriptions, but significant gaps in naming clarity, parameter documentation, and error handling. Tool names lack clear action verbs (audit_dspy_models, run_quant_eval are acceptable; patient_query and analyze_trend are vague). Most parameter descriptions are minimal (10-30 chars), below the 72-char baseline. No output schemas documented. No error handling guidance visible. No tool annotations (readOnlyHint/destructiveHint). Descriptions range 50-150 chars, within acceptable bounds, but parameter-level documentation is sparse. No evidence of idempotency, pagination, or recovery patterns.
Analyze temporal trends in patient laboratory metrics across multiple timestamps
Audit and validate DSPy model compilations, checking for stale compiled artifacts and verifying source code consistency
Query patient analysis results, literature findings, and imaging reports
Recompile a specific DSPy module with updated training data or configuration
Run quantitative evaluation of DSPy model performance against test datasets
patient_query naming is ambiguous, does not start with action verb. 'query' is vague; should be 'get_patient_analysis', 'search_patient_results', or 'retrieve_patient_report' to clarify intent.
Parameter descriptions are minimal (10-30 chars). Baseline is 72 chars. E.g., 'Patient identifier' lacks context on format, length, or constraints. Should state: 'Patient identifier (alphanumeric, 1-20 chars, e.g. P12345)'.
No output schemas documented. LLMs cannot infer what fields to expect from responses. Must document return type for each tool (e.g., 'Returns: {status: string, results: array, timestamp: string}').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). recompile_dspy_module is marked WRITE but lacks destructiveHint annotation. Agents need explicit signal that this tool modifies state.
No error handling guidance. Tools lack recovery hints (e.g., 'If patient not found, try search_patients() first'). No categorization of errors as retryable vs. fatal.