Skip to main content
Glama

RomM MCP Server

An MCP server for RomM — the self-hosted retro game library manager. 19 read-only tools for browsing platforms, searching ROMs, viewing metadata, managing collections, tracking saves, and monitoring tasks through any MCP-compatible AI assistant.

Tools

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

Setup

Prerequisites

  • Python 3.10+

  • A running RomM instance (v4.0+)

  • A RomM user account with admin role

Install

pip install fastmcp httpx

Or clone and install:

git clone https://github.com/lodordev/mcp-romm.git
cd mcp-romm
pip install .

Configure

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 Claude Code

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 Claude Desktop

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"
      }
    }
  }
}

Examples

Once configured, you can ask your AI assistant things like:

  • "What platforms do I have in RomM?"

  • "Search for Zelda games"

  • "Show me my backlog"

  • "How many ROMs do I have total?"

  • "What was recently added?"

  • "Show me the saves for Super Metroid"

  • "What's in my favorites?"

  • "List my firmware files for PlayStation"

  • "What tasks are running?"

  • "What devices are registered?"

Security

  • Read-only. All 19 tools are read-only. The only mutation is romm_scan_library, which triggers an idempotent library rescan.

  • No disk writes. Credentials and tokens are held in memory only, never written to disk.

  • Scoped tokens. OAuth2 tokens request only the scopes needed for read operations.

  • TLS by default. Certificate verification is enabled by default (ROMM_TLS_VERIFY=true).

  • Auto-retry. If a token expires mid-session, the server re-authenticates transparently.

Auth

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: Your RomM user must have the admin role for all tools to work. The user must also be enabled in the RomM admin panel.

License

MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lodordev/mcp-romm'

If you have feedback or need assistance with the MCP directory API, please join our Discord server