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.
Metadata
Release files for dosbox-mcp 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dosbox_mcp-0.2.0.tar.gz | 60.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dosbox_mcp-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 109.7 kB
Release files / dosbox_mcp-0.2.0.tar.gz
| Download URL | dosbox_mcp-0.2.0.tar.gz |
|---|---|
| Size | 60.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1ad01442b5f3ac2cfe0bcb2b89833a499a031c85e53afb3c64d8207c352880f2
|
|
BLAKE2b-256 checksum How to use checksums |
03d5cabbcc4e3f2576876720f4e44ccc83b891a71cd1c835fbccb170f9b03dca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / dosbox_mcp-0.2.0-py3-none-any.whl
| Download URL | dosbox_mcp-0.2.0-py3-none-any.whl |
|---|---|
| Size | 48.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
79490536fc28f18075037aa81d006ec67597cd739a457a9c05126d2fcdc59159
|
|
BLAKE2b-256 checksum How to use checksums |
9057e683acba7bd313d7a9f61ad7bc151f6a46b61990ccfbf2f21c5a5d8d1105
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|