MCP server for dosbox-automation: drive a DOS machine from an AI agent
Project description
dosbox-mcp
MCP server for dosbox-automation: drive a DOS machine from an AI agent.
dosbox-automation is a DOSBox fork with a built-in automation API. This bridge connects any MCP-capable agent runtime (Claude Code and friends) to a running emulator. The agent can type into DOS programs, read the screen, capture frames and video, run sandboxed Lua scripts, and inspect memory: everything the automation API offers, as MCP tools.
Quick start
-
Install dosbox-automation and start it with the API enabled. The manual covers setup for all platforms.
-
Add the bridge to your MCP client. For Claude Code:
claude mcp add dosbox -- uvx dosbox-mcpOr in a JSON MCP configuration:
{ "mcpServers": { "dosbox": { "command": "uvx", "args": ["dosbox-mcp"] } } }
pipx install dosbox-mcporpip install dosbox-mcpwork just as well; the command isdosbox-mcpeither way.
That's it. The bridge finds the running emulator, checks what it can
do, and registers the matching tools. Ask your agent for bridge_status
to confirm the connection.
Configuration
Optional. Write a commented config file to tune the port, spawn an emulator on demand, or limit what an agent may do:
dosbox-mcp setup --init
The comments in the generated file explain each setting. Environment
variables DOSBOX_API_URL and DOSBOX_API_TOKEN override it. The
bridge talks to loopback addresses only; it will not reach out to a
remote machine.
What the agent gets
Tools for session control, screen text and captures, video recording, Lua scripting, keyboard and mouse input, and memory access. You choose how much reach an agent has, from read-only observation to full control.
An open protocol
The contract between this bridge and the emulator is written down in PROTOCOL.md and versioned independently. dosbox-automation is the reference implementation; any DOSBox variant that speaks the protocol works with this bridge.
In the box
Like the games it drives, this one ships with its paper. The feelies/
folder holds the manual, a reference card for every tool, an install
sheet, and a tech-support page.
Requirements
- Python 3.11 or newer
- A running dosbox-automation (0.84-da2 or newer) on the same machine
License
GPL-2.0-or-later. See LICENSE. The protocol specification (PROTOCOL.md) is licensed CC-BY-SA-4.0.
This project is developed with tooled assistance, but tested, reviewed and signed off by a human developer.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dosbox_mcp-0.1.1.tar.gz.
File metadata
- Download URL: dosbox_mcp-0.1.1.tar.gz
- Upload date:
- Size: 57.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
421779d1f28f362ac09e4e6d0e0e43c234634aa60303f78de3bebc6fa11cb420
|
|
| MD5 |
197d68398e51c79d31fbac081e714274
|
|
| BLAKE2b-256 |
d6d7e393f0f476b0c852875acb7fbc9ba0cf0e03d105dff5943adfdd20ecf380
|
File details
Details for the file dosbox_mcp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: dosbox_mcp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 47.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e57b1731ee5372670a703588032ef3f5ab1d78cded41b16958a2065e7067fbf
|
|
| MD5 |
05dbe531c115aa92c0f9daec757f0e2d
|
|
| BLAKE2b-256 |
8b10fb8ebc7db7c5d8eabaebf7df468f3fe19b7821d00444414eafdc05da8719
|