# io.github.HumanLineage/wt

> Human Lineage MCP server — search and query the public genealogical graph of all humanity

- name: io.github.HumanLineage/wt
- version: 0.1.0
- connection class: unknown (unknown)
- trust: 86/100
- quality: 71/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.HumanLineage%2Fwt
- tools: https://api.protogrid.dev/v1/servers/io.github.HumanLineage%2Fwt/tools

**Not classified yet.** The remote endpoints have not been probed successfully, or the listing has nothing to connect to.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "wt": {
      "type": "http",
      "url": "https://humanlineage.org/api/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 98
- freshness: 65
- provenance: 80
- drivers: +repository +namespace-matches-repo +reachable +uptime-95% ~updated-107d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 71/100 (needs work)

### protocol: n/a (weight 25)

- n/a `protocol.modern`, `protocol.stateless`, `protocol.transport`, `protocol.list_ttl`: no remote answered a protocol handshake (not probed yet, unreachable, or local-only)

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 71 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_person (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); search_person (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_relatives (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 569 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history not recorded yet

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 6, about 569 tokens to load them all
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.HumanLineage/wt.svg)](https://protogrid.dev/servers/io.github.HumanLineage/wt)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://humanlineage.org/api/mcp (streamable-http, auth unknown, reachable true, uptime30d 0.94690263)

## Packages

_none_

## Tools (6)

- `get_family_image`: Returns a markdown image (![...](url)) of a visual family-tree card showing a person's parents, spouse and children. Use this — not get_relatives — whenever the user asks to see, show, view, or display a family tree, family diagram, or picture of the family. IMPORTANT: include the returned markdown image line verbatim in your reply so it renders for the user.
- `get_person`: Get full details for a person by their Human Lineage ID, including a link to their profile.
- `get_place`: Get details for a place by its Human Lineage ID, including its hierarchy and recorded person count.
- `get_relatives`: Get the immediate family (parents, children, spouses) of a person as TEXT, with profile URLs. Use get_family_image instead if the user wants to see a picture/visual/graphic of the family tree.
- `search_person`: Search the Human Lineage genealogical graph for a person by name. Returns matches with their profile URL.
- `search_place`: Search the Human Lineage genealogical graph for a place by name. Returns matches with their place URL.
