ScryMaster Docs

MCP quickstart — author with an AI agent

ScryMaster has a full authoring API and a bundled MCP connector with complete Studio parity: an AI assistant can create, edit, validate, simulate, and publish an adventure end-to-end — no browser. This is the ten-step path. The deep reference (every endpoint, every tool, error codes) is the API & MCP reference.

The contract, in one line: get_vocabulary → get_adventure → edit → save_adventure(baseHash) → validate_adventure → simulate_adventure → dry_publish → publish_adventure. Follow it every time — it’s what keeps AI-authored stories valid, non-clobbering, and safe to publish.

The ten steps

  1. Create an account at scrymaster.com (free).
  2. Generate a token. In the Studio, open any story → ⚙ Settings → Integrations → API tokens → create one. It starts with scry_; treat it like a password and revoke it any time.
  3. Configure the MCP. Point your assistant’s MCP config at the bundled server mcp/scrymaster.mjs with SCRYMASTER_TOKEN = your token and SCRYMASTER_API_URL = https://scrymaster.com. No MCP client? Every tool below maps 1:1 to a REST call in the API reference.
  4. Ground on the vocabulary. Call get_vocabulary (GET /api/v1/actions) first, always. The engine is default-deny — a verb that isn’t listed is rejected. Never author from memory.
  5. Create the adventure. create_adventure with a full document grounded in that vocabulary → you get a draft id.
  6. Read before you write. get_adventure returns the doc and a draftHash. Hold onto it.
  7. Save safely. save_adventure with that hash as baseHash. If the draft changed under you (another tab, another tool), you get a 409 — re-read, re-apply your edit to the fresh doc, save again. Never retry a save blindly.
  8. Validate. validate_adventure — schema, reachability, and the closed-verb check. Fix anything it flags.
  9. Simulate. simulate_adventure auto-plays the story to confirm it can be finished and the difficulty reads right (completion rate, death rate, never-reached beats).
  10. Dry-publish, then publish. dry_publish returns the full verdict with no write (validation, IP denylist, compatibility, would-be version, any content-loss report). When it’s green — and the human is ready — publish_adventure. Publishing never breaks a player’s in-progress save: runs pin the version they started on.

What you get for free

  • No clobbering — the baseHash/409 contract means two editors (you and a human, or two tools) can never silently overwrite each other.
  • Real gates — the same validation, denylist, and data-loss checks the Studio enforces run on your publish; you can’t ship something a human couldn’t.
  • Labeled authorship — every write you make is recorded in the story’s provenance ledger as an MCP edit, visible to the owner in the publish center’s “Recent activity.” The human always knows what the AI changed.
  • Official content is protecteddelete_adventure refuses the platform tutorial (403).

Deep reference: API & MCP reference →