deals
Pack: cheapshark · Endpoint: https://gateway.pipeworx.io/cheapshark/mcp
Search PC game deals across digital stores (Steam, GOG, Humble, etc.) filtered by store, price range, Metacritic score, Steam rating, title, or sale status; returns deal ID, sale price, normal price, savings %, and store.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
storeID | string | no | Comma-sep store IDs. See stores(). |
pageNumber | number | no | |
pageSize | number | no | |
sortBy | string | no | DealRating | Title | Savings | Price | Metacritic | Reviews | Release | Store | Recent |
desc | boolean | no | |
lowerPrice | number | no | |
upperPrice | number | no | |
metacritic | number | no | |
steamRating | number | no | |
steamAppID | number | no | |
title | string | no | |
exact | boolean | no | |
AAA | boolean | no | |
steamworks | boolean | no | |
onSale | boolean | no |
Example call
Arguments
{
"storeID": "1,2,6",
"pageNumber": 0,
"pageSize": 20,
"sortBy": "Savings",
"desc": true,
"onSale": true
}
curl
curl -X POST https://gateway.pipeworx.io/cheapshark/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"deals","arguments":{"storeID":"1,2,6","pageNumber":0,"pageSize":20,"sortBy":"Savings","desc":true,"onSale":true}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('deals', {
"storeID": "1,2,6",
"pageNumber": 0,
"pageSize": 20,
"sortBy": "Savings",
"desc": true,
"onSale": true
});
More examples
{
"title": "Elden Ring",
"lowerPrice": 20,
"upperPrice": 60,
"metacritic": 80,
"AAA": true
}
Response shape
| Field | Type | Description |
|---|---|---|
items | array | |
count | number | Number of items returned. |
Full JSON Schema
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"internalName": {
"type": "string"
},
"title": {
"type": "string",
"description": "Deal title"
},
"metacriticLink": {
"type": [
"string",
"null"
]
},
"dealID": {
"type": "string",
"description": "Unique deal identifier"
},
"storeID": {
"type": "string",
"description": "Store identifier"
},
"gameID": {
"type": "string",
"description": "Game ID associated with deal"
},
"salePrice": {
"type": "string",
"description": "Current sale price"
},
"normalPrice": {
"type": "string",
"description": "Normal retail price"
},
"isOnSale": {
"type": "string",
"description": "Whether deal is currently on sale"
},
"savings": {
"type": "string",
"description": "Savings percentage"
},
"metacriticScore": {
"type": "string",
"description": "Metacritic score"
},
"steamRatingText": {
"type": [
"string",
"null"
],
"description": "Steam rating text"
},
"steamRatingPercent": {
"type": "string",
"description": "Steam rating percentage"
},
"steamRatingCount": {
"type": "string"
},
"steamAppID": {
"type": [
"string",
"null"
]
},
"releaseDate": {
"type": "number",
"description": "Unix timestamp of release date"
},
"lastChange": {
"type": "number",
"description": "Unix timestamp of last change"
},
"dealRating": {
"type": "string",
"description": "Deal rating score"
},
"thumb": {
"type": "string",
"description": "Thumbnail image URL"
}
}
}
},
"count": {
"type": "number",
"description": "Number of items returned."
}
}
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"cheapshark": {
"url": "https://gateway.pipeworx.io/cheapshark/mcp"
}
}
}
See Getting Started for client-specific install steps.