光环无限数据追踪应用

一款追踪《光环无限》比赛数据和职业进度的MCP应用,提供比赛统计和职业等级信息。

  • by dend
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 dend/forerunner-mcp-app

使用说明

领跑者——Halo Infinite Stat Tracker MCP应用程序

一个模型上下文协议(MCP)应用程序,显示您的Halo Infinite比赛统计数据和职业发展。内置于 MCP应用程序 丰富交互式视图的基础, @邓多德夫/咕噜 用于Halo Infinite API访问,以及 @丹多德夫/海螺 用于Xbox Live身份验证。

它的作用

Forerunner公开了LLM可以调用的三个MCP工具:

  • halo_authenticate --在浏览器中运行Xbox Live OAuth流。令牌被加密并在本地持久化(tokens.bin),所以您只登录一次。
  • halo_match_stats --获取你的最后一场比赛:结果、地图、模式、K/D/A、准确度、伤害统计数据,以及用精灵图标获得的奖牌。
  • halo_career --获取你的职业等级进展:当前等级与图标、等级内的XP进展以及英雄的整体进展。

每个统计工具都返回一个JSON有效载荷,捆绑的单文件React应用程序将其渲染为一个深色的Halo风格的仪表板,带有锐利的边缘、大写标签和难度着色的奖牌图块。

先决条件

  • Node.js 18+
  • Azure Entra(Azure AD)应用程序 适用于Xbox Live OAuth

创建Azure Entra应用程序

  1. 首选 Azure门户--应用程序注册
  2. 点击 新注册
  3. 设置一个名称(例如“领跑者”)
  4. 在...之下 支持的帐户类型,选择 仅限个人Microsoft帐户
  5. 在...之下 重定向URI,选择 移动和桌面应用程序 并输入:
    http://localhost:8787/callback
    
  6. 点击 注册
  7. 复制 应用程序(客户端)ID

不需要客户端密钥——这是一个使用PKCE的公共客户端应用程序。

入门指南

# Clone and install
git clone <repo-url>
cd forerunner-mcp-app
npm install

# Configure your Azure client ID
cp config.example.json config.json

编辑 config.json:

{
  "clientId": "your-client-id-here",
  "redirectUri": "http://localhost:8787/callback"
}

构建:

npm run build

使用Claude Desktop

添加到您的Claude Desktop MCP服务器配置中:

{
  "mcpServers": {
    "halo-stats": {
      "command": "npx",
      "args": ["tsx", "main.ts", "--stdio"],
      "cwd": "/path/to/forerunner-mcp-app"
    }
  }
}

然后问克劳德 “显示我的最后一场Halo比赛” 或 _“我的职业排名是多少?”_第一次,克劳德会打电话来 halo_authenticate 要触发登录,请获取并显示您的统计数据。

使用VS代码

添加到您的VS代码设置JSON(settings.json 或工作空间 .vscode/settings.json):

{
  "mcp": {
    "servers": {
      "halo-stats": {
        "command": "npx",
        "args": ["tsx", "main.ts", "--stdio"],
        "cwd": "/path/to/forerunner-mcp-app"
      }
    }
  }
}

发展

# Vite watch + server with hot reload
npm run dev

# Or run the server directly
npm run serve

服务器启动于 http://localhost:3001/mcp 默认情况下(HTTP传输)。使用 --stdio 用于stdio传输。

许可证

该项目根据MIT许可证获得许可。看 许可证 了解详情。