Destiny 2 MCP服务器
《命运2》的生产就绪模型上下文协议(MCP)服务器,通过本地清单缓存提供玩家查找、活动跟踪、物品/福利解析、部落名册访问和第一天胜利信心评分。
特性
| 区域 | 能力 |
|---|---|
| 玩家 | 模糊/精确的Bungie名称搜索、个人资料、角色、设备 |
| 活动 | 具有自动名称解析、PGCR、生命周期统计的历史记录 |
| 物品 | 全套插座/福利、插头组、活动定义、图像(base64) |
| 氏族 | 通过缓存的groupId、精英排名评分直接查找名册 |
| 心满意足 | 第一天/比赛突袭检测,加权评分 |
| 提示 | 常见查询的指导工作流程 |
快速开始
安装
选项1:npm(需要Node.js)
npm install -g destiny2-mcp-server选项2:Docker(推荐用于生产环境)
docker pull ghcr.io/nadiar/destiny2-mcp-server:latest看 了解详细的Docker设置。
配置
1.创建Bungie API应用程序
首选 Bungie开发者门户 并创建新应用程序:
所需设置:
- 应用程序名称:
MCP Server for LLM(或您喜欢的名字) - 申请状态:
Private - OAuth客户端类型:
Not applicable - 重定向URL:留空
- 范围:不适用(服务器仅使用API密钥,没有OAuth)
- 原点标题:
*
创建后,复制您的 API密钥 (32个字符的十六进制字符串)。
2.创建.env文件
BUNGIE_API_KEY=your-32-character-hex-key跑步
# Global install
destiny2-mcp-server
# Or from source
npm install
npm run build
npm startMCP客户端配置
克劳德桌面(npm安装)
添加到claude_desktop_config.json:
{
"mcpServers": {
"destiny2": {
"command": "destiny2-mcp-server",
"env": {
"BUNGIE_API_KEY": "your-api-key"
}
}
}
}克劳德桌面(Docker)
对于Docker部署,请使用:
{
"mcpServers": {
"destiny2": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "BUNGIE_API_KEY=your-api-key-here",
"ghcr.io/nadiar/destiny2-mcp-server:latest"
]
}
}
}Docker MCP网关
对于 用户,通过CLI安装:
步骤1:创建自定义目录
创建 ~/.docker/mcp/catalogs/custom-servers.yaml:
version: 3
name: custom-servers
displayName: Custom MCP Servers
registry:
destiny2:
description: Production-ready Model Context Protocol (MCP) server for Destiny 2
title: Destiny 2
type: server
dateAdded: '2025-12-13T00:40:00Z'
image: ghcr.io/nadiar/destiny2-mcp-server:latest
ref: ''
icon: https://www.bungie.net/img/theme/destiny/icons/icon_d2.png
tools:
- name: search_player
- name: find_players
- name: get_profile
- name: get_character
- name: get_activity_history
- name: get_pgcr
- name: get_historical_stats
- name: search_items
- name: get_item_details
- name: get_activity_definition
- name: get_clan_roster
- name: get_item_image
secrets:
- name: destiny2.api_key
env: BUNGIE_API_KEY
example: your-32-character-hex-key
prompts: 0
resources: {}
metadata:
category: gaming
tags:
- destiny2
- bungie
- gaming
- api
license: MIT License
owner: Nadiar步骤2:导入并启用
# Import the custom catalog
docker mcp catalog import ~/.docker/mcp/catalogs/custom-servers.yaml
# Enable the server
docker mcp server enable destiny2
# Set your Bungie API key as a secret
docker mcp secret set destiny2.api_key=your-32-character-hex-key
# Verify installation
docker mcp server ls重要:机密名称必须完全正确 destiny2.api_key (匹配 secrets[].name 在目录中)。Docker MCP网关将自动将其作为 BUNGIE_API_KEY 启动容器时的环境变量。
正在更新:
# Pull the latest image
docker pull ghcr.io/nadiar/destiny2-mcp-server:latest
# Restart your MCP client to use the new version示例用法
配置后,您可以向AI助手提出以下问题:
玩家查询
“找到一个名为Guardian的玩家”
Found 3 players matching "Guardian":
1. Guardian#1234 (Confidence: 92/100 - Very High)
⚡ PRIMARY ACCOUNT: Steam (type: 3, id: 4611686018XXXXXXXXX)
All Platforms:
- Steam: 4611686018XXXXXXXXX ⚡ PRIMARY
- Xbox: 4611686018YYYYYYYYY (linked)
- PlayStation: 4611686018ZZZZZZZZ (linked)
- Playtime: 4,521 hours
- Last Played: 12/12/2025 (0 days ago)
- Triumph: 25,340 active / 489,230 lifetime
- Clan: Math Class [MATH] ⭐ Elite
- Day-One Clears: 8 🏆
2. Guardian#5678 (Confidence: 23/100 - Low)
⚡ PRIMARY ACCOUNT: PlayStation (type: 2, id: 4611686018XXXXXXXXX)
- Playtime: 12 hours
- Last Played: 03/15/2024 (633 days ago)
- No clan活动历史和统计
“他们在《深海幽灵》中花了多少时间?”
# Activity Statistics Summary
Analyzed 500 activities, sorted by time played
## By Activity
### Ghosts of the Deep
- Activities: 145 (127 completed, 87% completion rate)
- Total Time: 47h 23m
- Total Kills: 18,940
- Efficiency: 2.34
- Date Range: 02/15/2025 - 12/11/2025
### Warlord's Ruin
- Activities: 98 (94 completed, 96% completion rate)
- Total Time: 38h 12m
- Date Range: 11/03/2024 - 12/10/2025
### Grasp of Avarice
- Activities: 62 (61 completed, 98% completion rate)
- Total Time: 19h 47m
---
## Overall Totals
- Activities: 500
- Total Time: 115h 32m
- Date Range: 11/20/2021 - 12/11/2025赛后屠杀报告(PGCR)
“获取救世军边缘跑步的详细信息”
Post-Game Carnage Report
Activity: Salvation's Edge (Master)
Date: 2025-11-28 19:32:15 UTC
Duration: 1h 23m 47s
Fireteam (6 players):
┌─────────────────┬───────┬────────┬─────────┬──────────┐
│ Player │ Kills │ Deaths │ Assists │ K/D │
├─────────────────┼───────┼────────┼─────────┼──────────┤
│ [REDACTED]#XXXX │ 187 │ 1 │ 42 │ 187.00 │
│ [REDACTED]#XXXX │ 156 │ 0 │ 38 │ ∞ │
│ [REDACTED]#XXXX │ 142 │ 2 │ 51 │ 71.00 │
│ [REDACTED]#XXXX │ 138 │ 1 │ 44 │ 138.00 │
│ [REDACTED]#XXXX │ 121 │ 0 │ 39 │ ∞ │
│ [REDACTED]#XXXX │ 118 │ 0 │ 47 │ ∞ │
└─────────────────┴───────┴────────┴─────────┴──────────┘
Total Team Kills: 862
Total Team Deaths: 4
Completion: ✓ Success物品/武器查找
“法特布林格能得到什么好处?”
Fatebringer (Adept)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Type: Hand Cannon (Kinetic)
Tier: Legendary
Source: Vault of Glass
Perk Columns:
├── Column 1: Explosive Payload, Firefly, Opening Shot, Frenzy
├── Column 2: Tunnel Vision, Rewind Rounds, Kill Clip
├── Barrel: Hammer-Forged, Smallbore, Corkscrew, Full Bore
└── Magazine: Accurized Rounds, Tactical Mag, Appended Mag
Curated Roll: Explosive Payload + Firefly项目图片
“显示Fatebringer屏幕截图”
这 get_item_image 工具可以返回以下任一结果:
- 截图 (默认):大检查图像(~200KB)-非常适合详细的武器视图
- 图标:小库存图标(~3KB)-可用于快速参考
# Fatebringer
*Screenshot*
[High-resolution weapon image displayed inline]使用 imageType: "icon" 改为小库存图标的参数。
部落名册
“给我看我氏族的名册”
Clan: Example Clan [EXMP]
Members: 87/100
Online Now (3):
• Player#0001 - Titan (Last: Tower)
• Player#0002 - Hunter (Last: Salvation's Edge)
• Player#0003 - Warlock (Last: Crucible)
Top by Playtime:
1. Player#0004 - 6,234 hours
2. Player#0005 - 5,891 hours
3. Player#0006 - 5,122 hours可用工具
| 工具 | 说明 |
|---|---|
search_player | 精确的Bungie名称查找(需要#代码) |
find_players | 基于置信度分数的部分名称模糊搜索+交叉保存初级检测 |
get_profile | 完整的玩家档案,包括角色、部落、胜利分数 |
get_character | 详细的角色信息和装备 |
get_activity_history | 最近的活动和玩过的时间 |
get_activity_stats | 具有分页(最多1000个)、可自定义字段和活动筛选的聚合活动统计信息 |
get_pgcr | 带有时间数据的赛后大屠杀报告 |
get_historical_stats | 按活动划分的终身PvE/PvP统计数据 |
search_items | 按名称搜索武器/盔甲 |
get_item_details | 完整的物品信息,包括福利、统计数据和插头套件 |
get_item_image | 项目截图或图标(支持imageType参数) |
get_activity_definition | 清单中的活动/遭遇详情 |
get_clan_roster | 具有在线状态的完整部落成员列表 |
get_plug_set | 特定武器/护甲插槽的可用福利 |
发布和更新
最新版本
Docker镜像和npm包在每次发布时都会自动发布:
- 码头工人:
ghcr.io/nadiar/destiny2-mcp-server:latest或:1.2.4 - npm:
npm install -g destiny2-mcp-server@latest
查看所有版本:
更新中
npm安装:
npm update -g destiny2-mcp-serverDocker安装:
# Pull latest version
docker pull ghcr.io/nadiar/destiny2-mcp-server:latest
# Or pull specific version
docker pull ghcr.io/nadiar/destiny2-mcp-server:1.2.4更新后,重新启动MCP客户端(Claude Desktop等)。
文档
发展
看 贡献.md 用于开发设置、测试和贡献指南。
CI/CD
本项目使用GitHub Actions进行持续集成和部署:
- 持续集成:对每个推送和拉取请求运行
- Node.js 18、20和22的测试 - 过梁和格式检查 - 安全审计 - Docker镜像构建 - 代码覆盖率报告
- 发布:版本标签上的自动发布
- 发布到npm注册表 - 构建Docker镜像并将其推送到GitHub容器注册表 - 使用自动生成的注释创建GitHub版本
- Dependabot:自动依赖关系更新
- 每周检查npm、GitHub Actions和Docker基础镜像 - 分组次要/补丁更新 - 安全漏洞警报
添加到MCP工具包注册表
要使此服务器在 MCP工具包注册表:
1.分叉MCP服务器存储库
# Fork https://github.com/modelcontextprotocol/servers on GitHub
git clone https://github.com/YOUR_USERNAME/servers.git
cd servers2.添加服务器条目
在中创建新条目 src/servers.json:
{
"name": "destiny2-mcp-server",
"description": "Destiny 2 API integration with player lookup, activity tracking, item/perk resolution, clan management, and day-one triumph scoring",
"repository": "https://github.com/Nadiar/destiny2-mcp-server",
"icon": "https://www.bungie.net/img/theme/destiny/icons/icon_d2.png",
"categories": ["gaming", "api"],
"installation": {
"npm": "destiny2-mcp-server",
"docker": "ghcr.io/nadiar/destiny2-mcp-server"
},
"configuration": {
"required": {
"BUNGIE_API_KEY": "Your Bungie API key from https://www.bungie.net/en/Application"
},
"optional": {
"LOG_LEVEL": "Logging level (debug, info, warn, error)",
"CACHE_TTL_HOURS": "Manifest cache TTL in hours (1-168)",
"API_RATE_LIMIT_MS": "Minimum ms between API requests (50-1000)"
}
},
"features": [
"Fuzzy player search by Bungie name",
"Activity history with automatic name resolution",
"Post-game carnage reports (PGCR)",
"Item/weapon perk lookups via local manifest cache",
"Clan roster management",
"Day-one raid completion detection",
"Item images (screenshots and icons)",
"Lifetime statistics tracking"
]
}3.提交拉取请求
git checkout -b add-destiny2-mcp-server
git add src/servers.json
git commit -m "Add destiny2-mcp-server to registry"
git push origin add-destiny2-mcp-server
# Create PR on GitHub: https://github.com/modelcontextprotocol/servers4.公关指南
- 确保所有测试通过
- 服务器必须公开可用(npm/Docker)
- 文件应完整
- 跟随 贡献指南
替代方案:使用MCP配置生成器
用户还可以使用MCP工具包手动添加此服务器:
# Using npm
mcp install destiny2-mcp-server
# Or add to Claude Desktop config manually (see MCP Client Configuration above)许可证
MIT-有关详细信息,请参阅许可证文件。
