loading…
Search for a command to run...
loading…
10 tool MCP server for RomM. Adds searching, metadata, tracking, saves and management via MCP.
10 tool MCP server for RomM. Adds searching, metadata, tracking, saves and management via MCP.
An MCP server for RomM — the self-hosted retro game library manager. 28 tools: 19 read-only for browsing platforms, searching ROMs, viewing metadata, collections, saves, and tasks — plus 9 write tools for setting play status, favoriting, notes, and managing collections, through any MCP-compatible AI assistant.
| Tool | Description |
|---|---|
romm_status |
Check server configuration and reachability |
romm_stats |
Library-wide statistics (platforms, ROMs, saves, total size) |
romm_platforms |
List platforms with ROM counts and sizes |
romm_library_items |
Browse ROMs with filtering and pagination |
romm_recent |
Recently added or updated ROMs |
romm_get_item |
Full ROM detail — metadata, saves, user status |
romm_search |
Search ROMs by name |
romm_search_by_hash |
Identify a ROM by file hash (CRC, MD5, or SHA1) |
romm_filters |
Available filter values (genres, regions, languages, tags) |
romm_collections |
List user-curated collections |
romm_collection_detail |
List ROMs in a specific collection |
romm_smart_collections |
List auto-generated smart collections |
romm_saves |
List save files by ROM or platform |
romm_user_profile |
Browse by status (now playing, backlog, completed, etc.) |
romm_rom_notes |
View notes on a ROM |
romm_firmware |
List BIOS/firmware files per platform |
romm_devices |
List registered devices |
romm_tasks |
Check running/scheduled task status |
romm_scan_library |
Trigger a background library rescan |
These modify your own user data and collections. They cannot alter ROM files, platforms, firmware, other users, or save files.
| Tool | Description |
|---|---|
romm_set_status |
Set play status, backlog, now-playing, rating, completion, last-played |
romm_favorite |
Add or remove a ROM from your favorites |
romm_add_note |
Add a note to a ROM |
romm_update_note |
Edit an existing note |
romm_delete_note |
Delete a note (permanent) |
romm_create_collection |
Create a new collection |
romm_add_to_collection |
Add ROMs to a collection |
romm_remove_from_collection |
Remove ROMs from a collection |
romm_delete_collection |
Delete a collection — the grouping only, not the ROMs (permanent) |
pip install fastmcp httpx
Or clone and install:
git clone https://github.com/lodordev/mcp-romm.git
cd mcp-romm
pip install .
Set environment variables:
| Variable | Required | Default | Description |
|---|---|---|---|
ROMM_URL |
No | http://localhost:3000 |
Your RomM instance URL |
ROMM_USERNAME |
Yes | RomM username | |
ROMM_PASSWORD |
Yes | RomM password | |
ROMM_REQUEST_TIMEOUT |
No | 30 |
Default request timeout (seconds) |
ROMM_REQUEST_TIMEOUT_LONG |
No | 60 |
Timeout for slow endpoints |
ROMM_TLS_VERIFY |
No | true |
Verify TLS certificates |
Add to your .mcp.json:
{
"mcpServers": {
"romm": {
"command": "python",
"args": ["/path/to/mcp-romm/server.py"],
"env": {
"ROMM_URL": "http://your-romm-instance:3000",
"ROMM_USERNAME": "your-username",
"ROMM_PASSWORD": "your-password"
}
}
}
}
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"romm": {
"command": "python",
"args": ["/path/to/mcp-romm/server.py"],
"env": {
"ROMM_URL": "http://your-romm-instance:3000",
"ROMM_USERNAME": "your-username",
"ROMM_PASSWORD": "your-password"
}
}
}
}
Once configured, you can ask your AI assistant things like:
And, with the write tools:
roms.user.write, collections.write, and tasks.run. It deliberately does not request roms.write, platforms.write, firmware.write, assets.write, users.write, or me.write — no tool uses them.romm_delete_note and romm_delete_collection permanently remove data and say so in their descriptions. (romm_delete_collection removes the grouping, not the ROMs.)ROMM_TLS_VERIFY=true).The server uses OAuth2 password grant to authenticate with RomM. Tokens are scoped to the minimum permissions needed and automatically refreshed when they expire. If a request gets a 401, the server re-authenticates and retries once.
Note: The read and write tools operate on your own library and user data, so an ordinary enabled RomM user account is sufficient — admin is not required. (romm_scan_library does require an account permitted to run tasks.)
MIT. See CHANGELOG.md for release history.
Run in your terminal:
claude mcp add mcp-romm -- npx Yes, Romm MCP is free — one-click install via Unyly at no cost.
No, Romm runs without API keys or environment variables.
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
Open Romm on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs