romm_user_profile
Browse and filter ROMs based on user status categories including favorites, now playing, backlogged, completed, wishlist, and retired.
Instructions
Browse ROMs by user status — favorites, now playing, backlogged, completed.
status_filter: Filter by user status. Options: "now_playing", "backlog", "wishlist", "completed", "retired", "" (shows favorites).
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status_filter | No |
Implementation Reference
- server.py:824-864 (handler)The handler implementation for the 'romm_user_profile' MCP tool.
async def romm_user_profile(status_filter: str = "") -> str: """Browse ROMs by user status — favorites, now playing, backlogged, completed. status_filter: Filter by user status. Options: "now_playing", "backlog", "wishlist", "completed", "retired", "" (shows favorites). """ params: dict = {"limit": 50, "offset": 0, "order_by": "name", "order_dir": "asc"} if status_filter: params["statuses"] = status_filter else: params["favorite"] = True data = await _get("roms", params=params, long_timeout=True) items = [] if isinstance(data, dict): items = data.get("items", []) elif isinstance(data, list): items = data label = status_filter.replace("_", " ").title() if status_filter else "Favorites" if not items: return f"No ROMs marked as {label}." lines = [f"{label} ({len(items)}):\n"] for i, rom in enumerate(items, 1): name = rom.get("name", "Unknown") platform = rom.get("platform_display_name") or rom.get("platform_slug", "?") rom_id = rom.get("id", "?") user = rom.get("rom_user", {}) or {} last_played = user.get("last_played") if isinstance(user, dict) else None line = f" {i}. {name} [{platform}]" lines.append(line) if last_played: lines.append(f" Last played: {last_played}") lines.append(f" ID: {rom_id}") return "\n".join(lines)