Chris Nager built a playable DOOM game that runs directly inside ChatGPT and Claude. Using the Model Context Protocol (MCP), the app launches inline in compatible AI clients and falls back to a browser URL everywhere else. It's built on cloudflare/doom-wasm with Freedoom Phase 1 content, deployed on Netlify.
Running DOOM in a browser is straightforward. Doing it inside AI chat interfaces, with their iframe restrictions and Content Security Policy rules, took real work. Nager treated the MCP app as the browser page itself. The DOOM canvas runs directly inside the host iframe, no nesting, which killed a whole class of cross-client bugs.
Reactions on Hacker News were mixed. Some called it technically impressive, while others pointed out similar implementations already exist. What matters here is that MCP can handle interactive applications, not just data tasks. Most MCP servers today do API calls and database queries. This runs a game inside the chat. That's beyond what OpenAI's Canvas offers.
Nager cut features aggressively to keep things stable. Save/load. Screenshots. Server-verified bootstrap flows. All gone. What's left is minimal. Two MCP tools. One browser route. A signed token that boots the game without server-side storage. "I wanted playful," Nager wrote. "If the play DOOM path depends on a bunch of server state before a user sees anything, it stops being playful and starts being infrastructure."