D

DOOM MCP

Play DOOM inline inside Claude or ChatGPT — full game, no browser needed

PriceFree / Open SourceReviewed2026-04-29
Verdict — Ship
3 Ships1 Skips
Visit chrisnager.com

The Panel's Take

Chris Nager built a fully playable DOOM that runs as an MCP (Model Context Protocol) app, rendering inline inside Claude and ChatGPT without a separate browser tab. The architecture uses two MCP tools — create_doom_session for inline-capable hosts and get_doom_launch_url as a browser fallback — combined with cloudflare/doom-wasm for the game runtime and a signed token system that maintains session state across both surfaces. The result is the same session whether you're playing inline or in a tab. The key technical challenge was avoiding iframe and CSP (Content Security Policy) issues. Rather than embedding a browser page inside the MCP iframe, the DOOM canvas runs directly inside the host's iframe — a subtle but critical distinction that resolved a class of rendering and input-handling bugs. The final implementation is intentionally stripped down: no save/load, no persistence adapters, just stable playable DOOM. Beyond the novelty, this project is a concrete demonstration that MCP apps are interactive surfaces, not just tool-calling JSON endpoints. The progressive enhancement pattern — same signed-token foundation serving both inline and browser modes — is a reusable architecture for any game or interactive experience that wants to live inside an AI assistant. Nager open-sourced the implementation and the blog post is a detailed technical breakdown.

Share this verdict

DOOM MCP verdict: SHIP 🚀

3 ships · 1 skip from the expert panel

Full review: shiporskip.io/tool/doom-mcp-chrisnager-playable-game-claude-chatgpt-inline-2026

Weekly AI Tool Verdicts

Get the next verdict in your inbox

7 critics review a new AI tool every day. Weekly digest — free.

Embed this verdict

Tool makers can add a live ShipOrSkip badge to their site. Badge loads track impressions; clicks route back to this review.

Ship · 7.5/10
HTML badge
<a href="https://shiporskip.io/api/badge-click/doom-mcp-chrisnager-playable-game-claude-chatgpt-inline-2026" target="_blank" rel="noopener"><img src="https://shiporskip.io/api/badge/doom-mcp-chrisnager-playable-game-claude-chatgpt-inline-2026" alt="DOOM MCP Ship verdict on ShipOrSkip" width="360" height="90" /></a>
Markdown badge
[![DOOM MCP Ship verdict on ShipOrSkip](https://shiporskip.io/api/badge/doom-mcp-chrisnager-playable-game-claude-chatgpt-inline-2026)](https://shiporskip.io/api/badge-click/doom-mcp-chrisnager-playable-game-claude-chatgpt-inline-2026)
Iframe widget
<iframe src="https://shiporskip.io/embed/doom-mcp-chrisnager-playable-game-claude-chatgpt-inline-2026" title="DOOM MCP ShipOrSkip verdict" width="360" height="260" style="border:0;border-radius:16px;max-width:100%;" loading="lazy"></iframe>

The reviews

The signed-token progressive enhancement pattern is the part worth stealing. This is a clean reference architecture for MCP interactive apps, and DOOM just happens to be the demo case.

Helpful?

Fun proof of concept but let's be honest: if your AI assistant is hosting a DOOM session, something has gone wrong with your productivity. The MCP-as-interactive-surface insight is real, but this specific app has no utility.

Helpful?

Every major compute platform's pivot point is when it runs DOOM. MCP running DOOM means MCP is a real platform now. The implications for interactive AI-embedded experiences are significant.

Helpful?

As someone who thinks about interactive experiences, the idea of game-like UI living inside an AI context is genuinely exciting. This is a crude ancestor of what interactive AI-native media could become.

Helpful?

Bookmarks

Loading bookmarks...

No bookmarks yet

Bookmark tools to save them for later