Warhammer 40K and Kill Team rules, stats, and game flow MCP server — 10th and 11th Edition, Combat Patrol, Kill Team
Warhammer Oracle has 14 tools with consistent naming (verb_noun pattern: lookup_, search_, compare_, determine_, calculate_) and reasonable descriptions (100-200 chars typical). All tools are read-only, lowering error-handling complexity. However, schemas are inferred from smoke-test references rather than directly visible in source, and parameter descriptions lack domain-specific constraints (e.g., game_mode enum values are mentioned but not formally defined). Output schemas are undocumented. The wound_calculator tool is notably complex with 10 parameters but lacks guidance on parameter interdependencies and expected output structure. No tool descriptions include WHEN to use vs. alternatives, and no error recovery guidance is present.
Compare multiple Warhammer 40K or Kill Team units side-by-side, including profiles, weapons, and stats
Determine the primary mission for a Warhammer 40K 11th Edition matched play game based on force dispositions
Get an overview of the Warhammer 40K game flow and turn structure
Look up a Warhammer 40K 11th Edition Crusade honour (Battle Trait, Relic, Battle Scar, or Boon) by name
Look up a Warhammer 40K detachment by name with optional faction filter
Look up a Warhammer 40K enhancement (relic/power/blessing) by name with optional faction filter
Look up the definition and game mechanics of a Warhammer 40K keyword ability
Output schemas completely undocumented. No tool specifies what fields are returned, making it impossible for LLMs to plan downstream composition or extract specific data. All 14 tools lack documented return types.
Parameter enums and constraints are mentioned informally in descriptions (e.g., 'game_mode: wh40k_10e, wh40k_11e, combat_patrol, or kill_team') but not formally declared in JSON Schema. LLMs cannot machine-read these constraints and may hallucinate invalid values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2026-07-28+ | v2 |
Look up the rules and sequence for a Warhammer 40K game phase
Look up a Kill Team ploy by name with optional faction filter
Look up a Warhammer 40K stratagem by name with optional faction filter
Look up a Warhammer 40K or Kill Team unit by name with optional faction and game mode filters
Search for Warhammer 40K stratagems by keyword with optional phase and faction filters
Search for Warhammer 40K or Kill Team units by keyword with optional faction and game mode filters
Calculate wounds, hits, and damage output for a Warhammer 40K attack sequence
wound_calculator has 10 parameters with complex interdependencies (e.g., strength vs. toughness, armour_save vs. invulnerable_save, weapon_keywords affecting damage rolls) but parameter descriptions do not document which parameters interact or are mutually exclusive. No guidance on expected output format or calculation algorithm.
No tool descriptions include 'WHEN to use this tool' or clarify distinctions between similar tools. For example, lookup_unit vs. search_units is not explained. An LLM cannot decide which to call without trial-and-error.
All tools are read-only but none declare this via tool annotations (readOnlyHint). Missing semantic hints that the MCP spec (2026-07-28) recommends for agent planning and safety.
No error handling guidance. All descriptions assume success. If a lookup fails (e.g., unit 'Tyranid Warrior' not found in game_mode 'wh40k_11e'), there is no documented recovery path. LLMs need hints like 'Try search_units() with a partial name' on failure.
Tools referencing game modes (lookup_unit, search_units, compare_units) do not specify whether invalid game_mode values are fatal or silently ignored. Behavior is undocumented.