Compare/DOOM MCP vs Plain

AI tool comparison

DOOM MCP vs Plain

Which one should you ship with? Here is the side-by-side panel verdict, pricing read, reviewer split, and community vote comparison.

D

Developer Tools

DOOM MCP

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

Ship

75%

Panel ship

Community

Free

Entry

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.

P

Developer Tools

Plain

A Django fork rebuilt for AI agents — typed, predictable, agent-readable

Ship

75%

Panel ship

Community

Free

Entry

Plain is a full-stack Python web framework that forks Django with one overriding goal: make the codebase maximally readable and understandable by AI coding agents. Built by Dropseed (Adam Engebretson), it started in 2023 and has quietly matured into a production-ready framework — today's Show HN submission (93 points) brought it to wider attention. The design philosophy is radical clarity over magic. Plain eliminates Django's more implicit behaviors, adds strict typing throughout, and includes built-in AI integration hooks: a `.claude/rules/` directory for Claude Code context, a CLI command for on-demand documentation retrieval, and OpenTelemetry instrumentation out of the box. The idea is that when a coding agent touches your codebase, it should be able to understand what's happening without fighting through Django's layers of metaclass magic. This represents a genuine philosophical bet: as AI agents write more of our code, the framework's readability to machines matters as much as its readability to humans. Plain is ahead of the curve on this — most frameworks were designed for human ergonomics first. The Show HN traction suggests senior engineers are taking the concept seriously, even if migration from Django remains a real cost.

Decision
DOOM MCP
Plain
Panel verdict
Ship · 3 ship / 1 skip
Ship · 3 ship / 1 skip
Community
No community votes yet
No community votes yet
Pricing
Free / Open Source
Open Source / Free
Best for
Play DOOM inline inside Claude or ChatGPT — full game, no browser needed
A Django fork rebuilt for AI agents — typed, predictable, agent-readable
Category
Developer Tools
Developer Tools

Reviewer scorecard

Builder
80/100 · ship

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.

80/100 · ship

The `.claude/rules/` integration and typed APIs are exactly what you want when you're letting agents modify your codebase. OTel built-in is a legitimate win — no more strapping on tracing as an afterthought. If you're starting a new Python project in 2026, Plain is worth serious consideration.

Skeptic
45/100 · skip

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.

45/100 · skip

Django's 'magic' is also its ecosystem — 20 years of packages, tutorials, and institutional knowledge. Plain's ecosystem is tiny. For any non-trivial project, you'll hit the ecosystem wall fast. 'Designed for agents' is a compelling narrative but the migration cost from Django is real and steep.

Futurist
80/100 · ship

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.

80/100 · ship

The question 'is this codebase understandable to an AI agent?' is going to be central to framework design by 2027. Plain is three years ahead of that conversation. Frameworks that don't add agent-readability features will be retrofitting them later at significant cost.

Creator
80/100 · ship

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.

80/100 · ship

As someone who ships products, not just writes code, I care about the full stack being coherent. Plain's opinionated structure means less time arbitrating between packages and more time building. The built-in OTel means I can debug AI-assisted changes without adding another tool.

Weekly AI Tool Verdicts

Get the next comparison in your inbox

New AI tools ship daily. We compare them before you waste an afternoon.

Bookmarks

Loading bookmarks...

No bookmarks yet

Bookmark tools to save them for later