Zovo Family Tree
Server Details
Genealogy charts and posters
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
The two tools target clearly different actions: computing a kinship term between two named people versus rendering a full family tree chart. Each description explicitly scopes out what the other covers (relationship does not chart, tree does not compute kinship), leaving no realistic chance of misselection.
Both names follow a clean verb_noun snake_case pattern (find_relationship, generate_family_tree) with unambiguous, domain-specific nouns. No stylistic mixing whatsoever.
With only two tools, the surface is thin even for a narrow genealogy utility; there is no validation, import, or editing operation to round it out. Each tool does earn its place, but the set sits at the borderline of feeling under-scoped.
Core outputs are covered (charts in multiple formats plus GEDCOM 5.5.1 export), but there is a notable asymmetry: the server can export GEDCOM yet explicitly cannot import it, and there is no way to inspect, validate, or amend an existing tree. Agents needing round-trip or data-hygiene workflows will hit a dead end.
Available Tools
2 toolsfind_relationshipFind relationship between two relativesARead-onlyIdempotentInspect
Use this when the user asks how two people in their family are related (for example second cousin once removed, great-aunt, half-brother, mother-in-law, stepsister) and gives the family links. Pass the same people list as for the family tree and the two people. Computes the exact English kinship term both ways, the closest common ancestors and the generations to them. Does not guess missing links or research genealogy records; DNA matches and percentages are not covered.
| Name | Required | Description | Default |
|---|---|---|---|
| people | Yes | Everyone in the tree (1-200 people), each with an id, a name and links to parents/spouses by id. | |
| person_a | Yes | Id or name of the first person (the one asking), e.g. p7. | |
| person_b | Yes | Id or name of the relative to describe, e.g. p3. |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | Yes | |
| reverse | Yes | |
| person_a | Yes | |
| person_b | Yes | |
| warnings | Yes | |
| explanation | Yes | |
| relationship | Yes | |
| common_ancestors | Yes | |
| generations_from_a | Yes | |
| generations_from_b | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds genuinely new behavioral facts: results are computed in both directions, include closest common ancestors and generation counts, and missing links are never inferred. It doesn't need to explain return values because an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the trigger condition, followed by the required input and then the output/limits. No sentence is redundant; the examples earn their space by pinning down the term space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations, a full output schema and 100%-covered parameters, the description only needs to supply intent and scope, which it does. The one residual gap is that it never names generate_family_tree as the alternative for callers who want a diagram instead of a named relationship.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all three parameters in detail, and the description's framing ('Pass the same people list as for the family tree and the two people') restates rather than extends it. The role hints (person_a = the one asking, person_b = the relative to describe) duplicate existing schema descriptions. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Computes the exact English kinship term both ways, the closest common ancestors and the generations to them') anchored to a named resource: kinship between two people. The examples (second cousin once removed, great-aunt, half-brother, mother-in-law, stepsister) make the scope unambiguous and clearly separate it from the sibling generate_family_tree, which draws a tree rather than naming a relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It opens with an explicit trigger ('Use this when the user asks how two people in their family are related ... and gives the family links') and adds concrete exclusions ('Does not guess missing links or research genealogy records; DNA matches and percentages are not covered'). However, the sibling tool generate_family_tree is never named as the alternative, so routing to it is only implied by 'same people list as for the family tree'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_family_treeGenerate family tree chartARead-onlyIdempotentInspect
Use this when the user wants a family tree, genealogy chart, pedigree chart, descendant chart, hourglass chart, fan chart or a printable family tree poster or template from relatives they describe. Convert the description into people (id, name, born, died, sex, parents, spouses) and call once. Lays out generations, couples, remarriages, half-siblings, adoption and twins without overlaps; returns a zoomable chart, PDF posters (Letter, A4, A2, 18x24, 24x36 in), SVG and a GEDCOM 5.5.1 file. Does not research ancestors, find records, or import GEDCOM files; do not invent relatives or dates. Not for organisation charts or flowcharts.
| Name | Required | Description | Default |
|---|---|---|---|
| root | No | Id or name of the person the chart starts from (top of a descendants chart, centre of ancestors/fan/hourglass). Example: p1. | |
| chart | No | family = everyone, generations aligned (default); descendants = from one person or couple down; ancestors = pedigree chart from one person back; hourglass = one person's ancestors above and descendants below; fan = half-circle ancestor fan chart. Example: descendants. | |
| paper | No | PDF size for the main download link: letter, a4, a2, 18x24 or 24x36 (inches). Default: the smallest size where names print at 8 pt or larger. Example: 18x24. | |
| title | No | Poster title, e.g. The Kowalski Family. Default: The <surname> Family. | |
| people | Yes | Everyone in the tree (1-200 people), each with an id, a name and links to parents/spouses by id. | |
| generations | No | How many generations to draw, counting the root: ancestors/fan 2-6 (default 4 and 5), hourglass ancestors 2-5 (default 3), descendants/family up to 12. Example: 4. |
Output Schema
| Name | Required | Description |
|---|---|---|
| root | Yes | |
| chart | Yes | |
| Yes | ||
| title | Yes | |
| compact | Yes | |
| subtitle | Yes | |
| warnings | Yes | |
| downloads | Yes | |
| not_shown | Yes | |
| duplicates | Yes | |
| generations | Yes | |
| box_overlaps | Yes | |
| people_shown | Yes | |
| people_total | Yes | |
| download_note | Yes | |
| recommended_paper | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish that this is read-only, idempotent, non-destructive, and closed-world. The description adds valuable behavioral context beyond the annotations: it lays out generations and complex family structures without overlaps, returns a zoomable chart, PDF posters, SVG, and GEDCOM, and instructs calling once rather than inventing relatives or dates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded: the first sentence establishes the chart-generation intent with useful synonyms, then moves to input modeling, outputs, and exclusions. Every sentence contributes either discoverability, usage routing, or behavioral transparency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a complex six-parameter tool with nested `people` data, annotations, and an output schema, the description is complete enough for correct invocation. It covers when to use it, how to shape the input, what it returns, and what it must not do; only sibling routing to `find_relationship` is not explicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters thoroughly. The description adds useful modeling guidance by telling the agent to convert the user's description into `people` entries with id, name, born, died, sex, parents, and spouses, and to make a single call, which goes beyond the structured field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: generating a family tree or genealogy chart from described relatives. It clearly distinguishes this from research, GEDCOM import, and organization/flowchart tools, but it does not explicitly name the sibling `find_relationship` as an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear trigger: use when the user wants a family tree, pedigree, descendant, hourglass, fan chart, or printable poster/template. It also gives exclusions such as not researching ancestors, importing GEDCOM, inventing relatives, or making organization charts, though it stops short of naming `find_relationship` as the alternative for relationship questions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
find_relationship - First observed
generate_family_tree
Related MCP Connectors
Human Lineage MCP server — search and query the public genealogical graph of all humanity
There's more to your family tree than names and dates.
Moon phases & star map posters
Astrology charts and classical techniques: natal, transits, horary, primary directions
Related MCP Servers
- AlicenseAqualityCmaintenanceGenerates family pedigree tree diagrams as PNG or SVG images using standard genetic notation compliant with Bennett 2008/2022 NSGC guidelines. Supports comprehensive genealogical features including conditions, genetic testing results, twin relationships, carrier status, and adoption indicators.218 npm10MIT
- AlicenseNot gradedqualityBmaintenanceEnables agents to build and manage family trees, derive how people are related, and export diagrams or GEDCOM/HTML files through structured tools.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to create, edit, and query genealogical data from GEDCOM files. Supports complex genealogy searches, automatic data enrichment from web sources, relationship analysis, and biography generation for individuals and families.17MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to query genealogy data from GEDCOM files with 24 tools for search, navigation, relationship analysis, and timeline events.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.