Skip to main content
Glama

Zovo Genogram

Make genogram

make_genogram
Read-onlyIdempotent

Use this when the user wants a genogram or family diagram with standard symbols drawn from people and their relationships, for example "draw a genogram of my family" or "make a three-generation genogram for my social work class". Takes people (id, name, sex, birth and death years, deceased, index person; no label or notes), relations (couple: married, divorced, separated, cohabiting, engaged; parent_child: biological, adopted, foster; twins: identical, fraternal; emotional: close, distant, conflict, cut_off, hostile), an optional household, a title and a page size. Returns counts, each person's generation number, a geometry check (overlapping symbols or names, family lines through a name), the legend of symbols used, an interactive chart, and PDF, SVG, people CSV and relationships CSV downloads. An emotional relationship is drawn as a line only between two people next to each other in the same row; all others, including any between a parent and a child, are listed in a "Relationships not drawn" table and are not in the legend. Refuses unknown ids, parent cycles, more than 2 biological parents and impossible years, naming the problem. Up to 150 people, 12 generations and 100 emotional relationships. Relationships only: does not take health or medical details. Download links of large charts expire after about 1 hour.

Input Schema

NameRequiredDescriptionDefault
titleNoTitle printed on the chart and used in file names, up to 80 characters, e.g. "Kowalski family".
peopleYesThe people, up to 150. Example: [{"id":"p1","name":"Jan","sex":"M","birth_year":1950},{"id":"p2","name":"Ewa","sex":"F","birth_year":1952},{"id":"p3","name":"Ola","sex":"F","birth_year":1980,"index":true}].
householdNoIds of the people who live together; drawn with a dashed outline, e.g. ["p2","p3"].
page_sizeNoPDF page: letter (default), a4, tabloid, a3 or a2. One page when the whole chart fits with text of at least 6 pt; else the chart prints in overlapping parts at full size.
relationsNoThe relationships, up to 600 (at most 150 couples and 100 emotional). Example: [{"type":"couple","a":"p1","b":"p2","kind":"married","start_year":1975},{"type":"parent_child","a":"p1","b":"p3"},{"type":"parent_child","a":"p2","b":"p3"}].

Output Schema

NameRequiredDescriptionDefault
pdfYes
shownNo
titleYes
checksYes
countsYes
legendYes
peopleYes
warningsYes
downloadsYes
generation_ruleYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent annotations, it discloses the validation rules (unknown ids, parent cycles, >2 biological parents, impossible years) and that errors name the problem, hard limits (150 people, 12 generations, 100 emotional relationships), the drawing rule that emotional lines only appear between adjacent same-row people, the resulting "Relationships not drawn" table, and that large-chart download links expire after about an hour.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Usage guidance and examples are front-loaded, and every sentence carries operational information. The single dense paragraph with long parenthetical enumerations makes it harder to scan than it needs to be, and the return-value sentence partly duplicates the output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with five parameters, nested relation objects, and hard caps, the description covers inputs, refusals, limits, rendering caveats and output artifacts. An output schema exists, yet the description's brief return summary costs little and leaves nothing an agent needs unresolved.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3; the description adds value by enumerating the full vocabulary for relations and kinds and by stating "no label or notes" on people, which is not visible in the schema (additionalProperties is open). It stops short of explaining interaction between fields such as household membership or start/end year semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific trigger condition ("when the user wants a genogram or family diagram with standard symbols") plus two concrete example requests, and immediately states what the tool produces. An agent can tell this renders a chart rather than merely validating one, which is the plausible confusion with the sibling check_genogram.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use phrasing and example utterances, and adds a real exclusion ("Relationships only: does not take health or medical details"). It does not name the sibling check_genogram or state when to prefer it, so the alternative-selection guidance is incomplete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources