AI游戏代理工具

一款基于Gemini 2.0和MCP工具的游戏代理工具,提供实时游戏数据访问和交互功能。

  • by Baighasan
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 Baighasan/clash-royale-mcp-server

使用说明

Chat Royale

人工智能驱动的《皇室冲突》特工使用Gemini 2.0和MCP工具进行实时游戏数据访问。

全方位技术深度潜水

我最近写了一篇关于这个项目的架构、构建过程和其他很酷的东西的技术分析。你可以在我的网站上阅读:

全方位技术深度潜水

建筑

三种集装箱服务:

MCP 服务器 (src/mcp/)-Python FastMCP服务器公开Clash Royale API工具:

  • 玩家、部落、卡片、排名

后端API (src/backend/)-Node.js/Express服务器:

  • 通过以下方式将Gemini与MCP客户端集成 @modelcontextprotocol/sdk
  • 标准JSON请求/响应(无流)
  • 通过迭代Gemini调用在内部处理工具执行

前端 (src/frontend/)-React/TypeScript用户界面:

  • 简单的聊天界面,支持markdown
  • 对后端API的标准HTTP请求

运作原理

  1. 用户向前端发送消息
  2. 前端发布到后端 /api/chat
  3. 后端连接到MCP服务器并发现工具
  4. Gemini使用可用工具处理消息
  5. 如果需要工具:后端通过MCP执行,将结果反馈给OpenAI
  6. 最终响应以JSON格式返回给前端

部署

生产:使用Cloudflare CDN的AWS ESXi

CI/CD:GitHub操作自动部署在 main 分支推送/合并

# Deploy
docker-compose -f docker-compose.prod.yml up -d --build

发展

# Environment setup
# Backend: src/backend/.env - GEMINI_API_KEY
# MCP: src/mcp/.env - CR_API_KEY

# Run all services
docker-compose up -d

技术栈

  • MCP 服务器:Python 3.12、FastMCP、Clash Royale API
  • 后端:Node.js、Express、TypeScript、Gemini SDK
  • 前端:React、TypeScript、Vite、TailwindCSS
  • 部署:Docker、AWS ExpressRoute、Cloudflare、GitHub操作