A friend of mine plays a lot of Arena and kept asking ChatGPT for advice, and as many of you know, it worked badly! It would confidently recommend things that didn't exist or had rotated out of Standard months ago. I thought it was a cool problem to tackle, so I built ten MCP reference modules that give Claude and ChatGPT access to real MTG data: 17Lands draft stats across all 31 color archetypes, Frank Karsten's hypergeometric mana base math, Scryfall's full card database, and the MTG Comprehensive Rules with semantic search.
The rabbit hole I fell deepest into was the draft advisor. It's an 8-axis WASPAS scoring engine — baseline win rate (Bayesian-shrunk so sparse archetypes don't produce noise), N-wise card synergy, curve fit, castability via Karsten's tables, signal openness, role composition, color commitment, and opportunity cost. Empirical winning-deck data only works for card-intrinsic axes; state-dependent axes like signal and opportunity cost need theoretical sigmoid parameters or survivorship bias destroys the differentiation.
Try it! The MCP works out of the box with MTG rules, cards, stats, and mana base. If you connect the lightweight Savecraft daemon to your Arena install, it'll watch your `Player.log` and context will automatically flow to the LLM on your specific decks and matches, enabling the draft advisor and play advisor modules (and other cool stuff).
I'm Josh! I built Savecraft (https://savecraft.gg | https://github.com/joshsymonds/savecraft.gg). It's an open-source MCP server that parses game save files and gives Claude/ChatGPT access to reference modules that do real computation -- an 8-axis WASPAS draft evaluator for MTG Arena using 17Lands data, drop rate calculators with magic find scaling for Diablo II, crop planning for RimWorld, and more.
The blog post is about why I threw away all my wireframes and built the whole thing as a conversation. You see, dashboards are collections of pre-answered questions, and the interesting questions are always the ones the designer didn't anticipate.
The longer version involves getting banned from every gaming subreddit on the internet for mentioning AI, a Reddit moderator accusing me of "interpersonal relationship theft," (!) and a RimWorld veteran telling me my tool was "incredibly useful," lamenting their aging Google skills, and downvoting me to zero. It's been a ride, HN...
Oh this is really interesting! I hadn't explored Steam Cloud as a data source. Currently the daemon watches local save directories and parses through WASM, but if Steamworks exposes an API to pull save files remotely, that could work as a server-side adapter (same pattern I use for WoW via Battle.net API). That would eliminate the daemon entirely for Steam games, which is by far the biggest friction point in the install flow right now.
I'd love to see your JS lib if you're willing to share it! The raw files would still need per-game parsers (D2R's .d2s is a gnarly bit-packed binary, for example), but moving file access to the server side would be a big deal for adoption.
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
We use Talos really extensively in production. It’s been an amazing solution for our Kubernetes clusters. Highly recommended for a really smart, really directed Linux distro.
I can and did say that. The world is easier for non-deaf people. I can’t imagine even many deaf people would argue against that statement.
The correct way to argue against this isn’t to say that “objectively” the world is the same for deaf and non-deaf people; it’s that there’s a culture and language bound up in deafness that don’t deserve to die thanks to medical advances. That is true, and makes treatments like these and what they mean to the deaf community much more complicated and difficult.
“Objectively,” left-handed versus right-handed changes nothing about a person’s capabilities in the world, whereas being deaf does.
Cultural norms is an interesting comparison. Despite there being no actual difference in capacity, cultural views forced many left-handed people to be right-handed, making those people miserable in the process for no good reason.
Being free of violent extremism completely is impossible. Someone will always choose violent extremism as their method of political action. Considering their demands based on real, articulable, resolvable concerns validates their methods and encourages their activities.
If they want to be taken seriously, they should abandon their methods. Listening to them will not resolve their concerns and contains no teachings. It instead spreads violent extremism throughout society.
Actually poor people deserve justice and security too?
Unless you're the richest person in the world. Because if you aren't, someone is going to outbid you on the security forces, and then it's their decision, not "the market's" decision.
If violent extremists have no choice about how they act, then you should accept that society too has no choice but to reject them. It's just the rain falling, right?
If violent extremists do have a choice, then we can also choose our response to them. And pretty clearly that response should be to ignore their demands and treat them as having abdicated any say in our political system. Otherwise, you validate violent extremism, which creates more violent extremism. Which is bad, right?
There were other choices here. They chose not to make them. It's no one's responsibility to decide other people's bad choices are noble or worthy.
It's a bizarre stance because justifying violent extremism creates more violent extremism, which endangers us all. Choosing this method of political activity should (and in my opinion does) automatically invalidate whatever political arguments you have. If you have legitimate political grievances, bring them to legitimate political arenas.
Note how my philosophy still allows you to address origins, roots, grievances, etc. while also preventing the formation of violent militias because people won't listen to them or take them seriously. Yours forces us to take violent extremists seriously, even when their underlying concerns might not be worthy of consideration. Which is what violent extremists want.
> In ethics, just terrorism is a well debated concept.
In what way is terrorism against an occupying external force, and violent extremists targeting the legitimate and democratic government of their own country, the same? Why are you conflating them?
> Violence, it depends. If someone argues violence is never justified, that would be a pacifist position.
I said specifically that violent extremism is not justified, and I feel pretty at peace (sorry!) with that statement.
I think there are morally and politically okay applications of violence, but this is a great example of something that is neither.
> or how either relates to the previous statements.
Because my point was sympathizing with violent extremists is politically wrong. They are not noble and they are not victims. They have chosen violent means to a violent end when much better alternatives exist. We have no responsibility to take anything they say seriously, and analyzing their disaffection seriously is not some lofty high-minded exercise in empathy, but a mistake.
This is actually the opposite point to what you were trying to make. Nazism was the result of violent extremism becoming politically mainstream, and is the danger in normalizing and sympathizing and treating with violent extremists. It does not reform them, it corrupts society.
I don’t think your comparison to the Irish Revolution is accurate as there is no country occupying the United States. These people have the same political liberties and possibilities as any other citizen.
I’m not sure I understand the framing of violent extremists as victims actually. There are many reasons to make bad choices, but that doesn’t mean we have to respect those choices or take the results seriously. So too here.
The rabbit hole I fell deepest into was the draft advisor. It's an 8-axis WASPAS scoring engine — baseline win rate (Bayesian-shrunk so sparse archetypes don't produce noise), N-wise card synergy, curve fit, castability via Karsten's tables, signal openness, role composition, color commitment, and opportunity cost. Empirical winning-deck data only works for card-intrinsic axes; state-dependent axes like signal and opportunity cost need theoretical sigmoid parameters or survivorship bias destroys the differentiation.
Try it! The MCP works out of the box with MTG rules, cards, stats, and mana base. If you connect the lightweight Savecraft daemon to your Arena install, it'll watch your `Player.log` and context will automatically flow to the LLM on your specific decks and matches, enabling the draft advisor and play advisor modules (and other cool stuff).
Everything is open source and Apache 2.0 @ https://github.com/joshsymonds/savecraft.gg