Skip to main content
Glama

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
NameRequiredDescriptionDefault
status_filterNo

Implementation Reference

  • 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)

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