Skip to main content
Glama

steam_should_i_buy

Read-only

Check a single Steam game's price, reviews, Metacritic score, and tags against your taste to get a clear buy-or-skip verdict. Personalize with your Steam ID for accurate match.

Instructions

Decide whether to buy ONE specific game — price, recent + lifetime reviews, tags, Metacritic, and taste match in one call; for evaluating a single known game, not finding new ones.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changedv1.18.0
    • removedInput schema / $defs / ResponseFormat
      Removed value: -{
      -  "description": "Output format for tool responses.",
      -  "enum": [
      -    "markdown",
      -    "json"
      -  ],
      -  "title": "ResponseFormat",
      -  "type": "string"
      -}
    • removedInput schema / $defs / ShouldIBuyInput / properties / appid / title
      Removed value: -"Appid"
    • removedInput schema / $defs / ShouldIBuyInput / properties / country_code / title
      Removed value: -"Country Code"
    • removedInput schema / $defs / ShouldIBuyInput / properties / response_format / $ref
      Removed value: -"#/$defs/ResponseFormat"
    • addedInput schema / $defs / ShouldIBuyInput / properties / response_format / enum
      Added value: +[
      +  "markdown",
      +  "json"
      +]
    • addedInput schema / $defs / ShouldIBuyInput / properties / response_format / type
      Added value: +"string"
    • removedInput schema / $defs / ShouldIBuyInput / properties / steamid / default
      Removed value: -null
    • removedInput schema / $defs / ShouldIBuyInput / properties / steamid / title
      Removed value: -"Steamid"
    • removedInput schema / $defs / ShouldIBuyInput / title
      Removed value: -"ShouldIBuyInput"
    • removedInput schema / title
      Removed value: -"steam_should_i_buyArguments"
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "result": {
      -      "title": "Result",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "result"
      -  ],
      -  "title": "steam_should_i_buyOutput",
      -  "type": "object"
      -}New value: +null
  2. First observedv1.14.0

TDQS

A4/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true, so the safety profile is covered. The description adds useful behavioral context by listing the data sources consulted (price, reviews, tags, Metacritic) and the scope (single game). It does not describe the output format or that it returns a recommendation, but given the read-only annotation and the tool's simplicity, the added context is valuable and not contradictory.

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 a single, well-structured sentence that front-loads the core purpose and follows with the distinguishing scope. Every phrase earns its place—no filler, no redundancy. It is an excellent model of concise writing.

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

Completeness3/5

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

The tool is moderately complex (one call to synthesize multiple signals into a buy decision) and has no output schema. The description covers the purpose and scope but omits what the response looks like (e.g., a recommendation with reasoning, a score, or a binary yes/no). It also lacks parameter guidance. While the purpose is clear, an agent is left guessing about the return format and how to customize the request. This is a meaningful gap, so a 3 is appropriate.

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?

The description does not explain any parameters. The schema provides descriptions for appid and steamid, but country_code and response_format have no descriptions. With schema description coverage at 0% in the tool description, the description fails to compensate for the two undocumented parameters. It mentions the data sources but does not map them to parameters, leaving an agent uncertain about how to set country_code or response_format. This is a significant gap.

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 clearly states a specific verb ('Decide whether to buy') and a specific resource ('ONE specific game'), and enumerates the key inputs (price, reviews, tags, Metacritic, taste match). It explicitly scopes to evaluating a single known game, which distinguishes it from sibling tools like steam_search_apps or steam_discover that focus on discovery. This is a precise, unambiguous purpose.

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

Usage Guidelines4/5

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

The description explicitly states the use case: 'for evaluating a single known game, not finding new ones.' This gives clear context for when to use this tool versus alternatives, though it does not name specific sibling tools or provide explicit exclusions beyond the discovery contrast. A slight upgrade would name alternatives, but the current guidance is sufficient.

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