# chaoz23/srdcheck [Health: Active]

**Category:** 🎮 Gaming  
**Repository:** https://github.com/chaoz23/srdcheck  
**GitHub Stars:** 2  
**npm Downloads (last month):** 50751  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/chaoz23-srdcheck

## Description
Deterministic D&D 5e (SRD 5.2.1) rules verdicts for agents: cited legality checks for whole turns, legal-action enumeration, advantage math, and hash-stamped game-state lineage. Refuses what the rules don't decide (exit 2), quotes the rule text on every verdict, zero dependencies.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "srdcheck": {
    "command": "uvx",
    "args": ["git"]
  }
}
```

## Documentation

## What chaoz23/srdcheck MCP server does

The chaoz23/srdcheck MCP server provides a rules rail for agents adjudicating selected D&D 5e System Reference Document 5.2.1 mechanics. It evaluates named, bounded questions instead of attempting to decide whether an entire game situation is legal. Results identify the checked and unchecked scope, assumptions, facts used, and any derived facts. When a rule is applied, the result includes its SRD citation and quoted rule text.

The result status uses three exit meanings: `0` indicates that the proposal passes the checked scope, `1` indicates a conflict, and `2` means the question cannot be adjudicated. This boundary behavior is important for agent workflows: an unsupported question is not converted into a guessed ruling.

The current adapter focuses on combat-turn fundamentals. Supported areas described in the repository include action-economy checks, legal-action enumeration, advantage math, damage and healing reduction, death saves, saving throws, concentration checks, selected condition effects, and hash-stamped state lineage.

## How it works

The kernel is a stateless pure function. A caller supplies the relevant state and query, and the server returns a verdict; it does not roll dice, narrate outcomes, own the game state, or make an LLM call. The same input can therefore be evaluated locally and offline by multiple agents.

The chaoz23/srdcheck MCP server also separates SRD results from optional table rulings. A caller can provide a portable table-policy manifest together with request, encounter, session, or campaign identifiers. Matching decisions are retained as explicit table-authority lineage rather than being presented as SRD law.

For state changes, `event.apply` creates an idempotent transition proposal tied to the evaluated state. `transition.commit` rejects stale or out-of-order proposals and returns a repeatable semantic receipt on retry. The host or agent-DM remains responsible for the atomic write.

## Setup and configuration

The repository describes MCP and CLI entry points, along with `--pipe`, `--schema`, and a root-level `tool.json`. It also documents Python 3.10 through 3.13 support and installed-artifact smoke contracts for Ubuntu, Windows, and macOS. No installation command or required environment variable is provided in the supplied material, so deployment details must be taken from the project documentation.

The runtime is designed to work without network access and has zero dependencies according to the listing. Optional metadata-only lifecycle events can be sent to stderr or a caller-provided sink. These events exclude prompts, state, rulings, citations, and error messages, and the project states that it persists nothing.

## Tools and capabilities

- Check whether a proposed turn fits the modeled action economy.
- Enumerate remaining modeled budget option kinds.
- Evaluate advantage-related calculations.
- Resolve caller-rolled saving throws and concentration checks.
- Fold supported damage, healing, and death-save events into a reducer.
- Produce scoped, cited verdicts with provenance and explicit mutations.
- Propose and commit guarded state transitions.

## Limitations and notes

The chaoz23/srdcheck MCP server does not verify whether a character feature actually grants a proposed action. A turn can therefore pass the action-economy check while still failing an unmodeled feature prerequisite. It also does not determine a spell's bespoke effects, such as damage dice or a condition imposed by a particular spell.

Condition support is surface-specific: the adapter does not claim that every condition effect is consumed by every query. The server judges rather than simulates, so it does not roll dice or apply spell-specific outcomes. Its verdicts are valid only within the stated checked scope. The repository labels the release version 0.9.0 alpha, so integrations should account for an evolving contract.

_Full upstream README: https://allmcps.com/mcp/chaoz23-srdcheck/readme_

