MCP server for age prediction from gene expression patterns using vLLM. Predicts biological age of cell donors based on gene expression sentences and supports in silico knockout experiments.
Three tools with complete schemas and descriptions, but descriptions are generic and lack LLM-optimized guidance. All tools have proper input schemas with typed parameters and descriptions. However, descriptions lack actionable context (when to use, prerequisites, what happens). Output schema (AgePredictionResult) is documented but only for predict_age; other tools' outputs are inferred. No error handling guidance, no recovery paths. Tool naming is clear (verb_noun pattern) but generic. Parameters are well-typed but lack constraints (enums, ranges). No tool annotations (readOnlyHint present in metadata but not in schema). Missing pagination, batch operations, and composition guidance.
Perform an insilico knockout experiment by removing a specific gene from the gene expression sentence and comparing age predictions. Provide the gene symbol to knock out and the gene expression sentence. Returns original age, knockout age, delta, and a warning if the gene was not found.
Predict the age of a cell donor from a gene expression sentence. The gene expression sentence should be a space-separated list of aging-related gene names ordered by descending expression level.
Predict the age of a cell donor from a gene expression sentence with additional metadata. Provide the gene expression sentence, sex, tissue, cell type, and other relevant metadata.
Descriptions lack LLM-optimized guidance. Missing WHEN to use each tool, prerequisites, and expected outcomes. E.g., predict_age description does not explain when to use it vs predict_age_with_metadata, or what 'gene expression sentence' means to a non-biologist LLM.
Output schemas undocumented for predict_age_with_metadata and insilico_knockout. Only predict_age explicitly returns AgePredictionResult. LLM cannot plan downstream operations without knowing what fields are returned.
No error handling guidance. Tools do not document failure modes (e.g., invalid gene symbol, vLLM service unavailable, malformed gene_sentence). LLM has no recovery path.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | <=2025-11-25 | v2 |
Parameters lack constraints. sex, tissue, cell_type accept free-form strings; should be enums (e.g., sex: ['male', 'female'], tissue: ['blood', 'brain', 'liver']). smoking_status is integer but lacks range (0-1 implied, not explicit).
Tool annotations missing from schema. Risk metadata (READ_ONLY) is in the evaluation metadata but not in the tool schema as readOnlyHint. Schema should include tool annotations for LLM safety reasoning.