Show HN: I built an open-source MCP server that parses game save files

Veraticus 11 points 5 comments March 22, 2026
github.com · View on Hacker News

Discussion Highlights (3 comments)

Veraticus

Savecraft is an open-source MCP server that parses game save files and serves structured game state to AI assistants. Point it at your save directory and your LLM can help you with gear, stats, skills, quest progress, everything. Upload a build note and get detailed and specific advice about how to optimize your game. I built this because I got tired of screenshotting my inventory every time I wanted to compare two items in Diablo 2: Resurrected (and am too garbage at the game myself to make the distinction). A local Go daemon watches save directories with fsnotify, parses files through sandboxed WASM plugins, and pushes structured state to Cloudflare Workers over binary protobuf WebSocket. Every plugin binary is Ed25519 signed: community contributors submit source, CI builds and signs the WASM with a key they never touch. Your machine verifies before execution. This was the only trust model I'd accept for running other people's code on my gaming rig. Server side is Cloudflare Workers + Durable Objects with WebSocket Hibernation, D1 with FTS5 for full-text search across saves and notes, and reference data modules (like a D2R drop calculator) running as separate WASM Workers via Workers for Platforms dispatch namespaces. Currently supports Diablo II: Resurrected, Clair Obscur: Expedition 33 (what I'm playing currently!), Stardew Valley (theoretically), and WoW (Battle.net API + Raider.io). Linux and Windows are solid, Mac is kind of undertested. Apache 2.0, solo project. The marketing site is https://savecraft.gg

xeger

Neat application of WASM! Did the lack of WA component support cause you any issues? Curious to see how you handled streaming of save data for games with unwieldy files. Off to the source code I go!

arty_prof

What about parsing steam saves? Steamworks SDK provides an api to query file names and then you can read them. Actually i have a js lib which can do that part, but steam should be running under particular steam user for whom saves are parsing.

Semantic search powered by Rivestack pgvector
3,471 stories · 32,344 chunks indexed