One schema for family research.

GeneaRoute is a source-preserving router. It returns normalized people and explicit provider-level failures, so agents can reason without hiding uncertainty.

HTTP API

List provider capabilities with GET /api/v1/providers, then search with POST /api/v1/search.

curl -X POST https://your-host/api/v1/search \
  -H "Authorization: Bearer $GENEAROUTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"Samuel Clemens","providers":["wikitree"],"limit":5}'

MCP server

The included stdio server gives compatible agents list_providers and search_people tools.

{
  "mcpServers": {
    "genearoute": {
      "command": "npm",
      "args": ["run", "mcp"],
      "env": { "GENEAROUTE_BASE_URL": "https://your-host" }
    }
  }
}

Provider matrix

WikiTreelivePublic collaborative world tree with a documented read API.
FamilySearchapproval requiredThe largest shared family tree. Production access requires app approval.
GeniconnectableA connected world family tree with a capable OAuth API.
Gramps WebconnectableA private, open-source genealogy database with a full REST API.
GEDCOMlocalPortable local family-tree files that remain under the user's control.

Data principles

  • Preserve source attribution and provider identifiers.
  • Never publish living-person data by default.
  • Keep claims separate until evidence supports a merge.
  • Respect provider licenses, access controls, and rate limits.
  • Let users export their private research.