Skip to main content
Glama

steam_recommend

Read-only

Find games like a title you love or suited to your taste; each recommendation explains the shared tags that make it a match.

Instructions

Recommend games similar to a seed game ("like Hades") or to a user's taste, explaining the shared tags; for "games like X" / "what should I play" (for filtered search use steam_discover).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed17 schema fields changedv1.18.0
    • removedInput schema / $defs / RecommendInput / properties / country_code / title
      Removed value: -"Country Code"
    • removedInput schema / $defs / RecommendInput / properties / limit / title
      Removed value: -"Limit"
    • removedInput schema / $defs / RecommendInput / properties / max_price / default
      Removed value: -null
    • removedInput schema / $defs / RecommendInput / properties / max_price / title
      Removed value: -"Max Price"
    • removedInput schema / $defs / RecommendInput / properties / response_format / $ref
      Removed value: -"#/$defs/ResponseFormat"
    • addedInput schema / $defs / RecommendInput / properties / response_format / enum
      Added value: +[
      +  "markdown",
      +  "json"
      +]
    • addedInput schema / $defs / RecommendInput / properties / response_format / type
      Added value: +"string"
    • removedInput schema / $defs / RecommendInput / properties / seed_appid / default
      Removed value: -null
    • removedInput schema / $defs / RecommendInput / properties / seed_appid / title
      Removed value: -"Seed Appid"
    • removedInput schema / $defs / RecommendInput / properties / steamid / default
      Removed value: -null
    • changedInput schema / $defs / RecommendInput / properties / steamid / description
      Previous value: -"Recommend from this user's taste (most-played + recent); also excludes games they already own. SteamID64, vanity, or profile URL."New value: +"Excludes games this user already owns; seeds the tags from their taste (most-played + recent) only when no seed_appid/tags are given. SteamID64, vanity, or profile URL."
    • removedInput schema / $defs / RecommendInput / properties / steamid / title
      Removed value: -"Steamid"
    • removedInput schema / $defs / RecommendInput / properties / tags / title
      Removed value: -"Tags"
    • removedInput schema / $defs / RecommendInput / title
      Removed value: -"RecommendInput"
    • removedInput schema / $defs / ResponseFormat
      Removed value: -{
      -  "description": "Output format for tool responses.",
      -  "enum": [
      -    "markdown",
      -    "json"
      -  ],
      -  "title": "ResponseFormat",
      -  "type": "string"
      -}
    • removedInput schema / title
      Removed value: -"steam_recommendArguments"
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "result": {
      -      "title": "Result",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "result"
      -  ],
      -  "title": "steam_recommendOutput",
      -  "type": "object"
      -}New value: +null
  2. First observedv1.14.0

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already carry readOnlyHint=true, so the safety profile is covered without description effort. The description adds one useful behavioral trait — that output includes shared-tag explanations — but does not disclose return format, pagination, or how steamid ownership exclusion affects results. Modest value-add beyond annotations, not rich context.

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?

One sentence of roughly 25 words, front-loading the action and the key scoping (seed game vs user taste) before routing to the sibling alternative. Every clause earns its place; no filler.

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

Completeness4/5

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

For a 7-parameter recommendation tool with no output schema, the description covers the core decision factors: what it does, when to use it, and which sibling handles the adjacent case (steam_discover). Remaining gaps — no mention of price filtering, response format choice, or owned-game exclusion — are secondary because the schema documents the parameters, and none of them block correct tool selection.

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

Parameters2/5

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

Schema description coverage is reported at 0%, so the description must compensate, but it only loosely maps two main modes ('seed game' → seed_appid, 'user's taste' → steamid) and says nothing about limit, max_price, tags precedence, response_format, or country_code. The 'like Hades' example helps but is not a substitute for parameter documentation.

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?

States a specific verb and resource ('Recommend games'), names two input modes (seed game, user's taste), gives a concrete example ('like Hades'), and notes the explanatory output (shared tags). It explicitly distinguishes itself from steam_discover, making selection unambiguous against a very large sibling set.

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?

Explicitly names the target use cases ('games like X' / 'what should I play') and gives an explicit exclusion with an alternative: 'for filtered search use steam_discover'. This is exactly the when-to-use/when-not-to-use guidance the dimension asks for.

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