
Why I Built a Savvy Scratch MCP
4/5/2026
By Doug Moeller | Professional Gambler & Founder of Savvy Scratch
Most scratch-off players are making decisions in the dark.
They walk into a store, see a wall of tickets, and buy based on gut feeling, price point, whatever's positioned near the register, or whatever the clerk recommends. The game might have had its last top prize claimed six weeks ago. The lottery knows. The store doesn't tell you. The ticket still looks exactly the same.
I built Savvy Scratch specifically because that information gap is solvable. The data exists. State lotteries publish prize claim reports. The math isn't complicated. What's complicated is the pipeline: getting that data in front of a player before they make a decision, in a format that's actually useful, in time to matter.
That pipeline has always been the hard part. And it's about to get a lot more interesting.
I'm built a Savvy Scratch MCP, and I think it's one of the most important things we've worked on since the app launched.
What MCP Actually Means
MCP stands for Model Context Protocol. I want to explain this in plain terms because the technical framing can make it sound more abstract than it is.
In practical terms, an MCP is a standardized bridge that allows AI tools to connect to outside data sources and do something useful with them. Instead of an AI working only from its training data, an MCP lets it pull real, live information from an external system, reason over it, and give you answers that reflect what's actually happening right now.
Without something like this, an AI assistant is working from a snapshot. It knows what it was trained on, and that's the ceiling. With an MCP, the ceiling moves. The AI can reach into a live source of truth, grab what's relevant, and give you a current, grounded answer instead of a generic one.
For Savvy Scratch, that means an AI tool could theoretically connect to our database and answer questions that actually matter. Things like: which games in a given state still have top prizes available right now. Which tickets have improved the most since launch. Which games to avoid because the jackpot pool is effectively dead. Whether a specific game is worth playing today versus two weeks ago.
That's not generic lottery advice. That's real data, interpreted in the moment, delivered in plain language.
Why I Want the Data to Move
There's a framing I keep coming back to when I think about this project: available is not the same as useful.
A lot of lottery data is technically available. State commissions publish prize claim reports. Ticket print runs are documented. You can calculate current jackpot odds if you're willing to do the work. But almost nobody does the work, because the interfaces for that data are painful. Clunky tables. PDFs with confusing formatting. Pages buried three levels deep. Data that hasn't been updated in weeks. Nothing designed for a player standing at a counter trying to make a decision in the next thirty seconds.

This is a problem I understand pretty well from the poker world. In competitive poker, the players with access to better information consistently outperform the ones operating blind, even when card distribution is completely random. The information itself doesn't change what cards are dealt. But it changes every decision made before and after the cards land. I've spent years in rooms where the difference between a winning session and a losing one came down to who knew the composition of the game before they sat down, and who was just guessing.
I carry that same lens into everything I build here. The data needs to be easy to access. It needs to be current. It needs to be presented in a way that produces a decision, not a research project. And increasingly, it needs to be available in whatever interface the player is actually using.
That last part is why an MCP matters to me. Savvy Scratch's current product is an app. The app works. But an app is one interface. An MCP is infrastructure. It makes the data mobile.
What the Savvy Scratch MCP Dose
Live game lookup by state, price tier, and game name is the foundation. A player should be able to say "show me the best $10 games in Texas right now" and get a real answer from live data. Not a cached answer from last month. Not a generic ranking based on launch-day odds. What's actually available, evaluated against what's actually been claimed, calculated today.
Dead game detection is probably the highest-leverage capability we can build. I've written before about how some games stay on shelves for months after the jackpot pool has been exhausted. The lottery keeps selling. Players keep buying. Nothing in the store experience signals that the game is functionally dead. An MCP-connected AI could flag that in the first sentence of any relevant response. "That game's top prizes were claimed six weeks ago" is a sentence that could save someone twenty bucks in about five seconds.
New game discovery matters too, especially for players who want to get in early on fresh print runs. A newly launched game has its full prize pool intact. If the game structure is sound, there's real upside to playing it before the best prizes get claimed. Surfacing that information quickly, as part of a natural language conversation, changes the player's experience from reactive to proactive.
Odds comparison across games in the same price tier is something Savvy Scratch already supports in the app, but an MCP layer would let that comparison happen conversationally. Instead of navigating through the interface to compare two specific games, a player could just ask, and get a clear answer with the current math behind it.
And there's an education component I think about a lot. One of the foundational things I try to do with every piece of content we publish is explain that scratch-off games are dynamic. The odds printed on the ticket are launch-day odds. They reflect the starting composition of a game that may be 70% sold through by the time you're looking at it. That's a concept that sounds simple once you hear it, but it genuinely hasn't landed for most players. If a data-connected AI can teach that idea in the context of a real question, using real numbers from a real game the player is considering, that's a more effective lesson than any blog post.
The Same Reason I Got Into This in the First Place
I want to be direct about something, because I think it clarifies why I find this project so worth the effort.
The way professional gamblers develop edge is not complicated in concept, even when it's hard to execute. You identify situations where you have better information than the average participant. You act on that information consistently. You protect your capital during the periods when the edge disappears. You repeat.

Card counting works because a player tracking the running count has information that the average player at the table doesn't have. That information doesn't guarantee any particular outcome on any particular hand. What it does is shift the distribution of outcomes over time. Play enough hands in positive count situations, and the math catches up. I've spent years applying that framework in casinos, at poker tables, and across different formats of advantage play. It works. Not always. Not on every session. But it works.
Scratch-off lottery analysis is the same idea in a different context. The data already exists. Prizes are claimed. Counts change. The composition of the remaining prize pool shifts constantly, and the official odds on the ticket never reflect any of that. A player with access to current prize data is operating with information that changes the distribution of their outcomes over time, exactly the same way a card counter does. Not every ticket wins. But every decision improves.
What an MCP does is make that information layer portable. It means the data can live inside whatever tool a player is already using, rather than requiring a dedicated app to access it. That's a real shift. And I think it's the direction things are going across a lot of industries, not just this one.
If you want to understand the foundational math behind why current prize data changes your decisions, the card counting framework we use at Savvy Scratch is explained in detail here. It's the same logic. Different game.
Why This Goes Beyond Scratch-Offs
I want to zoom out for a moment, because the thing I'm actually describing here is bigger than lottery tickets.
There are a lot of industries where publicly available data exists but the experience around that data is broken. The information is technically accessible. The interfaces are hostile. The interpretation is left entirely to the user. Most users don't have the time or the tools to make sense of it, so they end up making worse decisions than they would with thirty seconds of context.
Scratch-off lottery is one of the clearest examples I can point to, because the gap between what state lotteries publish and what the average player acts on is enormous. The data says the jackpot is gone. The player buys the ticket anyway because they didn't know where to look or how to read the numbers.
An MCP changes that equation in a structural way. It doesn't just give one player access to better information through one interface. It creates a layer that any tool can connect to. That opens the door to experiences that don't exist yet, things we haven't specifically designed for, workflows that emerge naturally when the data becomes accessible in a standardized way.
For Savvy Scratch specifically, this could mean better search. Smarter recommendations. More personalized comparisons across games. Educational experiences that feel like a conversation rather than a tutorial. Ways for players to identify opportunities faster than they can through the current app interface.
But the bigger idea is that this is infrastructure. Software that doesn't just deliver its own experience, but exposes its logic and data in a way that other intelligent systems can work with. I think a lot of software is being rebuilt around that idea right now, and the products that get there early will have a meaningful advantage.
Where This Fits in the Larger Vision
I've never wanted Savvy Scratch to be just a list of scratch-off games with a color-coded rating.
The original ambition, and still the current one, is to be the most useful lottery companion available to a serious player. Not the flashiest. Not the one with the biggest jackpot fantasy. The one that helps you understand what's actually happening with your state's games right now, before you spend a dollar.
That goal requires current data, clear interpretation, and frictionless access. The app gets at the first two. An MCP is the third leg of that structure. It means the data can reach players wherever they're making decisions, not just when they think to open a specific app.
If you're already using Savvy Scratch to check your state's games before you buy, you know what it feels like to have that information in your pocket. The best odds guide covers the manual version of the process for anyone who wants to think through the math themselves. And the post on jackpot hunting goes into why getting to good games early matters. Both of those are about extracting value from information that's already publicly available. The MCP project is about making that same information available in a smarter way, to more people, through more tools.
The players who are going to win more consistently over time are the ones who stop buying blind. That's always been the point. An MCP is just another way of making it easier to stop.
If you're not already using Savvy Scratch to check your state's games before you buy, that's the place to start. Subscriptions are $5 a month or $50 a year, backed by a 30-day worry-free guarantee. Get started here.
About the Author: Doug Moeller is a professional gambler with over 15 years of experience in poker, blackjack card counting, and casino advantage play, with over $500K in lifetime winnings. He built Savvy Scratch to bring the same data-driven approach that works at casino tables to scratch-off lottery tickets. Follow Doug on X | YouTube