领跑者——Halo Infinite Stat Tracker MCP应用程序
它的作用
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应用程序
- 首选 Azure门户--应用程序注册
- 点击 新注册
- 设置一个名称(例如“领跑者”)
- 在...之下 支持的帐户类型,选择 仅限个人Microsoft帐户
- 在...之下 重定向URI,选择 移动和桌面应用程序 并输入:
http://localhost:8787/callback- 点击 注册
- 复制 应用程序(客户端)ID
不需要客户端密钥——这是一个使用PKCE的公共客户端应用程序。
入门指南
# Clone and install
git clone
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许可证获得许可。看 许可证 了解详情。
