trackmcp
Back to directory
3 stars TypeScriptOthers Updated Oct 15, 2025

Documentation

MCP DOS - Classic DOS Gaming Server

A Model Context Protocol (MCP) server that provides access to classic DOS games through js-dos emulation. Play legendary games like DOOM, Super Mario, Tetris, and Duke Nukem 3D directly from your AI assistant.

Features

  • Classic DOS Games: Play iconic DOS games including DOOM, Super Mario, Tetris, and Duke Nukem 3D
  • Web-based Emulation: Uses js-dos for authentic DOS gaming experience in the browser
  • Fullscreen Support: Enjoy games in fullscreen mode with proper controls
  • Keyboard Mapping: Pre-configured key mappings for each game with on-screen controls
  • Server Management: Tools to start, stop, and manage the gaming server

Available Games

  • DOOM (`doom`) - The legendary first-person shooter
  • Super Mario (`super-mario`) - Classic platformer adventure
  • Tetris (`tetris`) - The timeless puzzle game
  • Duke Nukem 3D (`duke3d`) - Action-packed FPS adventure

Getting Started

Add this server to your MCP client configuration:

json
{
  "mcpServers": {
    "mcp-dos": {
      "command": "npx",
      "args": ["-y", "mcp-dos"]
    }
  }
}

Game Controls

Each game comes with pre-configured controls displayed on screen:

DOOM

  • Arrow Keys: Movement (Forward/Back/Left/Right)
  • W: Use
  • S: Fire
  • A/D: Strafe left/right
  • Enter: Menu navigation

Super Mario

  • Arrow Left/Right: Movement
  • Alt: Jump

Tetris

  • 7/8: Move left/right
  • 9: Rotate piece
  • Space: Drop piece
  • Enter: Menu navigation

Duke Nukem 3D

  • Arrow Keys: Movement
  • Ctrl: Fire
  • A: Jump
  • Enter: Menu navigation

Tools Available

1. `List DOS Games`

Lists all available DOS games that can be played through the server.

Returns:

  • Array of available game slugs
  • Instructions on how to play games using the `open-dos` tool

2. `open-dos`

Opens and plays a specific DOS game using js-dos emulation in a browser window.

Parameters:

  • `game` (string): DOS game slug to play (e.g., 'doom', 'super-mario', 'tetris', 'duke3d')

Features:

  • Launches game in a new browser window
  • Displays game-specific controls on screen
  • Fullscreen support
  • Authentic DOS gaming experience

3. `close-app`

Closes an existing running mcp-dos server instance.

Parameters:

  • `port` (number): The port number of the server to close

Use Cases:

  • Clean up server instances
  • Resolve port conflicts
  • Server maintenance

Development

bash
# Install dependencies
pnpm install

# Build the project
pnpm build

# Run the server
pnpm start

Requirements

  • Node.js ≥20.0.0
  • Modern web browser with JavaScript enabled
  • Internet connection for js-dos CDN resources

> This project is built using the xmcp framework.

Frequently asked questions

What is mcp-dos?

mcp-dos is a Model Context Protocol (MCP) server listed in the TrackMCP directory.

How do I install mcp-dos?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is mcp-dos open source?

Yes — it is hosted on GitHub at https://github.com/basementstudio/mcp-dos and has 3 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP