MCP App Store
by KeenEthics
Praetorium icon

Praetorium

By Richard Solomou

Get New App Alerts

Overview

Praetorium is a free, open source Warhammer 40,000 army builder, combat simulator and battle tracker. Ask Claude about any faction's units, points, detachments, enhancements, stratagems and missions, and get answers with links to the matching Praetorium page. Compare two units with Praetorium's combat simulator to see expected casualties and the odds of destroying the target. Sign in with your Praetorium account to read your saved rosters and battles, build or edit a roster, create a battle, or record a battle action. Praetorium returns names, numbers, points and calculated results, not rules text: when an answer depends on a rule's wording, it links to the published source instead. Reference lookups and the simulator work without an account; roster and battle tools ask you to sign in, with read and change access granted separately. Praetorium is unofficial and not affiliated with or endorsed by Games Workshop.

Tools

create_battle

Claude
Creates a battle with named player seats, using the same rules as the site. Requires mcp:write.

get_my_battle

Claude
Returns the current seated view of a battle for the signed-in player. Requires mcp:read.

get_my_roster

Claude
Returns the saved choices for one roster owned by the signed-in player. Requires mcp:read.

get_reference

Claude
Reads the complete bounded document returned by search_reference, with its revisions and attribution. A section that withholds rules text lists textSources: the pinned upstream file and record id to fetch if you need the wording.

get_reference_record

Claude
Returns the structured record behind a search result, including mission cards, deployments, terrain geometry, detachments, and datasheets. Records that withhold rules text carry textSources pointing at the pinned upstream file and record id.

list_factions

Claude
Lists the factions that can be used to narrow reference searches.

list_my_battles

Claude
Lists up to 25 battles with a cursor for the next page. Requires mcp:read.

list_my_rosters

Claude
Lists the rosters saved to the signed-in Praetorium account. Requires mcp:read.

list_reference

Claude
Discovers available factions, mission packs, rule documents, reference kinds, and active source revisions.

list_units

Claude
Returns every pickable unit in one bounded response with unit-size costs, composition, attachment relationships, roster limits, roles, keywords, and links. Include a detachment, including one a chapter takes from its codex, to list only the units it allows and receive its rules, enhancements, upgrades, and stratagems by name, cost, and timing without opening every unit page. Their rules text is at each record’s textSources.

save_roster

Claude
Saves a complete roster. Pass its id to edit an owned roster; omit id to create one. limit is the battle size (1000, 2000 or 3000 points, or 600 for King of the Colosseum), which sets detachment points, enhancement and unit limits. pointsBudget optionally replaces only its points total (500 to 10000, not King of the Colosseum); omit it to keep a saved budget, or send null for the standard total. Requires mcp:write.

search_reference

Claude
Searches Praetorium’s missions, rules, detachments, and datasheets by name, number, keyword, and value. Returns bounded excerpts with canonical URLs, source revisions, and attribution. Rules text is not included; records point to it upstream.

set_roster_visibility

Claude
Changes the visibility of an owned roster. Requires mcp:write.

simulate_combat

Claude
Runs Praetorium's exact combat simulator for one attacking unit, with any attached leaders, against one defending unit at full strength: shooting, melee, and shooting followed by melee. Returns expected models destroyed, expected wounds lost, the chance to destroy the unit, cumulative odds, weapons used, the rule and weapon-mode choices each side can change, datasheet citations, and a simulator link. Passive datasheet rules apply by default; stratagems and conditional rules stay off until chosen. Rules the simulator cannot calculate are never approximated: a phase it cannot estimate has status refused with its reasons, and recognised rules it leaves out are listed under notCalculated, so explain those gaps rather than retrying. Errors are reserved for unknown factions or units, illegal unit sizes or attachments, and unavailable reference data. Like the standalone simulator page, it uses default loadouts and no detachment; unit sizes and attachments must be legal.

submit_battle_action

Claude
Appends a legal battle command only when expectedSeq matches the current log. Requires mcp:write.

Similar Apps