Connects your AI to real game data across Magic, Path of Exile, Factorio, RimWorld, Stellaris, Diablo II, and more. Reference modules answer rules, items, builds, and economy questions instantly. Account games like Path of Exile use OAuth to read your live characters. Save file games run a local daemon with WASM plugins that parse your saves into structured JSON without uploading files. Exposes MCP tools for listing games, fetching save sections, searching across saves, managing notes, and querying reference data like drop calculators and build math. The daemon watches your save directory, parses changes through sandboxed plugins, and pushes state to Cloudflare. Useful when you want Claude to read your actual RimWorld colony layout or calculate Path of Exile build DPS from your real gear.
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, the moment you add a game. Add a game and Savecraft connects it the right way for that game -- you never pick the plumbing. Account games (Path of Exile, World of Warcraft) connect through the game's own read-only sign-in. Save-file games are parsed by a local daemon on the machine you play on, so your AI sees your actual characters, gear, and run progress.
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.
2. Add a game
At my.savecraft.gg you add a game; Savecraft connects it the way that game works. There is one verb -- add a game -- and no install to start.
Reference is instant. Every supported game answers rules, items, builds, and economy questions the moment it's added: no account, no install, no saves.
Account games (Path of Exile -- a GGG-approved connection -- and World of Warcraft) sign in through the game's own provider, read-only. Your AI reads your live characters with nothing installed.
Save-file games (Diablo II, RimWorld, Stellaris, Stardew Valley, and more) are read by the Savecraft daemon on the machine you play on. The save files never leave your device -- only parsed state is sent. Install it where you play:
Linux / Steam Deck:
curl -sSL https://install.savecraft.gg | bash
Windows / Mac: download from install.savecraft.gg
It auto-detects supported games and starts syncing. Then ask your AI about your character, your build, or your last run -- it already has the data.
Moddable games (Factorio) push state from a Savecraft mod instead; adding the game points you to it.
Reference data is served straight from the cloud, and account games reach it through the game's server-side OAuth -- neither needs anything on your machine. The diagram below is the save-file path: how a local game's saves become structured data your AI can read.
┌─────────────────────┐ ┌───────────────────────────┐
│ 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 │
└─────────────────────┘
| 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) |
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 | GGG account (approved app) or 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.
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
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.
| 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 |
savecraft.gg - by @joshsymonds · Privacy Policy
miapre/html-to-figma-design-system
ie3jp/illustrator-mcp-server
coding-solo/godot-mcp
ivanmurzak/unity-mcp
yctimlin/mcp_excalidraw
figma/mcp-server-guide