search_deals

Pack: gamedeals · Endpoint: https://gateway.pipeworx.io/gamedeals/mcp

Search active game deals with optional filters by store, platform, or discount level. Returns deal title, store, sale price, normal price, savings %, Metacritic score, and deal rating.

Parameters

NameTypeRequiredDescription
titlestringnoFilter deals by game title (partial match supported)
upper_pricenumbernoMaximum price filter (e.g., 5 for deals under $5)
lower_pricenumbernoMinimum price filter
store_idstringnoFilter by store ID (use list_stores to get IDs)
sort_bystringnoSort order: “Deal Rating” (default), “Price”, “Metacritic”, or “Reviews”
page_sizenumbernoNumber of results to return (default: 10, max: 60)

Example call

Arguments

{
  "upper_price": 10,
  "sort_by": "Deal Rating",
  "page_size": 20
}

curl

curl -X POST https://gateway.pipeworx.io/gamedeals/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_deals","arguments":{"upper_price":10,"sort_by":"Deal Rating","page_size":20}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('search_deals', {
  "upper_price": 10,
  "sort_by": "Deal Rating",
  "page_size": 20
});

More examples

{
  "title": "Elden Ring",
  "store_id": "1",
  "lower_price": 20,
  "upper_price": 50
}

Response shape

Always returns: total, deals

FieldTypeDescription
totalnumberTotal number of deals returned
dealsarray
Full JSON Schema
{
  "type": "object",
  "properties": {
    "total": {
      "type": "number",
      "description": "Total number of deals returned"
    },
    "deals": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "game_id": {
            "type": "string",
            "description": "CheapShark game ID"
          },
          "deal_id": {
            "type": "string",
            "description": "Unique deal identifier"
          },
          "title": {
            "type": "string",
            "description": "Game title"
          },
          "store_id": {
            "type": "string",
            "description": "Store ID where deal is available"
          },
          "sale_price": {
            "type": "number",
            "description": "Current sale price in USD"
          },
          "normal_price": {
            "type": "number",
            "description": "Regular/normal price in USD"
          },
          "savings_percent": {
            "type": "number",
            "description": "Discount percentage"
          },
          "metacritic_score": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Metacritic score (0-100) or null if unavailable"
          },
          "steam_rating_percent": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Steam user rating percentage or null if unavailable"
          },
          "deal_rating": {
            "type": "number",
            "description": "Community deal rating score"
          },
          "thumb": {
            "type": "string",
            "description": "Thumbnail image URL"
          }
        },
        "required": [
          "game_id",
          "deal_id",
          "title",
          "store_id",
          "sale_price",
          "normal_price",
          "savings_percent",
          "deal_rating",
          "thumb"
        ]
      }
    }
  },
  "required": [
    "total",
    "deals"
  ]
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "gamedeals": {
      "url": "https://gateway.pipeworx.io/gamedeals/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build May 9, 2026