Skip to main content
Glama

imho.run game recommendations

Recommend Steam games

recommend
Read-onlyIdempotent

Steam games for someone who likes 1-3 given games, ranked by imho.run's recommender: the list imho.run's own tool shows for those games and filters. Use it instead of games_like when the user names several games, wants filters beyond free / co-op / Steam Deck (no PvP, no microtransactions, no grind, not too hard, no Early Access, release years, more niche or more popular), or says what they want in words: pass that as preferences ('cozy base building, no combat'); the result says which Steam tags it was read as. When the user reacts to the picks, call it again with liked / disliked: liked games join the seeds, disliked ones never come back. Each pick has a one-line reason naming the seed it is closest to (similar_to), price, Steam Deck status, year, reviews, the imho.run URL and the Steam URL, plus tool_url (these games in imho.run's tool). Not for naming a game from a description (find_game_by_description) or facts about one game (game_facts). Games rated for adults only (explicit sexual content) are not covered; filtering is best effort.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nNo
langNoLanguage of the `why` lines.en
likedNoOther games the user said they liked (e.g. from earlier answers). They fill free seed slots after `seeds` (3 in all); the rest are listed in `ignored`.
seedsYes1-3 games the user likes: names, Steam appids or Steam URLs.
filtersNoAll optional. Leave out what the user did not ask for.
dislikedNoGames the user disliked or already played: never recommended. Pass earlier picks the user rejected to get fresh ones.
preferencesNoWhat the user wants or wants to avoid, in their words (any language), e.g. 'dragons and crafting, no horror, no grind'. Read as Steam tags.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
langYes
queryYes
seedsYes
sourceYes
filtersYes
ignoredNoliked / disliked games not used: no match, or liked past the 3 seed slots.
resultsYes
tool_urlYesimho.run's tool with these games picked; the user can tune filters there.
attributionYes
preferencesNoHow `preferences` were read as Steam tags.
generated_atYes
preferred_tagsNo
preferences_appliedNonull without `preferences`; false when they could not be read.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare it is a safe, idempotent read; the description goes further by disclosing the ranking engine, the seed-slot behavior of liked games (fill free slots after seeds; overflow listed in ignored), the 'disliked never come back' rule, the per-pick fields returned, and a coverage limit (adult-only explicit games not covered; filtering best effort). These are traits not derivable from the annotations.

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

Conciseness4/5

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

Purpose, source and sibling contrast are front-loaded, and nearly every clause carries operative detail. It is a single dense block that runs long, so an agent must parse carefully, but little is filler.

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, return values need not be explained, yet the description summarizes the pick fields anyway (similar_to, price, Deck status, year, reviews, imho.run URL, Steam URL, tool_url). Combined with filter guidance, exclusions and coverage caveats, nothing an agent needs to call this correctly is missing.

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

Parameters4/5

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

Schema coverage is 86%, so the structured field descriptions carry most of the load (baseline 3). The description adds real meaning for preferences ('read as Steam tags', any language, and the result reports which tags it inferred) and for the feedback semantics of liked/disliked, but does not restate filter syntax.

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+resource (Steam game recommendations seeded by 1-3 games), names the ranking source (imho.run's recommender) and the output shape. It explicitly contrasts with the sibling games_like, so an agent can select between them without opening either schema.

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?

Gives explicit when-to-use conditions versus games_like (several named games, filters beyond free/co-op/Deck, natural-language descriptions of what the user wants) and explicit when-not cases (find_game_by_description for naming a game from a description, game_facts for single-game facts). The feedback-loop invocation pattern is also spelled out.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources