One misnamed MCP operation can stop the whole game server at startup
Only MCP lists tools from Operation Catalog; the admin REST routes call their operations directly through Operation Runner. Yet the catalog checks every operation when the server starts (snake_case name, unique name, destructive implies write) and throws on a failure, so one bad name aborts startup for matches and the admin panel too. 20 of the board's 33 elements depend on it, only 2 directly.
Impact: A typo in any operation name, in any module, keeps the game server from booting, although the REST path never needed the catalog.
Recommendation (small effort): Keep the naming checks, but run them in a unit test over every Operations provider so a bad name fails in CI. At startup, log and skip an invalid operation rather than throwing, so MCP loses one tool instead of the server failing to boot.
- Operation Runner
- Operation Catalog
- MCP Tool Catalog
- MCP Controller
- Operation Runner
