Skip to main content
Glama

Get recently played games

get_recently_played
Read-only

Check which games a Steam player has played in the last two weeks. Shows recent and total playtime, most-played first (up to 50).

Instructions

List the games a player has played in the last two weeks, with recent and total playtime, most-played-in-those-two-weeks first (capped at 50; check returned vs total) — the ordering is what decides which games the cap keeps, and it is playtime, not recency. For the all-time library by playtime instead (capped at 50 entries by default, either end of that ordering via sort), use get_owned_games. Requires STEAM_API_KEY and a public profile with game-details visibility (same requirement as get_owned_games) — otherwise it returns found:false.

Input Schema

NameRequiredDescriptionDefault
steamidNo17-digit SteamID64. Omit to use the STEAM_ID configured on the server. Convert a vanity/custom URL name with resolve_vanity_url first.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.14.0
    • changedOutput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "found": {
      -        "const": false,
      -        "type": "boolean"
      -      },
      -      "games": {
      -        "items": {
      -          "not": {}
      -        },
      -        "type": "array"
      -      },
      -      "reason": {
      -        "type": "string"
      -      },
      -      "total": {
      -        "const": 0,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "found",
      -      "reason",
      -      "total",
      -      "games"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "found": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "games": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "appid": {
      -              "type": "number"
      -            },
      -            "name": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "playtime_2weeks_hours": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "playtime_hours": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            }
      -          },
      -          "required": [
      -            "name",
      -            "playtime_hours",
      -            "playtime_2weeks_hours"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "returned": {
      -        "type": "number"
      -      },
      -      "total": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "found",
      -      "total",
      -      "returned",
      -      "games"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "found": {
      +        "const": false,
      +        "type": "boolean"
      +      },
      +      "games": {
      +        "items": {
      +          "not": {}
      +        },
      +        "type": "array"
      +      },
      +      "reason": {
      +        "type": "string"
      +      },
      +      "total": {
      +        "const": 0,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "found",
      +      "reason",
      +      "total",
      +      "games"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "found": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "games": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "appid": {
      +              "type": "number"
      +            },
      +            "name": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "playtime_2weeks_hours": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "playtime_hours": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "name",
      +            "playtime_hours",
      +            "playtime_2weeks_hours"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "returned": {
      +        "type": "number"
      +      },
      +      "total": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "found",
      +      "total",
      +      "returned",
      +      "games"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed1 schema field changedv0.13.1
    • changedOutput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "found": {
      -        "const": false,
      -        "type": "boolean"
      -      },
      -      "games": {
      -        "items": {
      -          "not": {}
      -        },
      -        "type": "array"
      -      },
      -      "reason": {
      -        "type": "string"
      -      },
      -      "total": {
      -        "const": 0,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "found",
      -      "reason",
      -      "total",
      -      "games"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "found": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "games": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "appid": {
      -              "type": "number"
      -            },
      -            "name": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "playtime_2weeks_hours": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "playtime_hours": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            }
      -          },
      -          "required": [
      -            "name",
      -            "playtime_hours",
      -            "playtime_2weeks_hours"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "total": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "found",
      -      "total",
      -      "games"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "found": {
      +        "const": false,
      +        "type": "boolean"
      +      },
      +      "games": {
      +        "items": {
      +          "not": {}
      +        },
      +        "type": "array"
      +      },
      +      "reason": {
      +        "type": "string"
      +      },
      +      "total": {
      +        "const": 0,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "found",
      +      "reason",
      +      "total",
      +      "games"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "found": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "games": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "appid": {
      +              "type": "number"
      +            },
      +            "name": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "playtime_2weeks_hours": {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "playtime_hours": {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "name",
      +            "playtime_hours",
      +            "playtime_2weeks_hours"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "returned": {
      +        "type": "number"
      +      },
      +      "total": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "found",
      +      "total",
      +      "returned",
      +      "games"
      +    ],
      +    "type": "object"
      +  }
      +]
  3. Changed3 schema fields changedv0.12.1
    • addedInput schema / additionalProperties
      Added value: +false
    • removedOutput schema / anyOf
      Removed value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "found": {
      -        "const": false,
      -        "type": "boolean"
      -      },
      -      "games": {
      -        "items": {
      -          "not": {}
      -        },
      -        "type": "array"
      -      },
      -      "reason": {
      -        "type": "string"
      -      },
      -      "total": {
      -        "const": 0,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "found",
      -      "reason",
      -      "total",
      -      "games"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "found": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "games": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "appid": {
      -              "type": "number"
      -            },
      -            "name": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "playtime_2weeks_hours": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "playtime_hours": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            }
      -          },
      -          "required": [
      -            "name",
      -            "playtime_hours",
      -            "playtime_2weeks_hours"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "total": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "found",
      -      "total",
      -      "games"
      -    ],
      -    "type": "object"
      -  }
      -]
    • addedOutput schema / oneOf
      Added value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "found": {
      +        "const": false,
      +        "type": "boolean"
      +      },
      +      "games": {
      +        "items": {
      +          "not": {}
      +        },
      +        "type": "array"
      +      },
      +      "reason": {
      +        "type": "string"
      +      },
      +      "total": {
      +        "const": 0,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "found",
      +      "reason",
      +      "total",
      +      "games"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "found": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "games": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "appid": {
      +              "type": "number"
      +            },
      +            "name": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "playtime_2weeks_hours": {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "playtime_hours": {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "name",
      +            "playtime_hours",
      +            "playtime_2weeks_hours"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "total": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "found",
      +      "total",
      +      "games"
      +    ],
      +    "type": "object"
      +  }
      +]
  4. Addedv0.10.2
  5. Removedv0.9.0
  6. Addedv0.8.0
  7. Removedv0.8.0
  8. Changed2 schema fields changedv0.3.0
    • changedInput schema / properties / steamid / description
      Previous value: -"17-digit SteamID64. Convert a vanity/custom URL name with resolve_vanity_url first."New value: +"17-digit SteamID64. Omit to use the STEAM_ID configured on the server. Convert a vanity/custom URL name with resolve_vanity_url first."
    • removedInput schema / required
      Removed value: -[
      -  "steamid"
      -]
  9. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, but the description adds crucial behavioral details: the cap of 50 with returned vs total check, the fact that ordering is by playtime not recency, the auth/visibility requirement, and the failure mode. This goes well beyond the annotations and fully discloses behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is information-dense but every sentence earns its place. It front-loads the core action and scope, then covers the cap, ordering, alternative, and requirements without repetition or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and annotations covering safety, the description supplies all missing context: ordering logic, cap semantics, failure mode, and alternative routing. An agent has everything needed to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is only one parameter (steamid), and the schema description already covers its semantics completely (format, omission behavior, vanity URL conversion). The tool description adds no additional parameter-level meaning, so the baseline of 3 applies given 100% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List') and resource ('games a player has played in the last two weeks') with precise scope (recent vs total playtime, ordering by most-played). It explicitly distinguishes itself from get_owned_games, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear when-to-use context ('last two weeks') and explicitly names the alternative (get_owned_games) with the condition that selects it ('all-time library by playtime'). It also states the prerequisite (STEAM_API_KEY, public profile) and failure mode (found:false), leaving no ambiguity about when to invoke it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.