search_deals
Pack: gamedeals · Endpoint: https://gateway.pipeworx.io/gamedeals/mcp
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/search_deals for the schema, then POST the same URL with its arguments for the data.
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
| Name | Type | Required | Description |
|---|---|---|---|
title | string | no | Filter deals by game title (partial match supported) |
upper_price | number | no | Maximum price filter (e.g., 5 for deals under $5) |
lower_price | number | no | Minimum price filter |
store_id | string | no | Filter by store ID (use list_stores to get IDs) |
sort_by | string | no | Sort order: “Deal Rating” (default), “Price”, “Metacritic”, or “Reviews” |
page_size | number | no | Number 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
| Field | Type | Description |
|---|---|---|
total | number | Total number of deals returned |
deals | array |
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.