Platform & Integrations
Evagene is more than a pedigree editor. Its platform features let you integrate pedigree intelligence into your own workflows, connect AI agents, push data to external systems, and embed pedigree visualisations in third-party applications.
The platform at a glance
| Feature | What it does | Who it's for |
|---|---|---|
| API Keys | Programmatic access to the full Evagene API | Developers, integrators, DevOps |
| BYOK LLM | Use your own LLM API key for AI analysis | Power users, organisations with LLM accounts |
| Webhooks | Push notifications when data changes | Integration engineers, EHR/LIMS connectors |
| Analysis Templates | Reusable custom AI prompt templates | Genetic counsellors, researchers, clinical teams |
| MCP Server | AI agent access via the Model Context Protocol | AI developers, Claude Desktop users |
| Embeddable Viewer | Pedigree diagrams on third-party websites | Web developers, patient portals, dashboards |
How the features connect
The platform features are designed to reinforce each other. The typical setup path is:
- 1Start with API Keys — everything else depends on them. API keys provide the authentication layer for programmatic access, MCP servers, and embeddable viewers.
- 2Set up BYOK if you want to use your own LLM — this removes the per-user quota limit and lets you choose your provider and model.
- 3Create Analysis Templates once BYOK is configured — templates let you run custom AI analyses tailored to your clinical or research questions.
- 4Register Webhooks to push pedigree changes to external systems — EHR integration, lab notification, Slack alerts.
- 5Deploy the MCP Server to let AI agents work with pedigrees directly — Claude Desktop, Claude Code, or any MCP-compatible client.
- 6Embed the Viewer in patient portals, research dashboards, or any website that needs to display pedigree diagrams.
API Keys
API keys give you programmatic access to the Evagene API. Unlike session tokens (which expire after 30 minutes), API keys are long-lived and designed for machine-to-machine communication. Each key has configurable scopes and rate limits, giving you fine-grained control over what it can do.
Key format
All Evagene API keys follow the format evg_<43 characters>. The evg_ prefix makes keys easy to identify in logs and configuration. Generated from 32 bytes of cryptographically secure randomness (256 bits of entropy). Only a SHA-256 hash is stored on the server.
Scopes
| Scope | Allows | HTTP Methods |
|---|---|---|
| read | Fetch pedigrees, individuals, relationships, catalog data | GET |
| write | Create, update, and delete pedigrees, individuals, relationships | POST, PATCH, PUT, DELETE |
| analyse | Run AI interpretation, describe pedigree, risk analysis | /interpret, /describe, /risk |
write implies read. analyse implies read. Use the narrowest scope your integration needs.
Rate limits
Every key has two configurable rate limits: per-minute (default 60) and per-day (default 10,000). Tracked via sliding window. When exceeded, the API returns 429 Too Many Requests.
Quick start
curl -H "X-API-Key: evg_your_key_here" \
https://your-server/api/pedigrees
Maximum 20 keys per account. Keys can have optional expiry dates and can be revoked or deleted at any time. Full API keys documentation →
Bring Your Own LLM Key
Evagene's AI interpretation uses a language model to analyse pedigree data and generate clinical insights. By default, the server's own key is used with a rolling 24-hour quota (typically 10 calls per day). With BYOK, you supply your own API key for Anthropic (Claude) or OpenAI (GPT) and bypass the quota entirely.
Supported providers
| Provider | Default model | Key format |
|---|---|---|
| Anthropic | claude-sonnet-4-20250514 | sk-ant-... |
| OpenAI | gpt-4o | sk-... |
Encryption at rest
Your API key is encrypted before storage using Fernet (AES-128-CBC with HMAC-SHA256 authentication), keyed from the server's JWT secret. The key is never stored in plaintext and is decrypted only at the moment an LLM call is made, then discarded from memory.
Model override
The model override field lets you specify any model ID your provider supports. Use a larger model for complex pedigrees, a smaller one for quick analyses, or a reasoning model for the most challenging cases. Leave it blank to use the provider's default. Full BYOK documentation →
Webhooks
Webhooks send HMAC-SHA256 signed HTTP POST notifications to your endpoints when pedigree data changes. Use them to connect Evagene to EHR systems, LIMS platforms, Slack, or any service that accepts HTTP.
Event types
pedigree.createdpedigree.updatedpedigree.deletedindividual.createdindividual.updatedindividual.deletedanalysis.completedimport.completedPayload format
Each delivery includes three headers for verification and tracing:
X-Evagene-Event: pedigree.updated
X-Evagene-Signature-256: sha256=<hex-digest>
X-Evagene-Delivery: <unique-uuid>
The body is JSON containing the event type, pedigree ID, timestamp, and change details. Always verify the HMAC-SHA256 signature before processing. Maximum 20 webhooks per user, with delivery history for the last 20 attempts per webhook. Full webhooks documentation →
Analysis Templates
Analysis templates let you create reusable AI prompt templates for specific clinical or research questions. Instead of relying solely on the built-in five-section interpretation, you can design custom analyses focused on pharmacogenomics, reproductive risk, research hypotheses, or any other aspect of a pedigree.
Template variables
Placeholders are replaced with computed values at execution time:
| Variable | Replaced with |
|---|---|
| {{pedigree_description}} | Full structured English description of the pedigree |
| {{proband_name}} | Display name of the proband |
| {{proband_sex}} | Biological sex of the proband |
| {{disease_list}} | Comma-separated names of diseases in the working set |
| {{risk_summary}} | Risk screening results (if available) |
Example template
{
"name": "Cancer Screening Protocol",
"system_prompt": "You are an oncology genetic counsellor.",
"user_prompt_template": "Review this family pedigree:\n\n{{pedigree_description}}\n\nThe proband is {{proband_name}} ({{proband_sex}}).\nDiseases: {{disease_list}}\n\nProvide:\n1. Cancer risk summary per syndrome\n2. Recommended genetic testing panel\n3. Screening schedule with start ages\n4. Cascade testing priorities for relatives"
}
Templates can be shared publicly with other users. Maximum 50 per account. Execution uses your BYOK key or the server default (subject to quota). Full templates documentation →
MCP Server for AI Agents
The Model Context Protocol (MCP) is an open standard that lets AI agents interact with external tools and data sources. Evagene includes an MCP server that exposes 11 pedigree management tools — meaning any MCP-compatible AI agent can create pedigrees, add individuals, run analyses, and import/export data through natural conversation.
Available tools
| Tool | Description |
|---|---|
| list_pedigrees | List all pedigrees owned by the authenticated user |
| get_pedigree | Get full details (individuals, relationships, eggs) |
| create_pedigree | Create a new empty pedigree |
| add_individual | Add a person to a pedigree |
| update_individual | Update an individual's properties |
| add_relationship | Create a partnership between two individuals |
| add_offspring | Link a child to a relationship |
| describe_pedigree | Generate a structured English description |
| get_pedigree_summary | Compact summary (counts, proband, diseases) |
| export_gedcom | Export as GEDCOM 5.5.1 text |
| import_gedcom | Import GEDCOM content into a pedigree |
Claude Desktop configuration
{
"mcpServers": {
"evagene": {
"command": "python",
"args": ["-m", "evagene.mcp_server"],
"env": {
"EVAGENE_API_KEY": "evg_your_key_here",
"EVAGENE_DB_PATH": "/path/to/data/evagene.db"
}
}
}
}
Example conversation
You: "Create a new pedigree called 'Smith Family' and add a female proband named Jane, age 34, with her parents John and Mary."
Agent: Uses create_pedigree, then add_individual three times, then add_relationship for the parents, then add_offspring to link Jane.
Architecture
The MCP server operates as a separate process that connects directly to the same SQLite database as the Evagene web application. Changes made via MCP are immediately visible in the web UI (and vice versa). No additional network ports are needed — communication is via stdin/stdout. Full MCP server documentation →
Embeddable Pedigree Viewer
Display Evagene pedigree diagrams on any website — patient portals, research dashboards, EHR integrations, or internal tools. Pedigrees are rendered as standard SVG using recognised pedigree notation.
Three ways to embed
1. Full HTML page (iframe)
<iframe
src="https://your-server/api/embed/PEDIGREE_ID?api_key=evg_your_key"
style="border:none; width:100%; min-height:400px; border-radius:10px"
loading="lazy">
</iframe>
2. Raw SVG (img tag)
<img src="https://your-server/api/embed/PEDIGREE_ID/svg?api_key=evg_your_key"
alt="Family Pedigree"
style="max-width:100%">
3. JavaScript snippet (automatic)
<div data-evagene-pedigree="PEDIGREE_ID"
data-evagene-key="evg_your_key"></div>
<script src="https://your-server/api/embed/snippet.js"></script>
SVG symbol notation
| Symbol | Meaning |
|---|---|
| Square | Male |
| Circle | Female |
| Diamond | Unknown / intersex / other |
| Solid fill (indigo) | Affected |
| Centre dot (light purple) | Carrier / heterozygous |
| Diagonal line (red) | Deceased |
| Arrow (orange) | Proband |
Pedigrees can also be accessed without authentication if marked as public — suitable for educational examples, published case studies, or anonymised demonstrations. The SVG is responsive and scales to fit the container. Full embeddable viewer documentation →
Security considerations
- API keys are SHA-256 hashed before storage — the plaintext key exists only in your hands
- BYOK keys are encrypted at rest with Fernet (AES-128-CBC + HMAC-SHA256), keyed from the server's JWT secret
- Webhook secrets are unique per-webhook and used for HMAC-SHA256 payload signing — always verify signatures before processing
- Rate limits are enforced per API key with configurable per-minute and per-day sliding windows
- Scope restrictions ensure API keys can only perform the actions you authorise (read, write, analyse)
- Embed access requires either an API key or a pedigree explicitly marked as public
Frequently asked questions
How do I get started with the Evagene API?
Go to Account > API Keys in the Evagene dashboard, enter a name, and click Generate Key. Copy the key immediately — it's shown only once. Then use it via the X-API-Key header in any API request. Each key supports configurable scopes and rate limits.
Can I use Evagene with Claude Desktop or Claude Code?
Yes. Add the MCP server to your Claude Desktop configuration with your API key and database path. Once connected, you can create pedigrees, add individuals, describe family structures, import/export GEDCOM, and more through natural conversation. The same MCP server works with Claude Code and any MCP-compatible client.
Can Evagene integrate with EHR or LIMS systems?
Yes, via the REST API and webhooks. The API provides programmatic access to all pedigree data, and webhooks push real-time notifications when data changes. This enables integration patterns such as syncing pedigree updates to an EHR, triggering downstream workflows in a LIMS when analysis completes, or posting alerts to Slack. The embeddable viewer can also display pedigrees directly within an EHR's web interface.
Is the API secure?
Yes. API keys are SHA-256 hashed before storage. BYOK LLM keys are encrypted at rest with Fernet. Webhook payloads are HMAC-SHA256 signed. Rate limits prevent abuse. API keys support three fine-grained scopes so you can follow the principle of least privilege.
What are analysis templates?
Reusable custom AI prompt templates with variable injection. You define a system prompt (the AI's role) and a user prompt template with placeholders like {{pedigree_description}} and {{proband_name}}. At execution time, these are replaced with computed values from the target pedigree. Design analyses for pharmacogenomics, reproductive risk, cancer screening, or patient-friendly summaries.
Can I use my own AI model?
Yes. BYOK lets you supply your own Anthropic (Claude) or OpenAI (GPT) API key. Your key is encrypted at rest, bypasses the daily quota, and you can override the default model — for example, Claude Opus for maximum quality or GPT-4o-mini for speed.