Doom runs inside ChatGPT and Claude: just use an MCP and type 'play Doom' in the chat
In the new chapter of the saga "It runs Doom", just type "play Doom" in the window of an AI chatbot: the game starts directly inline, without opening external browsers or installing anything.
Chris Nager, an American software engineer, has built an MCP app that transforms ChatGPT and Claude into game hosts for the famous 1993 id Software shooter, making the source code publicly available on GitHub.
The Role of the Model Context Protocol
The Model Context Protocol (MCP) is an open-source standard developed by Anthropic in November 2024, designed to allow language models to connect with external tools, databases, and structured context resources. It operates on JSON-RPC 2.0 and articulates three main components: the host (the AI client, like Claude Desktop or ChatGPT), the MCP client (the layer that manages the protocol within the host), and the MCP server (the service that exposes tools and resources). The innovation that made this specific project possible is the MCP Apps specification, an extension of the protocol that allows an MCP server to return an interactive user interface (HTML, canvas, dashboard) directly integrated into the chat window. This specification became stable at the end of January 2026, paving the way for a new type of applications that goes far beyond simple text exchanges.
Can ChatGPT and Claude run DOOM? Yes, they can.
I made DOOM into an MCP app, playable inline in AI clients like ChatGPT and Claude.
https://t.co/lzLFJ4pL1R
pic.twitter.com/ypO2E7x78i
— Chris Nager (@chrisnager)
April 17, 2026
Nager leveraged this extension to build something as technically robust as it is deliberately frivolous: a Doom implementation that requires no exit from the AI interface. His MCP server exposes two tools: create_doom_session, which starts the game inline in the chat, and get_doom_launch_url, which returns a fallback URL for clients that do not yet support inline UIs. When the AI client receives the command, the game appears directly in the conversation window, complete with a notification indicating that it is "ready".
The Technical Stack
Under the hood, the game engine is cloudflare/doom-wasm, the porting of Doom in WebAssembly developed by Cloudflare. The graphical and audio assets come from Freedoom Phase 1, the open-source project that replaces id Software's proprietary resources with free-licensed equivalents, eliminating any copyright issues. The entire project is written in TypeScript and set up on Netlify, with a signed token system to keep game sessions active across different clients. The architecture is intentionally minimalist: a small MCP server, a browser shell for rendering the game, and an authentication flow via signed tokens.
The main challenge was not strictly technical, but conceptual. The first embedded version looked visually cluttered until Nager changed his approach: instead of using the MCP app as a mere vehicle to show a browser running the game, he began treating the MCP app itself as the actual browser. That shift in perspective unlocked the quality of integration. "MCP apps are new and interesting; I am fascinated by the constraints of early video game design, and it's always fun to see Doom brought to new surfaces," he wrote in a blog post documenting the entire process.
Compatibility and Limitations
The integration works fully on Claude Desktop and ChatGPT in the desktop version. On the iOS apps of both clients, the game starts but partially: the limitations of the mobile interface reduce the experience without entirely blocking it. For AI clients that do not yet support MCP Apps, the server automatically returns the fallback link, so users can still launch Doom in the browser. All code is on GitHub, reusable as a base for any other MCP app with inline UI.
The Tradition of "It runs Doom"
As loyal readers now know, the project fits into a 30-year-long tradition. Doom, released in 1993, has become the informal benchmark for any new device or platform: if it can run it, the system has enough power. Over the years, the game has been run on calculators, refrigerators, toasters, Intel Management Engine processors, and even on intestinal bacterial cultures. Two years ago, a group of researchers at Google managed to run Doom in real-time via a generative AI model called GameNGen, which generated each frame as output from the neural network. That project was conceptually opposite to Nager’s: there, AI simulated the game frame by frame through inference; here, AI serves as a container for a WebAssembly implementation of the original engine.
The most significant aspect of this project is not Doom itself, but the practical demonstration of the potential of MCP Apps now that the specification is stable. Injecting interactive interfaces into the chat window without leaving the client opens scenarios that include analytical dashboards, configuration forms, editors, complex data viewers. Nager chose Doom as a proof of concept, but the underlying mechanism is the same that could bring AI chatbots closer to real interactive work environments.