romm_get_item
Retrieve detailed metadata, user status, and save data for a specific ROM using its unique identifier.
Instructions
Get full detail for a single ROM — metadata, user status, saves.
rom_id: The ROM's ID (from romm_library_items or romm_search).
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rom_id | Yes |
Implementation Reference
- server.py:486-515 (handler)The 'romm_get_item' function handles fetching and formatting ROM details from the Romm API. It is decorated with @mcp.tool(), which handles its registration.
@mcp.tool() async def romm_get_item(rom_id: int) -> str: """Get full detail for a single ROM — metadata, user status, saves. rom_id: The ROM's ID (from romm_library_items or romm_search). """ data = await _get(f"roms/{rom_id}") if not isinstance(data, dict) or "id" not in data: return f"ROM {rom_id} not found." name = data.get("name", "Unknown") slug = data.get("slug", "") platform = data.get("platform_display_name") or data.get("platform_slug", "?") summary = data.get("summary", "") size = data.get("fs_size_bytes", 0) regions = data.get("regions", []) languages = data.get("languages", []) tags = data.get("tags", []) alt_names = data.get("alternative_names", []) user = data.get("rom_user", {}) or {} is_fav = user.get("is_favorite", False) if isinstance(user, dict) else False last_played = user.get("last_played") if isinstance(user, dict) else None status = user.get("status") if isinstance(user, dict) else None note_raw = user.get("note_raw_markdown") if isinstance(user, dict) else None saves = data.get("user_saves", []) states = data.get("user_states", [])