MCP tools for structured worldbuilding and book-writing system — manage entities, validate consistency, explore timelines/geography/families, and generate writing prompts
WorldBuilder MCP has 20 tools with consistent naming (wb_* prefix) and descriptions present for all. However, schemas are incomplete: most tools lack explicit enum constraints for string parameters (entity_type, format, query_type), and output schemas are entirely undocumented. Parameter descriptions are present but generic (e.g., 'Entity type' without listing valid values). Error handling is absent, no recovery guidance or actionable error messages visible. Tool composition is reasonable (single responsibility per tool), but parameter relationships (e.g., entity_type determines valid entity_slug values) are undocumented. Descriptions average ~120 chars, below the 194-char baseline for A+ tools.
Add a new entity (character, location, faction, etc.) to a project.
Compile a project into a single markdown or HTML document for export/sharing.
Deep consistency check: validate family trees, location hierarchies, faction memberships, and cross-references.
Export a single entity as JSON or YAML for external use.
Explore family relationships and lineages for a character or lineage.
Explore the geography of a world: locations, regions, routes, and spatial relationships.
Get full details of a specific entity.
No output schemas documented. Tools return unstructured results (e.g., wb_timeline, wb_geography, wb_graph_query). LLMs cannot plan downstream calls or extract required fields without guessing.
String parameters lack enum constraints. 'entity_type' accepts 11 values but is defined as free-form string. 'format' in wb_compile and wb_export_entity should be enums (md|html, json|yaml). LLMs will hallucinate invalid values.
No error handling or recovery guidance. Tools lack actionable error messages (e.g., 'Project not found. Available projects: [list]'). Agents cannot self-correct on failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
Query the entity graph: find neighbors, shortest paths, isolated nodes, or connected components.
Import an entity from JSON or YAML data.
Initialize a new WorldBuilder project with directory structure and templates.
List all entities of a given type in a project.
List all WorldBuilder projects in the workspace. Returns a list of all projects with their title, genre, and type. Use this to discover available projects before other operations.
Get a full overview of a WorldBuilder project: config, entity counts, style, world flags. Use this to understand a project's scope and current state before working with it.
Explore all relationships for a character: family, faction, location, and interpersonal connections.
Search for entities by name, slug, or content across a project.
Get statistics about a project: entity counts, completion status, and world flags.
Get a chronological timeline of all events in a project, optionally filtered by era or entity.
Update an entity's metadata and body content.
Validate a project for consistency issues: dangling references, asymmetric relationships, business rule violations.
Generate a writing prompt based on a project's entities, timeline, and world state.
Parameter relationships undocumented. wb_graph_query requires 'entity' for neighbors/path but 'target' only for path. wb_update_entity accepts 'updates' (object) but valid keys are not listed. Agents must guess valid combinations.
Destructive operations (wb_init_project, wb_add_entity, wb_update_entity, wb_import_entity) lack confirmation or dry-run support. Agents can accidentally overwrite or delete data without safeguards.