mcpbeat Sign in

Praetorium MCP Server

by richardsolomou Your server? Claim it
answering

Praetorium is answering right now. Last checked 10 min ago. It exposes 15 tools. Last commit 9 Nov 2026.

Public Warhammer 40K rules, datasheets, points and missions; sign in to manage rosters and battles.

Uptime history 42 days of history · worst day 99%
42 days agonow
100.0%
Uptime 24h
91 of 91 checks
15
Tools
read from the server
200 ms
Response time
average over 24h
1
Stars
last commit 9 Nov 2026

What changed 84

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 29 September 2026. No other catalogue keeps this.

9 Nov a tool changed the parameters it asks for3 times that day submit_battle_action
4 Nov a tool changed the parameters it asks for simulate_combat
2 Nov a tool changed the parameters it asks for submit_battle_action
1 Nov a tool changed the parameters it asks for submit_battle_action
31 Oct 3 tools changed the parameters they ask for5 times that day create_battle, simulate_combat, submit_battle_action
30 Oct 3 tool descriptions were rewritten get_my_roster, list_units, simulate_combat
30 Oct 2 tools changed the parameters they ask for list_units, simulate_combat
29 Oct a tool changed the parameters it asks for submit_battle_action
27 Oct a tool changed the parameters it asks for create_battle
26 Oct 2 tools changed the parameters they ask for get_reference, get_reference_record
and 68 more, back to 29 September 2026

What the code does

We read the source, 20 h ago · tools taken from the live server · rules 995398eba69f

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

  return { id, directory: path.join(root, id) }
  const extension = /^[^\n]*\.(rosz?|regiztry)$/i.exec(input.trim())?.[1]

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 10 min ago.

run in your terminal
claude mcp add praetorium --transport http https://praetorium.gg/mcp
Settings → Connectors → Add custom connector, then paste this address
https://praetorium.gg/mcp
~/.codex/config.toml
[mcp_servers.praetorium]
url = "https://praetorium.gg/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "praetorium": {
      "url": "https://praetorium.gg/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "praetorium": {
      "type": "http",
      "url": "https://praetorium.gg/mcp"
    }
  }
}

Available tools 15

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

reference
get_reference
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
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_reference
Discovers available factions, mission packs, rule documents, reference kinds, and active source revisions.
search_reference
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.
battle
create_battle
Creates a battle with named player seats, using the same rules as the site. Requires mcp:write.
get_my_battle
Returns the current seated view of a battle for the signed-in player. Requires mcp:read.
roster
get_my_roster
Returns one roster owned by the signed-in player, by an id from list_my_rosters. summary names each unit with its points, models, wargear, enhancements, Warlord and attachments, and gives the total and any problems that stop the list being fielded; it is null while army data is unavailable. roster holds the saved choices by catalogue id, the shape save_roster takes. Requires mcp:read.
set_roster_visibility
Changes the visibility of an owned roster. Requires mcp:write.
battles
list_my_battles
Lists up to 25 battles with a cursor for the next page. Requires mcp:read.
factions
list_factions
Lists the factions that can be used to narrow reference searches.
rosters
list_my_rosters
Lists the rosters saved to the signed-in Praetorium account. Requires mcp:read.
save
save_roster
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.
simulate
simulate_combat
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. It uses default loadouts, and a side fields a detachment's rules and offers its stratagems only when its detachment is named; unit sizes and attachments must be legal.
submit
submit_battle_action
Appends a legal battle command only when expectedSeq matches the current log. Requires mcp:write.
units
list_units
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. A unit’s points is what its smallest size costs in this battle size and detachment, including any wargear or enhancement the detachment makes it take; costs is the Munitorum Field Manual table for every size. Legends and Crucible datasheets are left out unless nonMatchedPlay is true. A large faction such as a Space Marine chapter can exceed what an assistant reads at once, so pass query to list only the units whose name or keywords contain it.

Endpoints

URLTransportStateLatencyChecked
https://praetorium.gg/mcp streamable-http answering 450 ms 10 min ago

Alternatives to Praetorium

same job, measured the same way
VTC Spaces
by vtc

Search public VTC Spaces and people; sign in to query Space data and run AI actions and workflows.

15 tools answering
host0
by host0

Manage apps your agent published to host0: sharing, versions, analytics and shared data.

answering
Warhammer Oracle
by gregario

Warhammer 40K and Kill Team rules, stats, and game flow MCP server

1 475 installs/wk local only
Remember Me – Bible Verse Collections
by remem

Browse Bible verse collections to memorize, in 48 languages. Public and read-only, no sign-in.

3 tools answering
MapPoster
by mapposter

Design map posters of any place in 50+ styles, with names, dates and markers, and order prints.

3 tools answering
Sign Customiser
by signcustomiser

Read and manage Sign Customiser stores: customisers, options, pricing, products and orders.

answering
ZimQi
by com-zimqi

Manage multi-site crews, rosters, check-ins and timesheets in ZimQi from any MCP client.

answering
Permio
by perms-io

Check and manage RBAC permissions, roles, groups and grants in a Permio (perms.io) project.

answering

Praetorium — questions

Answers built from our own checks of this server.

What can Praetorium do?
It exposes 15 tools, read directly from the server on our last check. Among them: create_battle, get_my_battle, get_my_roster, get_reference, get_reference_record, list_factions and 9 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Praetorium mostly used for?
Its tools cluster around reference, battle and roster. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Praetorium working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 200 ms. The bar chart above shows every period we have measured.
How do I connect Praetorium?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Praetorium need an API key?
No. Praetorium completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 15 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Praetorium?
It answers our handshake in 200 ms on average, which is faster than 67% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Praetorium open source?
The code is open source: it is published under the AGPL-3.0 licence, written in TypeScript and 1 stars on GitHub. The licence covers the code in the repository, not the hosted service at praetorium.gg, which runs on its operator's own terms.