epic-gog-free-games-mcp
Reports current free games and upcoming free games from the Epic Games Store, including claim windows and store URLs.
Reports current GOG giveaways (limited-time claim-and-keep) and permanently free/free-to-play titles from the GOG catalog.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@epic-gog-free-games-mcpWhat free games are available on Epic Games Store right now?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
epic-gog-free-games-mcp
A tiny, read-only Model Context Protocol server that reports free games on the Epic Games Store and GOG.com. No account, no credentials, no local filesystem access, no writes — it only calls public store endpoints.
Built for the lab's obot instance because no maintained, self-hostable Epic/GOG
MCP exists (the commonly-cited pixfishx/mcp-epic-free-games was removed from GitHub and PyPI).
Tools
Tool | What it returns |
| Games free to claim right now on the Epic Games Store (title, normal price, store URL, claim window, image). |
| The next Epic free games (with the date each becomes free). Unrevealed "Mystery Game" slots are returned with a |
| The current GOG giveaway (limited-time claim-and-keep), or |
| Free / free-to-play titles from the GOG catalog (price = 0). These are permanently free / F2P, not giveaways. Demos excluded by default. |
All tools take only optional args (country, limit, excludeDemos, countryCode,
currencyCode). Nothing is required; the server installs and runs unconfigured.
Related MCP server: gamelibs-mcp
Data sources (all public, unauthenticated)
Epic:
store-site-backend-static.ak.epicgames.com/freeGamesPromotionsGOG giveaway:
www.gog.com/giveaway/api/get(404 = no active giveaway)GOG catalog:
catalog.gog.com/v1/catalog?price=between:0,0
Run it
Requires Node.js 20+ (uses global fetch).
npx github:OnTarget600/epic-gog-free-games-mcp # stdio MCP server
# or, from a clone:
npm install && npm start
npm run selftest # hit the live endpoints, print resultsMCP client config (stdio)
{
"mcpServers": {
"epic-gog-free-games": {
"command": "npx",
"args": ["github:OnTarget600/epic-gog-free-games-mcp#v0.1.0"]
}
}
}Security notes
Read-only. No tool mutates anything; there is no auth and no secret to leak.
Egress only to the three hosts above. No telemetry.
Store review/description text is third-party content — treat tool output as untrusted data, not instructions (standard prompt-injection hygiene).
Pin to a tag/commit (e.g.
#v0.1.0) so a future push can't change behaviour silently.
License
MIT
Available Tools
4 toolsepic_free_games_currentA
List games that are FREE TO CLAIM right now on the Epic Games Store (limited-time, claim-and-keep). Returns title, description, normal price, store URL, claim window and image.
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | ISO country code for pricing/availability (default US). | US |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It indicates the tool is a read-only operation returning a list with time-sensitive claim windows. However, it does not explicitly state that it is safe and non-destructive, though implied.
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, well-structured sentence that conveys purpose, scope, and return content without any fluff. Every part earns its place.
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?
For a simple list tool with no output schema, the description covers the return fields well. However, it does not mention possible pagination or limits, though these may not be critical. Overall fairly complete.
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 only parameter 'country' is described in the schema. The description adds no additional meaning beyond the schema, thus baseline 3 is appropriate.
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 verb 'List', the resource 'games', and the specific context 'FREE TO CLAIM right now on the Epic Games Store'. It distinguishes from siblings like epic_free_games_upcoming by emphasizing 'right now' and adds return details.
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 implicitly distinguishes from epic_free_games_upcoming by using 'right now', but does not explicitly state when to use this tool versus siblings or provide exclusions. No mention of GOG alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
epic_free_games_upcomingA
List the NEXT free games coming to the Epic Games Store (announced upcoming giveaways), with the date each becomes free.
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | ISO country code (default US). | US |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description says it lists games with dates, but does not disclose potential rate limits, pagination, data freshness, or output structure beyond 'date each becomes free'.
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?
Single sentence, front-loaded with key information ('list the NEXT free games'), no unnecessary words.
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?
For a simple list tool with one optional parameter, the description covers the main purpose and what to expect (dates). Could hint at output format but overall sufficient.
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?
Only parameter 'country' is documented in schema with default and description. Tool description adds no extra meaning beyond what schema already provides.
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 explicitly states it lists 'NEXT free games' on Epic Games Store with dates, clearly differentiating from 'current' giveaways and GOG siblings via naming and context.
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 phrase 'NEXT free games' and mention of 'announced upcoming giveaways' implies using for future giveaways, distinct from current. No explicit when-not-to-use, but sibling names provide context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gog_free_gamesA
List free / free-to-play games from the GOG catalog (price = 0). NOTE: these are permanently-free or F2P titles, not limited-time giveaways — use gog_giveaway for those. Demos are excluded by default.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max games to return, 1-48 (default 20). | |
| excludeDemos | No | Filter out titles containing 'Demo' (default true). | |
| countryCode | No | ISO country code (default US). | US |
| currencyCode | No | Currency code (default USD). | USD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description carries full burden. It discloses that demos are excluded by default and the scope (permanent free, not giveaways). Could mention more about authentication or rate limits, but adequate for a simple list tool.
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?
Two sentences, no fluff, front-loaded with core purpose and key distinction.
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?
No output schema, but description covers purpose, key limitations (permanent free only, demos excluded), and distinguishes from sibling. Lacks pagination or result details, but sufficient for a filter/list tool.
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 schema already explains each parameter. Description adds minimal extra meaning beyond schema (e.g., 'excluded by default'), so baseline 3 is appropriate.
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?
Clearly states the tool lists permanently-free/F2P games from GOG with price=0, and distinguishes from gog_giveaway for limited-time giveaways.
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 says when to use (for permanent free titles) and when not to (use gog_giveaway for giveaways), providing a clear alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gog_giveawayA
Get the current GOG.com giveaway (a limited-time claim-and-keep game), if one is active. Returns {active:false} when there is no giveaway running.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the return value when no giveaway is active ({active:false}), but does not mention authentication, rate limits, or other behavioral traits. Adequate but minimal.
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?
Two sentences, front-loaded with purpose, no extraneous information. Every sentence earns its place.
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 parameters, no output schema, and simple behavior, the description is complete enough. It explains the return format. Could mention error cases or polling frequency, but not required for this basic tool.
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?
No parameters exist (0 params, 100% schema coverage), so baseline is 4. Description adds nothing beyond schema, but no parameter information is 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?
Description clearly states 'Get the current GOG.com giveaway' with a specific verb and resource, and distinguishes from sibling tools like epic_free_games_current and gog_free_games by focusing on the limited-time claim-and-keep aspect.
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 implies use when checking for current giveaway, but does not explicitly state when to use this tool versus alternatives (e.g., for upcoming giveaways or other free games). No when-not-to-use or alternative tool names are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool targets a distinct combination of platform (Epic vs GOG) and type (current free, upcoming, permanently free, giveaway). No ambiguity between them.
Names follow a consistent pattern: platform_descriptor, using snake_case and clear descriptive suffixes (current, upcoming, free_games, giveaway). Highly predictable.
Four tools perfectly cover the core free game use cases for both stores. No excess or deficiency for this focused domain.
Covers all main free game scenarios: current and upcoming offers on Epic, permanently free and limited-time giveaways on GOG. Minor gap: no history of past giveaways, but that's outside the typical scope.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
Public MCP server for discovering open jobs. Search, filter, and get application links.
Free, no-key Bible MCP server — 86 translations in 32 languages, from any MCP client.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRead-only MCP server for Discord that lists guilds, channels, and reads or searches messages using a self-bot account via discord.py-self.MIT
- AlicenseAqualityBmaintenanceAn MCP server that exposes your Steam, Epic Games Store, and IGDB game data as tools, enabling game library queries, install status checks, and metadata enrichment.122MIT
- FlicenseAqualityCmaintenanceLocal, read-only MCP server that connects to Discord via REST API, allowing listing guilds, channels, and messages with strict access controls and no write operations.5
- AlicenseNot gradedqualityBmaintenanceA read-only MCP server that exposes Komga reading data via Streamable HTTP, providing tools for searching comics, listing unread series, and tracking reading progress.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/OnTarget600/epic-gog-free-games-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server