A modern, open-source, browser-first McGoldrick-style genogram editor for therapists, social workers, educators, and students.
Family diagrams should not require fighting a general-purpose drawing tool or manually aligning every relationship.
OpenGenogram provides a focused editor for structured family diagrams while keeping the open-source edition local and inspectable.
| Common approach | With OpenGenogram |
|---|---|
| General drawing or slide tools | Purpose-built people, family, and emotional relationship elements |
| Desktop-only software | Browser-based interface that can be deployed as a static site |
| Cloud-first editors | Projects stay in the current browser's IndexedDB |
| Manual transcription and layout | Optional MCP tools generate, validate, and lay out importable projects |
- McGoldrick-style notation: People, households, family boundaries, notes, family secrets, and relationship lines.
- Family and emotional relationships: Partner, child, sibling, twin, adoption or foster, and emotional relationship geometry.
- Practical editing: Undo and redo, multi-select, drag, resize, label controls, and view controls.
- Local multi-project workspace: Create, rename, delete, and reopen projects stored in the current browser.
- Portable project files: Import and export versioned JSON files with validation.
- Watermark-free PNG export: Export the open-source canvas as a PNG without a watermark.
- Local MCP server: Generate and validate genogram projects through compatible AI clients.
- Static and self-contained: No authentication, payment, analytics, cloud project storage, or backend API is included.
The optional local MCP server lets Codex, Claude Desktop, Cursor, and other MCP-compatible clients create an automatically laid-out project from structured case information.
- Remove identifying or unnecessary sensitive information from the case notes.
- Ask an MCP-enabled AI client to call
generate_genogram. - Save the returned project with its suggested JSON filename.
- Import the JSON file from the OpenGenogram dashboard.
Example prompt:
Use
generate_genogramto create a genogram for Alex and Jordan, who are married, and their child Sam. Alex was born in 1988, Jordan in 1990, and Sam in 2016. Return an importable OpenGenogram project.
The MCP server itself does not call a model or make network requests. Your chosen AI client or model provider may still process the text you submit. Review the privacy boundary before using sensitive information.
Use an active LTS Node.js release: 20.19+, 22.13+, or 24+.
git clone https://github.com/vsandre/OpenGenogram.git
cd OpenGenogram
npm install
npm run devOpen http://localhost:3000.
Build the MCP executable:
npm run mcp:buildAdd it to Codex, replacing the example with the absolute path to your clone:
codex mcp add OpenGenogram -- node /absolute/path/to/OpenGenogram/dist/genogram-mcp.mjsClaude Desktop, Cursor, and other stdio MCP clients can use an equivalent configuration:
{
"mcpServers": {
"OpenGenogram": {
"command": "node",
"args": ["/absolute/path/to/OpenGenogram/dist/genogram-mcp.mjs"]
}
}
}The server exposes three tools:
generate_genogramconverts people, families, and relationships into a validated, automatically laid-out project.validate_genogramchecks an existing project against the current schema.get_genogram_notationlists the accepted gender and relationship values.
Run npm run test:mcp to verify the bundled server over a real stdio connection.
npm run test:genogram
npm run test:mcp
npm run lint
npm run buildnpm run build writes the deployable static site to out/.
Run npm run build, then upload the contents of out/ to the root of any static host. The open-source app does not require environment variables or backend services.
If you want to run OpenGenogram under a subdirectory uncomment and change basepath und assetPrefix in next.config.ts.
In this standalone open-source edition, genogram data stays in the current browser unless the user explicitly downloads a JSON or PNG file. No patient identifiers, names, or diagrams are sent to a project backend.
Project capacity depends on available browser storage. Clearing browser data can remove every local project, so download a JSON backup when the work matters.
The local MCP server does not make network requests. Information in prompts may still be processed by the AI client or model provider you choose. Check that provider's terms before submitting sensitive family or health information.
Local-first architecture alone does not establish HIPAA or other regulatory compliance. Organizations remain responsible for evaluating their own policies, devices, workflows, and service providers.
Contributions from developers and genogram practitioners are welcome.
- Missing a symbol or relationship type? Open an issue with a reference and use case.
- Found a bug or have an improvement? Submit a focused pull request.
OpenGenogram is available under the MIT License. This product is derived from Genogram Canvas version 1.0.0. See THIRD_PARTY_LICENSES.md for dependency notices.