MCP server for generating pedigree tree diagrams as PNG images using Bennett 2008 NSGC standard
Two well-defined tools with comprehensive parameter schemas and detailed descriptions. Tool naming follows verb_noun convention. Schemas use Zod with proper type constraints and descriptions. However, output schemas are not explicitly documented, error handling is minimal, and composition is limited to two tools. The server demonstrates above-average schema rigor but lacks recovery guidance and formal output documentation.
Generates a pedigree tree (Bennett 2008 standard) in PNG or SVG format. IMPORTANT: Use mother/father for ALL individuals with known parents - siblings share same parents. Only use top_level:true for founders with NO known parents.
Returns comprehensive documentation for the pedigree data format. ALWAYS call this first before generating a pedigree to understand the required data structure, properties, and examples.
Output schemas not documented. Both tools return results but callers have no formal documentation of response structure. get_pedigree_documentation returns a text string; generate_pedigree returns base64 PNG or XML SVG, but the response format (object keys, metadata fields, error structure) is never specified.
No error handling or recovery guidance. Neither tool documents error cases, retryability, or what the LLM should do if generation fails. generate_pedigree might fail on invalid data, rendering timeouts, or file write errors, none are handled or explained.
Parameter interdependencies not formalized in schema. The description states 'conditions is ONLY way to get colored fills' and 'Gene tests alone do NOT color symbols', but these constraints are not expressed in the schema itself (no conditionals, no custom validators returned in tool definitions). LLMs must parse prose constraints from descriptions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 75 | 2026-07-28+ | v2 |
| 2026-04-07 | F | 19 | - | v1 |
Limited composition. Only two tools; no tool chaining support. After getting documentation, the agent calls generate_pedigree with a static dataset, there's no tool to search, validate, or enrich pedigree data from external sources. The server is read-only and non-interactive.
Descriptions include instructional prose that belongs in parameter validation or enums. E.g., 'ONLY use top_level:true for founders with NO known parents' should be enforced as a schema constraint (conditionals: if top_level=true then mother/father must be absent). Relying on LLM instruction-following is fragile.