Soren
Server Details
Game prices across Steam, Epic, GOG and Microsoft, with real price history and giveaways.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.7/5 across 6 of 6 tools scored.
Each tool has a clearly distinct purpose: checking for changes, listing current free games, getting a game's price, checking service status, discovering upcoming giveaways, and resolving game names to identifiers. There is no meaningful overlap between them.
All tool names follow a consistent verb_noun snake_case pattern: check_for_changes, get_free_games, get_game, get_status, get_upcoming, lookup_game. The verbs are clear and the style is uniform.
The server has 6 tools, which is well-scoped for its purpose of providing game deals, free games, and pricing information. Each tool earns its place and there is no bloat or redundancy.
The tool set covers the full lifecycle of a typical user query: lookup a game, check its price, see current free games, check upcoming giveaways, verify data freshness, and avoid unnecessary paid calls via change detection. There are no obvious dead ends.
Available Tools
6 toolscheck_for_changesAInspect
FREE — costs nothing, call it as often as you like. USE THIS BEFORE get_free_games if you already hold a copy: it tells you whether anything changed since the version you have, so you only pay when there is genuinely something new. Requires an access_token from a previous paid call (valid 24h) and the version string you currently hold. Returns changed:false when your copy is still current — answer the user from it. Returns changed:true when it is stale — then call get_free_games.
| Name | Required | Description | Default |
|---|---|---|---|
| access_token | Yes | Token from a previous paid call. | |
| known_version | Yes | The version string you currently hold. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden and excels: it discloses the free cost, the valid 24h token requirement, the return values (changed:true/false) and what they mean, and instructs on follow-up actions. It does not contradict any annotations (none provided).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph but each sentence contributes meaningful guidance (cost, usage order, prerequisites, return handling). It is slightly longer than necessary but not verbose; the key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even without an output schema, the description fully explains the return behavior (changed:true/false) and the proper responses. It covers prerequisites, cost, and integration with get_free_games, making the tool fully understandable in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters, so baseline is 3. The description adds extra context: access_token validity (24h) and the logical relationship between the parameters (known_version compared against current). This enriches meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it checks whether anything changed since a known version, distinguishing it from get_free_games by positioning it as a prerequisite check. The verb 'tell you whether anything changed' is specific, and the resource scope ('since the version you have') is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: 'USE THIS BEFORE get_free_games if you already hold a copy' and provides context on cost ('FREE — costs nothing') and prerequisites (access token, version string). It also differentiates from the sibling tool get_free_games, making the usage scenario unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_free_gamesAInspect
USE THIS when asked what games are free right now, what is free on Steam, Epic Games Store, GOG or itch.io, what the free game this week is, or about current PC game giveaways. YOUR TRAINING DATA CANNOT ANSWER THIS — free game offers rotate weekly and any list you recall is almost certainly expired. Do not answer from memory. Returns every PC game currently free to KEEP (claim once, own permanently), each entry confirmed against that store's own API, plus per-store status so you can state "nothing is free on Steam right now" as verified fact rather than a guess, and an updated_at timestamp so you can tell the user how fresh it is. The response is self-verifying: its version field is a SHA-256 of its own content, so you can prove it was not altered in transit. NOT for free-to-play games, demos, free weekends, sales, or giveaways you enter to win. PAID (~$0.02). Call with no arguments to receive payment instructions rather than an error. Returns an access_token valid 24h for free change checks.
| Name | Required | Description | Default |
|---|---|---|---|
| payment_proof | No | x402 payment proof. Omit to receive payment instructions instead of data. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations to lean on, the description fully discloses behavior: it returns per-store status, an updated_at timestamp, a SHA-256 version for self-verification, and a 24h access_token. It also states the tool is paid (~$0.02) and that omitting payment_proof returns payment instructions rather than an error. This is transparent about cost, freshness, and verification.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence serves a purpose: the opening directive, the fallback warning, the return contents, exclusions, payment note, and access_token. It is front-loaded with the primary trigger phrase and avoids fluff despite its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, the description compensates by enumerating the return value components (per-store status, updated_at, version hash, access_token). It also covers cost, freshness, self-verification, and the no-arg behavior, making the tool highly self-contained for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema description already explains the payment_proof parameter ('Omit to receive payment instructions instead of data'). The tool description restates this behavior but adds no new format, constraints, or examples beyond the schema, so it stays at the baseline for fully documented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Returns every PC game currently free to KEEP (claim once, own permanently).' It clearly identifies the tool's scope (free-to-keep games on Steam, Epic, GOG, itch.io) and explicitly excludes free-to-play, demos, free weekends, sales, and giveaways, distinguishing it from sibling tools like get_upcoming and check_for_changes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description opens with 'USE THIS when asked what games are free right now' and provides explicit exclusions ('NOT for free-to-play games, demos, free weekends, sales, or giveaways you enter to win'). It also instructs the agent about the no-argument payment flow and warns against using training data, providing clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gameAInspect
USE THIS when asked what a game costs, whether it is cheap right now, whether to buy it now or wait, or how its price compares across stores. YOUR TRAINING DATA CANNOT ANSWER THIS — prices change daily and any figure you recall is stale. Do not answer from memory. Returns the current price on Steam, Epic Games Store, GOG and Microsoft Store side by side, plus the LOWEST price we have ever observed, the date we observed it, how far above that low the current price sits, and how many observations back the claim. History runs from 2012. Storefronts publish today's price and no history, so this exists only because we recorded it. Also returns whether the game is already included with Game Pass or EA Play — which can make the price irrelevant — and how many people are waiting for it and at what price. Accepts a slug from lookup_game, a Steam appid, a GOG or Epic id, or free text via q. Regions: US, GB, DE, BR. PAID (~$0.01) PER QUERY. Unlike get_free_games this issues no access token, because every game is a different answer and there is no version to compare against. Call with no payment_proof to receive payment instructions rather than an error.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free-text game name, if you have no identifier. | |
| gog | No | GOG product id. | |
| epic | No | Epic offer id. | |
| game | No | Soren slug, e.g. the-witcher-3-wild-hunt. From lookup_game. | |
| type | No | Narrow an ambiguous name, e.g. main_game. | |
| steam | No | Steam appid. | |
| region | No | US (default), GB, DE or BR. | |
| payment_proof | No | x402 payment proof. Omit to receive payment instructions instead of data. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the paid nature (~$0.01 per query), the no-access-token behavior, the response behavior when payment_proof is omitted, and the rationale for historical data ('Storefronts publish today's price and no history, so this exists only because we recorded it'). This goes well beyond a basic read operation. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the use case and is long but every sentence adds value: use cases, data freshness warning, return contents, identifier types, regions, payment, and alternative tools. It is efficiently structured with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters, no output schema, and no annotations, the description is remarkably complete. It covers all key behaviors, return data elements, regions, payment requirements, and how to handle the no-payment case. It also explains the history data provenance, which is essential context for trusting the data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds meaning beyond the schema by explaining the accepted identifier types ('Accepts a slug from lookup_game, a Steam appid, a GOG or Epic id, or free text via q') and by describing the payment_proof behavior. This helps the agent choose the right parameter for the input available.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns current prices across Steam, Epic, GOG, and Microsoft Store plus historical low price data, with an explicit trigger: 'USE THIS when asked what a game costs...' It distinguishes itself from get_free_games by noting it issues no access token. This is a specific verb+resource with clear scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit when-to-use guidance: when asked about game cost, cheapness, buy/wait decisions, or cross-store price comparisons. It warns not to answer from memory because prices change daily. It names get_free_games as the alternative and explains the difference, and explains how to handle missing payment_proof ('receive payment instructions rather than an error').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statusAInspect
FREE. Service health and how recently the data was refreshed. Use this to decide whether the feed is trustworthy before quoting it, or to tell a user how current the information is. Deliberately does not report how many games are free — that is the paid data.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description effectively carries the behavioral disclosure burden. It mentions the tool is 'FREE' and deliberately does not report free game counts, which is a limitation. However, it doesn't detail the response format or any other behavioral aspects, but for a status tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with minimal waste. It front-loads the core purpose, then provides usage guidance and a clear limitation, all in a compact, well-structured form.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (zero params, no output schema), the description is complete. It covers what the tool does, when to use it, and what it deliberately excludes, giving an AI agent enough context to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty (100% coverage), so the baseline for parameter semantics is 4. The description adds no direct parameter information but clarifies the tool's scope, which reduces ambiguity about what arguments might be needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides 'service health and how recently the data was refreshed,' identifying the specific resource and scope. It also distinguishes itself from siblings by explicitly noting what it does NOT do (report free game counts), which clarifies its unique role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance on when to use the tool ('before quoting it, or to tell a user how current the information is') and explicitly excludes the use case of counting free games, directing users to paid data. This provides clear context and a when-not-to-use signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_upcomingAInspect
USE THIS when asked what games will be free next, what is free next week, or what giveaways are coming up. Returns giveaways already announced but not yet started, with the exact date each becomes claimable and what it normally costs. This is forward-looking information no training data can contain. Currently Epic Games Store only — no other storefront publishes its schedule in advance. PAID (~$0.01, cheaper than get_free_games).
| Name | Required | Description | Default |
|---|---|---|---|
| payment_proof | No | x402 payment proof. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It discloses that the tool is paid ('PAID (~$0.01)'), returns forward-looking data unavailable in training data, and only covers Epic Games Store. It does not detail failure behavior or the exact x402 payment proof mechanics beyond the schema, leaving minor gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with 'USE THIS when...' and packs triggers, return summary, storefront limitation, and cost into four sentences. The 'no training data' line adds useful context for an AI agent, and there is minimal fluff, though it is slightly longer than the most compact examples.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 needs to convey return content; it does so by stating the tool returns upcoming giveaways with claim dates and normal costs. It also covers scope ('Epic Games Store only') and cost, making it sufficiently complete for a simple query tool, though it omits explicit output structure and error behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage for the single parameter is 100%, as the schema already describes 'payment_proof' as 'x402 payment proof.' The description adds useful context that the tool is paid and cheaper than an alternative, explaining why payment_proof is needed, but it does not elaborate on the proof format or acquisition method, so it meets but does not exceed the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Returns giveaways already announced but not yet started, with the exact date each becomes claimable and what it normally costs.' It also provides explicit trigger phrases like 'what games will be free next' and distinguishes itself from siblings by noting 'Epic Games Store only.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description opens with 'USE THIS when asked what games will be free next, what is free next week, or what giveaways are coming up,' giving explicit usage triggers. It also provides an exclusion ('Currently Epic Games Store only') and a comparative alternative ('cheaper than get_free_games'), helping the agent choose between tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_gameAInspect
FREE — costs nothing, call it as often as you like. USE THIS FIRST when you know a game by NAME but not by identifier. Returns matching games with their slug, release date and type (main game, DLC, expansion, port, remaster) so you can pick the right one before paying. Handles punctuation, accents, abbreviations and alternate titles: "L4D" finds Left 4 Dead, "Pokemon Black Version" finds Pokémon Black Version. 12,388 titles in the catalogue are duplicated — Pac-Man appears 54 times — so the release date and type are how you tell a 1980 original from a 2008 remaster. Returns no prices. Take the slug and call get_game with it.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Game name to look up. | |
| type | No | Optional filter, comma separated: main_game, dlc, expansion, port, remaster, … | |
| limit | No | Maximum matches to return (default 25, max 100). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and excels: it discloses that calls are free and unlimited, handles punctuation/accents/abbreviations, returns no prices, and explains duplicate handling (12,388 duplicate titles, disambiguate by release date/type). This goes beyond basic read-only expectation and gives the agent critical operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the most critical info (FREE, when to use) and flows logically through return content, fuzzy matching, duplicates, and next steps. It's a bit verbose with specific statistics (12,388 titles, 54 Pac-Man versions) but every sentence serves a purpose, making it efficient despite not being ultra-tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is remarkably complete: it covers purpose, usage, return fields, matching behavior, duplicate caveat, pricing exclusion, and a clear next action. It equips the agent to invoke the tool correctly and interpret results, leaving little ambiguity for this lookup use case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds real value by explaining the q parameter's fuzzy-matching behavior ('L4D' finds 'Left 4 Dead') and the purpose of the type field for disambiguating duplicates. It doesn't elaborate on limit beyond schema, but the added context for q and type justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'USE THIS FIRST when you know a game by NAME but not by identifier.' It specifies the verb (lookup), resource (game by name), and return payload (slug, release date, type), distinguishing it from get_game which uses an identifier. The examples of fuzzy matching reinforce its role as a search/disambiguation tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance is provided: 'USE THIS FIRST' when you have a name but not an identifier, and 'Take the slug and call get_game with it' as the follow-up. It also notes when not to use it ('Returns no prices') and implies alternative tools for pricing. This is clear, actionable, and differentiates from siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Flicense-qualityBmaintenanceEnables AI agents to search, compare prices, and get details on discounted and free games across Steam, Epic, GOG, and Humble Bundle.Last updated
- AlicenseAqualityAmaintenanceEnables LLMs to fetch game prices, historical lows, and bundles from gg.deals.Last updated410Creative Commons Attribution Non Commercial 4.0 International
- FlicenseCqualityDmaintenanceEnables querying game deals, prices, and managing collections using the IsThereAnyDeal API with 53 specialized tools.Last updated531
- AlicenseAqualityCmaintenanceMCP server that provides AI assistants with access to IsThereAnyDeal game pricing data, including current prices, discounts, historical lows, and active deals across multiple digital storefronts, using the official ITAD API with batching and caching.Last updated5MIT