游戏折扣推荐服务

一款基于价格和官方/半官方元数据的游戏折扣推荐服务,提供发现折扣、比较价格、推荐适合的游戏等功能。

  • by sjh9714
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 jinhyuk9714/game-deals-mcp

使用说明

游戏交易mcp

game-deals-mcp是TypeScript MCP服务器,根据价格和正式/正式元数据推荐正在打折的游戏。 IsThereAnyDeal,将Steam Store、RAWG信息组合在一起,比起“便宜”,更注重“说明为什么推荐”。

问题意识

游戏折扣信息分为不同的来源:价格、平台兼容性、类型、评分和历史最低价。该项目设计了MCP tool surface,以便LLM在推荐游戏时同时返回价格依据和喜好依据。

交付工具

  • discover_deals:根据预算、类型、平台、多人游戏和排序搜索折扣游戏。
  • compare_game_price:比较特定游戏的当前价格、折扣率、销售商和历史最低价。
  • recommend_sale_games:以evinece-first方式推荐符合您的喜好和预算的折扣游戏。
  • explain_deal_value:以历史最低价说明现在是否值得购买。

推荐依据策略

recommend_sale_games遵循evicen-first协议。

  • ITAD:现在价,正常价,折扣率,销售点,历史最低价
  • Steam:官方兼容性依据,如Steam Deck Verified/Playable
  • RAWG:类型、标签、评分、元数据等

如果缺乏正式依据,可以清空结果。 Steam Deck unknown,title-only match,metadata-only match,weak overlay候选人不作为strict recommension证据使用。详细合同 docs/reference/recommend-sale-games-evidence.md在中整理。

远程连接

基于Cloudflare Workers的远程MCP地址:

https://game-deals-mcp.jinhyuk9714.workers.dev/mcp

食品法典:

codex mcp add game-deals-mcp --url https://game-deals-mcp.jinhyuk9714.workers.dev/mcp

在Claude Desktop等接收远程MCP URL的客户端上注册相同的URL即可。

健康检查和MCP route:

  • GET /
  • GET /health
  • GET|POST|DELETE|OPTIONS /mcp

本地运行

要求:

  • Node.js 22+
  • ITAD_API_KEY
  • RAWG_API_KEY
npm install
cp .env.example .env
npm run build
ITAD_API_KEY=... RAWG_API_KEY=... node dist/index.js

还准备了以npm包运行的路径。

npx -y game-deals-mcp

本地MCP客户端设置示例:

{
  "mcpServers": {
    "game-deals-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/game-deals-mcp/dist/index.js"],
      "env": {
        "ITAD_API_KEY": "your_isthereanydeal_api_key",
        "RAWG_API_KEY": "your_rawg_api_key"
      }
    }
  }
}

Worker部署

npm run dev:worker
wrangler secret put ITAD_API_KEY
wrangler secret put RAWG_API_KEY
npm run deploy:worker

要使用GitHub Actions自动部署,请在存储库secret中 CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID, ITAD_API_KEY, RAWG_API_KEY需要。

相关工作流:

  • .github/workflows/deploy-worker.yml
  • .github/workflows/ci.yml

技术堆栈

领域 技术
运行时 Node.js 22+,TypeScript
MCP/HTTP @modelcontextprotocol/sdk那个 。
验证 Zod
部署 Cloudflare Workers,Wrangler
质量 Vitest、TypeScript类型检查、推荐审计脚本

项目结构

src/
├── domain/        # 추천 후보 구성, 제약, 랭킹, 점수화
├── providers/     # ITAD, RAWG, Steam Store client
├── tools/         # MCP tool handler
├── qa/            # recommendation audit harness
├── server.ts      # Worker/HTTP server
└── index.ts       # stdio entrypoint
scripts/           # local/remote QA 실행 스크립트
artifacts/         # audit 결과 샘플
tests/             # domain, provider, tool, worker 회귀 테스트

验证

npm test
npm run typecheck
npm run qa:recommend-deterministic
npm run qa:recommend-local
npm run build

deterministic哇 local audit用作CI hard gate。 diverse哇 rotating 将audit作为观察指标。价格按照provider提供的原始货币显示,不转换汇率。

许可证

麻省理工学院