Savecraft
Savecraft serves real save game data and reference tools for AI assistants.
Ask AI about Savecraft
Powered by Claude ยท Grounded in docs
I know everything about Savecraft. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Savecraft
Real game data for your AI assistant, on every supported game.
Savecraft gives Claude, ChatGPT, and Gemini real game data via MCP on every supported game (Magic, Path of Exile, Factorio, RimWorld, Stellaris, Diablo II, and more): rules, items, builds, economy. For save-file games, it also parses your saves into structured data so your AI sees your actual characters, gear, and run progress.
Quick Start
1. Connect your AI
ChatGPT: install the Savecraft app โ one click from the OpenAI app directory.
Claude: sign in at my.savecraft.gg to get your MCP connector URL, then add it to Claude's connector settings.
Your AI immediately gets expert modules for every supported game: rules, items, builds, economy data.
2. (Optional) Install the daemon
For save-integration games (Diablo II, RimWorld, Factorio, Stellaris, Stardew Valley, etc.), install the daemon to let your AI read your live save state: characters, gear, decks, farms.
Linux / Steam Deck:
curl -sSL https://install.savecraft.gg | bash
Windows / Mac: download from install.savecraft.gg
The daemon auto-detects supported games and starts syncing. Ask your AI about your character, your build, or your last run -- it already has the data.
How It Works
โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Gaming Device โ HTTPS โ Cloudflare โ
โ โ โโโโโโโ> โ โ
โ savecraftd โ push โ Push API โโ> R2 Storage โ
โ - fs watcher โ โ โ
โ - WASM plugin โ <โโโโโโ> โ SourceHub DO (WebSocket) โ
โ runtime (wazero) โ WS โ โ
โโโโโโโโโโโโโโโโโโโโโโโ โ MCP Server โโ> AI Tools โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโ โ
โ Claude / ChatGPT / โ <โโโโ MCP โโโโโโโโโโโ
โ Gemini โ
โโโโโโโโโโโโโโโโโโโโโโโ
- Daemon watches your save files. Detects changes via fsnotify with debounce + hash dedup.
- WASM plugins parse saves into structured JSON. Sandboxed via wazero - plugins can't touch your filesystem or network. Ed25519 signed.
- AI reads your state through MCP tools. Section-level granularity - the AI fetches only what it needs to answer your question.
MCP Tools
| Tool | Description |
|---|---|
list_games | All games with saves, note titles, and reference modules with parameter schemas |
get_save | Summary, overview, sections, and notes for a save |
get_section | Section data from D1 |
refresh_save | Request fresh data (daemon-backed or API-backed) |
search_saves | Full-text search across all saves and notes |
get_note | Full content of a user-attached note |
create_note / update_note / delete_note | Manage notes via AI conversation |
query_reference | Execute reference data computations (drop rates, build math) |
Supported Games
Plugins are sandboxed WASM binaries that parse save files. They read raw bytes on stdin, emit structured JSON on stdout, and cannot access your filesystem or network. Each plugin is Ed25519 signed and verified before loading. Plugins can optionally ship a reference.wasm for server-side computation: drop calculators, gift databases, crop planners - deployed via Workers for Platforms.
| Game | Format | Reference Modules | Status | Author |
|---|---|---|---|---|
| Clair Obscur: Expedition 33 | Save file (WASM) | โ | Beta | @joshsymonds |
| Diablo II: Resurrected | .d2s / .d2i binary | Drop Calculator | Beta | @joshsymonds |
| Factorio | Factorio Mod Portal + WASM | Recipe Lookup, Ratio Calculator, Oil Balancer, Tech Tree, Blueprint Analyzer, Evolution Tracker, Power Calculator, Production Flow | Alpha | @joshsymonds |
| Magic: The Gathering Arena | Player.log | Card Search, Rules Search, Draft Advisor, Play Advisor, Card Stats, Deckbuilding, Collection Diff, Match Stats, Sideboard Analysis, Mana Base | Beta | @joshsymonds |
| Path of Exile | pobb.in / pastebin URL | Build Planner (headless Path of Building), Gem Search, Passive Tree Search, Unique Search, Mod Search, Economy Prices | Beta | @joshsymonds |
| RimWorld | Steam Workshop mod | Surgery Calculator, Crop Optimizer, Combat Calculator, Material Lookup, Drug Analyzer, Raid Estimator, Gene Builder, Research Navigator | Beta | @joshsymonds |
| Stardew Valley | XML save directory | Gift Preferences, Crop Planner | Beta | @joshsymonds |
| Stellaris | Steam Workshop + .sav (Clausewitz/Rust) | Tech Search, Tech Path, Building Search, Component Search, Tradition Search, Trait Search, Civic Search, Edict Search, Job Search | Alpha | @joshsymonds |
| World of Warcraft | Battle.net API | โ | Beta | @joshsymonds |
See docs/games.md for detailed descriptions of each game's sections and reference modules.
Planned save-file parsers: Victoria 3 (Clausewitz/Rust), CK3/HOI4 (Clausewitz), Baldur's Gate 3 (.lsv), Elden Ring (.sl2), Civilization VI, Bethesda games (.ess)
Planned API adapters (no daemon required): Path of Exile 2 (GGG API), FFXIV
Planned mod integrations: Minecraft, Terraria (mod-as-device: mod pushes directly, no daemon)
Want to add a game? See the plugin development guide.
Project Structure
savecraft.gg/
โโโ cmd/savecraftd/ # Daemon entrypoint
โโโ internal/
โ โโโ daemon/ # Orchestrator, domain types, interfaces
โ โโโ runner/ # WASM plugin execution (wazero)
โ โโโ watcher/ # Filesystem watcher (fsnotify + debounce)
โ โโโ wsconn/ # WebSocket client (reconnecting)
โ โโโ pluginmgr/ # Plugin download, verification, caching
โ โโโ selfupdate/ # Daemon self-update mechanism
โ โโโ signing/ # Ed25519 plugin signature verification
โโโ worker/ # Cloudflare Worker + Durable Object (TypeScript)
โโโ reference/ # Reference Worker - WASI shim for server-side plugin computation (WfP)
โโโ web/ # SvelteKit frontend
โโโ plugins/ # WASM plugin sources (parser + optional reference per game)
โโโ proto/ # Protobuf protocol definitions
โโโ install/ # Platform installers + systemd units
โโโ assets/ # Brand assets
โโโ docs/ # Architecture docs
Development
Requires nix devenv + direnv. direnv allow activates the environment on cd.
just --list # Show all targets
just test # Run all tests (Go + Worker)
just check # Lint, generate, test everything
just proto # Regenerate Go + TypeScript from protobuf
just dev-worker # Start Worker dev server (Miniflare)
See docs/overview.md for the system architecture, or browse docs/ for component-specific documentation.
Tech Stack
| Component | Technology |
|---|---|
| Daemon | Go, wazero (WASM runtime), fsnotify, nhooyr.io/websocket |
| Cloud | Cloudflare Workers, Durable Objects, R2, D1 (SQLite/FTS5) |
| Auth | Clerk (OAuth, JWT, magic links) |
| Frontend | SvelteKit, TypeScript |
| Plugins | Go or Rust compiled to WASI Preview 1, ndjson stdout contract |
| Protocol | Protobuf (buf codegen to Go + TypeScript) |
| Build | just, nix devenv + direnv |
Security
- WASM sandboxed: Plugins cannot access filesystem, network, or environment. stdin in, JSON out.
- Ed25519 signed: Every plugin binary is cryptographically signed. Tampered = refused.
- Read-only daemon: Cannot modify your saves. Kernel-enforced on Linux via systemd sandboxing.
- No filesystem exposure: AI sees structured JSON, never your local paths or files.
- Private R2: No public bucket access. The Worker mediates all reads/writes, scoped to the authenticated user.
License
savecraft.gg - by @joshsymonds ยท Privacy Policy
