wikitree-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@wikitree-mcpshow ancestors of Albert Einstein"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
wikitree-mcp
MCP server exposing WikiTree's genealogy API via the Code Mode architecture. Public profiles only — no authentication required.
Note: GitHub is a read-only mirror. Development happens on GitLab.
Architecture
This server uses 2 meta-tools (search + execute) with 10 operations in a server-side registry. The LLM discovers operations via search and runs them via execute.
Tool | Description |
| Discover available operations and their parameters |
| Run a named operation against the WikiTree API |
Operations
Operation | Category | Description |
| read | Retrieve a person or free-space profile |
| read | Retrieve a person profile (person profiles only) |
| read | Fetch multiple profiles by keys or relationships |
| search | Search profiles by name, dates, location, gender |
| analysis | Get ancestor tree (parents, grandparents, etc.) |
| analysis | Get descendant tree (children, grandchildren, etc.) |
| read | Get parents, children, siblings, spouses |
| content | Retrieve biography text |
| content | Get photos linked to a profile |
| content | Retrieve associated categories |
Related MCP server: Gramps MCP
Configuration
Environment Variable | Required | Default | Description |
| No |
| Your application identifier for the WikiTree API |
| No |
| WikiTree API endpoint |
| No |
| HTTP request timeout in seconds |
| No |
| Max retry attempts for transient failures |
Setup: Claude Desktop
Add to your claude_desktop_config.json:
Using uv (local)
{
"mcpServers": {
"wikitree": {
"command": "uv",
"args": ["--directory", "/path/to/wikitree-mcp", "run", "wikitree-mcp"],
"env": {
"WIKITREE_APP_ID": "your-app-id"
}
}
}
}Using Docker
{
"mcpServers": {
"wikitree": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "WIKITREE_APP_ID=your-app-id", "wikitree-mcp"]
}
}
}Setup: Claude Code
Using uv (local)
claude mcp add wikitree -- uv --directory /path/to/wikitree-mcp run wikitree-mcpSet the environment variable:
export WIKITREE_APP_ID=your-app-idUsing Docker
claude mcp add wikitree -- docker run -i --rm -e WIKITREE_APP_ID=your-app-id wikitree-mcpDevelopment
make install # Install dependencies
make test # Run tests with coverage (mocked, no network)
make test-live # Run live tests against real WikiTree API
make ci # Full CI pipeline (lint + typecheck + test + audit)
make format # Auto-format code
make build # Build wheel
make run # Run with streamable-http on port 8000
make run-stdio # Run with stdio transportLicense
AGPL-3.0-only
Available Tools
2 toolsexecuteARead-only
Run a named operation against the WikiTree API. Use 'search' first to discover the exact operation name and its params schema, then call this with {operation: '...', params: {...}}.
| Name | Required | Description | Default |
|---|---|---|---|
| arguments | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description's 'Run' aligns with a safe read operation. No additional behavioral traits disclosed beyond the discovery process, which is useful but limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with action and purpose. No wasted words; every sentence contributes to clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the dynamic nature of operations and presence of an output schema, the description adequately prepares the agent by linking to the 'search' tool. Could mention what happens on failure or how to interpret output, but output schema likely covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema parameter descriptions are present but context signal indicates 0% coverage, so description compensates by showing the exact call pattern {operation: '...', params: {...}}. Adds practical guidance beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states tool runs a named operation against the WikiTree API. Verb 'Run' is specific, and resource is the API. Sibling 'search' is for discovering operations, distinguishing this tool as the execution step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use 'search' first to discover operation names and parameters before calling this tool. Provides a clear pattern but lacks explicit when-not-to-use or alternative scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchARead-onlyIdempotent
Discover available WikiTree operations and their parameters. Call with a top-level 'query' string (not inside params). Returns matching operations with parameter schemas. Always use this before calling 'execute' to find the correct operation name.
| Name | Required | Description | Default |
|---|---|---|---|
| arguments | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false) are consistent, and description adds that this is a meta-tool that returns schemas.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two succinct sentences, front-loaded with purpose, no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple search functionality and presence of output schema, the description is complete for an AI agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already provides descriptions for both parameters (100% coverage). Description adds marginal value by clarifying argument nesting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool discovers WikiTree operations, returns matching operations with parameter schemas, and distinguishes from sibling 'execute'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use this before 'execute' to find the correct operation name, providing clear when-to-use and alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v3.0.1- First observed
execute - First observed
search
TDQS
Scored across 2 tools
The tools 'search' and 'execute' have clearly distinct purposes: one discovers operations and schemas, the other executes them. No overlap.
Both tools use simple, consistent verb-only names ('search', 'execute') that clearly reflect their actions.
With only 2 tools, the surface seems thin, but the design intentionally uses a meta-pattern where 'search' discovers API operations. This can be appropriate for a large dynamic API, though it may feel sparse.
The discover-execute pattern covers the basic interaction with the WikiTree API, but it lacks direct CRUD tools and relies entirely on dynamic discovery, which may leave gaps in common workflows.
Maintenance
Related MCP Connectors
Search and fetch Wikidata entities, execute SPARQL queries, and resolve external identifiers.
Query and audit AppSheet apps in natural language via Knotrik's pre-scanned definitions.
Wikipedia, Wikidata and Wiktionary as clean JSON, not HTML. 1.9M searchable. Free, no auth.
Ask data questions in natural language. Get SQL, insights, and charts from your databases.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to create, edit, and query genealogical data from GEDCOM files. Supports complex genealogy searches, automatic data enrichment from web sources, relationship analysis, and biography generation for individuals and families.15MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Gramps genealogy databases for intelligent family tree research and management. Provides comprehensive tools for searching family data, creating records, analyzing relationships, and tracking genealogy research through natural language.42AGPL 3.0
- AlicenseBqualityCmaintenanceIntegrates with the WikiTree API to provide tools for exploring genealogical data, including ancestor and descendant information. It enables users to retrieve biographies and family relationships through any application supporting the Model Context Protocol.51Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables natural language queries about family tree data from a Gramps genealogy database.6GPL 2.0