Skip to main content
Glama

plan_cheapest_way

Read-onlyIdempotent

Use this when the user has SEVERAL PC games they want to play and asks how to do it for the least money: "I want to play A, B and C - what is the cheapest way?", "Which Game Pass month should I take and what should I buy?", "Is it cheaper to subscribe or buy these games?", "Plan my backlog around Game Pass". Returns a month-by-month plan (which subscription month to pay for and which games to finish in it, which games to buy), totals versus buying every game at its cheapest measured real price (never list price), and the assumptions: hours per week, hours per game, leave dates and how fresh each price is. Games without a reliable main-story length (free to play, live service, multiplayer only) are left out of the time-based plan and listed separately. For ONE game use get_cheapest_way_to_play instead. Find game ids with search_games first.

Input Schema

NameRequiredDescriptionDefault
regionNoRegion: tr, us, eu or gb. Default: detected from the caller's IP, us when unknown.
currencyNoCurrency: USD, EUR, GBP or TRY. Default is the region's currency.
game_idsYesGame ids, 1-30: Steam AppID (e.g. 730) or IGDB id (e.g. igdb:1942).
hours_per_weekNoHours the user can play per week, 1-80. Default 10 (a subscription month is 4 weeks).
owned_subscriptionsNoSubscription codes the user already has, e.g. gp_pc, gp_ultimate, psplus_extra. Owned subscriptions cost nothing. Default none.
include_marketplacesNoInclude key marketplaces (Eneba, Kinguin, G2A...) as buy options. Default false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already establish this is a read-only, idempotent, non-open-world computation, and the description adds substantial behavior beyond that: it describes the shape of the result (month-by-month plan, totals, listed assumptions), the pricing basis ('cheapest measured real price (never list price)'), and the edge-case handling ('Games without a reliable main-story length ... are left out of the time-based plan and listed separately'). That is exactly the kind of non-structured context an agent cannot get from the schema.

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?

Front-loaded with the trigger condition and example utterances before the return-value and exclusion details, so the agent gets the routing decision immediately. It is long, but nearly every clause adds distinct information; only the quoted user phrasings border on redundant.

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?

There is no output schema, so the description must explain results, and it does: plan structure, comparison baseline, and the caveats (assumptions, freshness, excluded games). Combined with 100% parameter coverage and annotations covering the safety profile, nothing an agent needs to select or call this tool is missing.

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?

Schema description coverage is 100%, with region, currency, hours_per_week, owned_subscriptions and include_marketplaces all documented inline including defaults and ranges, so the schema carries the burden. The description only reinforces that ids come from search_games and lightly references assumptions like hours per week, adding no syntax beyond the schema. Baseline 3 applies.

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 ('plan the cheapest way to play several PC games') and gives a precise scope: multiple games, least money. It explicitly distinguishes itself from the sibling get_cheapest_way_to_play ('For ONE game use ... instead'), so an agent can separate the two 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?

Opens with a clear when-to-use condition and four verbatim user phrasings that should trigger it ('I want to play A, B and C - what is the cheapest way?', subscription-vs-buy questions, backlog planning). It also names the alternative for the single-game case and points to search_games for obtaining ids.

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