# doom-mcp

Runs classic DOOM inside your AI assistant sessions. It lets you direct the character step by step or hand over full control to the model.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 13
- Author: gunnargrosch
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/gunnargrosch/doom-mcp
- Updated: 2026-03-13
- HTML: https://affpapa.org/en/nevibecode/mcp/doom-mcp

## What it does

The server connects to the doomgeneric C engine directly from Rust via FFI. There is no emulation layer. Each action returns health, ammo, visible demon locations, and a PNG frame thumbnail.

Control relies on three tools: `doom_start`, `doom_action`, and `doom_screenshot`. They restart episodes, advance ticks with movement commands, and write 320x200 images to the temp folder. The package bundles Freedoom by default. If you want official maps, set the `DOOM_WAD_PATH` environment variable in your client configuration.

## Requirements
- Needs: Node.js (commands run via npx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add doom-mcp -- npx -y doom-mcp
```

### Codex

**Platform CLI**
```bash
codex mcp add doom-mcp -- npx -y doom-mcp
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "doom-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "doom-mcp"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "doom-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "doom-mcp"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add doom-mcp npx -y doom-mcp
```

## When to use it
- run classic DOOM directly inside an MCP-compatible environment
- direct character movement and combat through chat prompts
- evaluate vision and tactical decisions of an autonomous agent
- export 320x200 game screenshots to system storage

## Example prompts
- Let's play DOOM on medium difficulty starting at E1M1
- Walk forward, turn towards the imp and fire the pistol
- Take a screenshot of the current room

## Similar
- [bielacki-igdb-mcp-server](https://affpapa.org/en/nevibecode/mcp/bielacki-igdb-mcp-server.md) — MCP server · ★ 5
- [controlnet-pose](https://affpapa.org/en/nevibecode/skills/controlnet-pose.md) — skill · 377400 installs
- [cad](https://affpapa.org/en/nevibecode/skills/cad.md) — skill · 14000 installs
- [step-parts](https://affpapa.org/en/nevibecode/skills/step-parts.md) — skill · 11200 installs
- [game-feel](https://affpapa.org/en/nevibecode/skills/game-feel.md) — skill · 10100 installs
- [audio-design](https://affpapa.org/en/nevibecode/skills/audio-design.md) — skill · 7700 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
