Skip to main content
Glama
brewek

GG Deals MCP Server

by brewek
README.md
# mcp-server-ggdeals

[![CI](https://github.com/brewek/mcp-server-ggdeals/actions/workflows/ci.yml/badge.svg)](https://github.com/brewek/mcp-server-ggdeals/actions/workflows/ci.yml)

A Model Context Protocol (MCP) server for integrating with [gg.deals](https://gg.deals/). Designed for Large Language Models to fetch game prices, historical lows, and bundles.

## Installation & Usage

Use `npx` to run the server instantly in your MCP Client (e.g., Claude Desktop). No cloning required.

**`claude_desktop_config.json`:**

```json
{
  "mcpServers": {
    "ggdeals": {
      "command": "npx",
      "args": ["-y", "mcp-server-ggdeals"],
      "env": {
        "GG_DEALS_API_KEY": "your_api_key_here"
      }
    }
  }
}
```

You can generate your API key at [https://gg.deals/settings/](https://gg.deals/settings/) -> **Connections** -> **GG.deals API key**.

## Available Tools

`

- `search_games`: Find a base game ID by title. (Note: This tool queries Steam Store API to retrieve Steam App ID, which is used for all gg.deals api calls).
- `get_game_prices`: Fetch current prices (Official & Keyshops).
- `get_historical_low`: Fetch the all-time lowest price.
- `get_game_bundles`: Fetch Premium/Deluxe DLC bundles linked to a base game.

## Architecture

Minimalist and modular codebase built with TypeScript and `Zod`:

- `src/index.ts`: MCP routing & initialization
- `src/api.ts`: Shared Axios client & error handling
- `src/search.ts`: Search logic
- `src/prices.ts`: Pricing & historical data
- `src/bundles.ts`: Bundles discovery

## Development

```bash
npm install
npm run build
npm run dev
```

TDQS

A3.9/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a distinct purpose: search_games finds games by title, get_game_prices retrieves current prices, get_historical_low gets all-time lows, and get_game_bundles fetches package variants. There is no meaningful overlap or ambiguity between them.

Naming Consistency5/5

All tool names follow the same snake_case verb_noun pattern: search_games, get_game_prices, get_historical_low, get_game_bundles. The convention is uniform and predictable, making the tool set easy to navigate.

Tool Count5/5

With only 4 tools, the server is tightly scoped to its core purpose of looking up game pricing information. Each tool earns its place and the count feels appropriate rather than thin or bloated.

Completeness4/5

The server covers the primary workflow of searching for a game, checking current prices, viewing historical lows, and fetching bundles. Minor gaps exist such as browsing recent deals or filtering prices by store, but the surface is largely complete for its stated purpose.

Maintenance

ActivityInactive
ResponsivenessNo issues