Branchwright MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BRANCHWRIGHT_DB | No | Absolute path to the SQLite database file used to persist the campaign. If omitted, the server uses a default database location. | |
| BRANCHWRIGHT_TOKEN | No | Bearer token required for HTTP server authentication. Mandatory for Docker/remote deployments; must be at least 24 characters. | |
| BRANCHWRIGHT_ALLOWED_HOSTS | No | Comma-separated list of allowed hostnames when running a remote HTTP server. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| read_guideB | Read the operating skill, workflows, pack format, or live tool schemas. No save changes. |
| create_campaignA | Create an independent campaign from a bundled template or a supplied JSON world pack. Reuse the creation key on retries. |
| list_campaignsB | List campaigns in this owner database. |
| ingest_canonA | Store supplied story text with hashes and line citations. No file or URL access. Existing source IDs are immutable; new editions need new IDs. |
| search_canonA | Search local canon using FTS5/BM25, including CJK bigrams. Read hits before citing; a miss is not proof of absence. |
| read_canonB | Read an exact canon chunk and its hash/line citation. |
| create_branchB | Fork a current or historical snapshot. Copies point-in-time knowledge; never changes the source. Premise is an intention, not an accomplished event. |
| list_branchesB | List explicit branch IDs and origin revisions. There is no global active branch. |
| get_stateA | Read branch state and revision. player view hides GM facts; gm view includes the authoritative ledger. |
| get_knowledgeC | Read the last observed values known to one actor, player, or gm. NPC values do not follow secret world changes. |
| prepare_turnB | Prepare an exact player action against the current revision. Returns state, canon, GM context, policy and all pending checks. Does not advance the story. |
| roll_checkB | Persist a server d20 result with fixed purpose, difficulty and stakes. No rerolling a purpose. Returns the complete check set and context hash. |
| preview_worldB | Preview deterministic time-driven world events without changing the save or granting NPC knowledge. |
| commit_turnB | Atomically validate and commit the authorized scene. Preserve exact arguments/key on an unconfirmed retry. Only a committed receipt means success. |
| get_recoveryC | Read every pending check and look up an exact committed receipt by original key. No receipt at read time is not permission to replay with a new key. |
| read_historyA | Read complete committed events, newest first. Follow next_before_revision without changing branch. Origin history is separate and clamped to the fork point. |
| restore_checkpointA | Only when the player explicitly requests it: append a revision restoring a saved snapshot, including knowledge and world clocks. Never erase history. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| start-adventure | Start or resume a ChatQuest AI adventure |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| operating-skill | Core operating skill and confirmation boundaries |
| lantern | Original lantern world pack |
| signal | Original signal world pack |
| blackout | Original blackout world pack |
| ferry | Original ferry world pack |
TDQS
Scored across 17 tools
Each tool targets a clearly distinct phase or resource: canon ingestion/search/read, branch creation/listing, state/knowledge/history retrieval, and the turn lifecycle (prepare, roll, commit, recover). The descriptions explicitly separate potentially overlapping tools like prepare_turn, commit_turn, and get_recovery, so an agent can select correctly.
All 17 tool names use snake_case and follow a predictable verb_noun pattern (read_guide, prepare_turn, list_campaigns, create_branch, get_state, commit_turn, restore_checkpoint). There are no mixed conventions or vague standalone verbs.
The set has 17 tools, slightly above the typical 3–15 range, but the domain is a complex stateful RPG workflow with distinct campaign, canon, branch, turn, and recovery operations. Each tool appears to earn its place, though some consolidation might be possible.
The surface covers core lifecycle operations: campaign creation/listing, canon ingestion/search/read, branch creation/listing, turn preparation/rolling/commit, state/knowledge/history reads, world preview, and recovery. Minor gaps exist around explicit checkpoint creation, campaign/branch update or deletion, and actor management, but the main workflows are supported.