DOOM running in ChatGPT and Claude

· web ai · Source ↗

TLDR

  • A TypeScript MCP server exposes two tools to launch playable DOOM inline in ChatGPT and Claude or fall back to a signed browser URL, with no server-side session state required.

Key Takeaways

  • Two MCP tools: create_doom_session for inline rendering in compatible hosts, get_doom_launch_url as a universal fallback; signed token is self-contained.
  • The critical architectural fix: run the DOOM canvas directly inside the host iframe instead of nesting a separate browser page, which hit CSP and frame-src blocks.
  • Uses cloudflare/doom-wasm runtime with Freedoom Phase 1 for redistribution; WAD config written directly into the Emscripten filesystem to eliminate blob-backed preload failures.
  • Deployed to Netlify under /doom/*; TypeScript MCP server and static DOOM assets coexist under the same namespace.
  • Feature scope was cut aggressively – save/load, screenshots, persistence adapters – to keep the signed-token boot path simple and the inline app reliable.

Hacker News Comment Review

  • At least one commenter assumed MCP was synthesizing DOOM frames from a training set, revealing the MCP app concept is not self-evident even to technical HN readers.
  • One commenter framed this as useful boundary-testing for MCP apps, which are still new and underused – treating the project as exploration rather than production tooling.

Notable Comments

  • @nsxwolf: Asked if MCP is “synthesizing DOOM frames from a training set” – a sharp signal that MCP app rendering needs better top-of-post framing for builders.

Original | Discuss on HN