Destiny Codex
Provides tools for querying and exploring the Destiny 2 game manifest from Bungie, including item lookup, search, filtering, perk roll extraction, reverse perk search, relationship traversal, and graph exploration.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Destiny Codexshow perk rolls for Ace of Spades"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Destiny Codex
Version 0.3.7.0 (07.01.2026)
Turn the Destiny 2 Manifest (gibberish hash-reference JSON) into clean, AI-readable text — with full relationship traversal, structured filtering, item comparison, and weapon perk-roll extraction.
Destiny Codex is a CLI tool and an MCP server. It works for 100% of the manifest — every definition table is supported generically. Hash references are resolved into human-readable names automatically, in both directions.
What's New in 0.3.7.0
Weapon Perk Rolls (
codex rolls) — Shows all possible perks a weapon can roll, grouped by socket column (barrel, mag, traits, mods, catalyst). Marks each perk as default, random, or fixed.Reverse Perk Search (
codex perksearch/codex perks) — Find all weapons that can roll a given perk. The inverse ofrolls: "which weapons can roll Incandescent?"Multi-Language Support — 14 languages via
codex config set-language <lang>. German, French, Spanish, Japanese, and more.Auto-Update Check — Warns when the manifest is older than 7 days (Bungie updates weekly).
Test Suite — 50 vitest tests covering resolver, formatter, filter, and compare modules.
Formatter Bugfix —
displayProperties.iconwas not being skipped despite being in the skip list.PolyForm Noncommercial License — This software may never be used for commercial purposes.
Related MCP server: nexus-mcp
Quick Start
# 1. Install
npm install
npm run build
# 2. Add your Bungie API key (get one at https://www.bungie.net/en/Application)
cp .env.example .env
# Edit .env: BUNGIE_API_KEY=your_key_here
# 3. (Optional) Set your preferred language (default: en)
codex config set-language de # German, French, Spanish, Japanese, etc.
# 4. Download the manifest + build indexes
node dist/index.js sync
node dist/index.js index
# 5. Use it
node dist/index.js item GjallarhornOr save the API key persistently:
node dist/index.js config set-key your_key_hereCLI Commands
Lookup & Search
Command | Description |
| Look up an item by name, show full readable definition. Picks best match automatically. |
| Search by name (substring, case-insensitive). |
| Structured filter: |
| Show all possible perk rolls for a weapon (barrel, mag, traits, mods, catalyst). Answers "what can this weapon roll?" |
| Reverse perk search: find all weapons that can roll a given perk. Alias: |
| Full readable definition by table + hash (all refs resolved inline). |
| Bare hash → short summary (auto-detects table). |
| Raw JSON of a definition. |
Relationships & Graph
Command | Description |
| Show outgoing + incoming references. Alias: |
| Traverse the reference graph as a tree. Alias: |
| Compare 2+ items side-by-side (stats, perks, properties). |
Management
Command | Description |
| Download/refresh the manifest. |
| Build search indexes (speeds up everything ~10x). |
| Show manifest version + table list. |
| List all definition tables. |
| Start the MCP server (for AI tool integration). |
| Save your Bungie API key. |
| Save preferred manifest language ( |
| Show currently saved language. |
Examples
Look up an item
codex item Gjallarhorn
codex item "Last Wish" --table DestinyActivityDefinitionSearch
codex search Gjallarhorn
codex search "Wolfpack Rounds" -t DestinySandboxPerkDefinition
codex find "Last Wish" -l 5Filter
# All Exotic Rocket Launchers
codex filter --tier Exotic --type "Rocket Launcher"
# All Legendary Titan helmets
codex filter --tier Legendary --class Titan --bucket Helmet
# Rocket Launchers with Blast Radius >= 90
codex filter --type "Rocket Launcher" --stat "Blast Radius:90"
# Solar Sidearms, max 10 results
codex filter --damage Solar --type "Sidearm" --limit 10Relationships (how things connect)
# What does Gjallarhorn reference? (outgoing)
codex rels DestinyInventoryItemDefinition 1363886209 -d outgoing
# Who uses the "Wolfpack Rounds" perk? (incoming)
codex rels DestinySandboxPerkDefinition 2447763556 -d incoming
# Both directions
codex rels DestinyInventoryItemDefinition 1363886209Graph traversal
codex graph DestinyInventoryItemDefinition 1363886209 --depth 3
codex tree DestinyInventoryItemDefinition 1363886209 --depth 2 --branch 10Compare items
codex compare Gjallarhorn "Hezen Vengeance"
codex compare "Deathbringer" "Two-Tailed Fox" "Eyes of Tomorrow"Weapon perk rolls
# What can Code Duello roll?
codex rolls "Code Duello"
# Exotic perks + catalyst
codex rolls Gjallarhorn
# Raid weapon rolls
codex rolls "Hezen Vengeance"Reverse perk search
# Which weapons can roll Incandescent?
codex perksearch Incandescent
# Which weapons can roll Bait and Switch?
codex perks "Bait and Switch"
# Which weapons can roll Vorpal Weapon?
codex perksearch "Vorpal Weapon"Multi-language support
# Switch to German
codex config set-language de
codex sync
codex index --rebuild
# Now everything is in German
codex item Gjallarhorn # "Raketenwerfer (Exotisch)"
codex filter --tier Exotisch --type "Raketenwerfer"
codex rolls "Code Duello" # "INTRINSISCHE EIGENSCHAFTEN", "WAFFEN-PERKS"
# One-off language for sync (without saving)
codex sync --language fr
codex sync -l ja
# Supported languages
en, de, es, es-mx, fr, fr-ca, it, ja, ko, pl, pt-br, ru, zh-chs, zh-chtMCP Server (for AI tools)
Destiny Codex runs as an MCP server over stdio. AI assistants like Devin, Claude, and others can call it directly.
Start the server
codex mcpConfigure in Devin CLI
Add to .devin/config.json:
{
"mcpServers": {
"destiny-codex": {
"command": "node",
"args": ["/path/to/destiny-codex/dist/index.js", "mcp"],
"cwd": "/path/to/destiny-codex"
}
}
}MCP Tools
Tool | Description |
| Manifest version, language, table list with row counts. Auto-syncs. |
| All definition tables. |
| Name search with optional table filter. |
| Structured query: itemType, tierType, classType, damageType, bucket, stat ranges. |
| All possible perk rolls for a weapon (barrel, mag, traits, mods, catalyst). |
| Reverse perk search: which weapons can roll a given perk? |
| Readable text rendering of a definition (all hash refs resolved inline). |
| Bare hash → short summary. |
| Outgoing + incoming references (how things connect). |
| Traverse the reference graph N hops deep as a tree. |
| Raw JSON of a definition. |
How It Works
The Destiny 2 Manifest is a SQLite database with ~83 tables of JSON definitions. Every definition is full of hash references — itemHash: 1363886209, statHash: 155624089, etc. — that are meaningless without looking up the target.
Destiny Codex:
Downloads the manifest from Bungie's API and caches it locally as SQLite.
Builds indexes (forward hash→table, name index, reverse reference index) stored as a versioned SQLite DB.
Resolves hash references two ways:
Field-name heuristic:
itemHash→DestinyInventoryItemDefinition(fast, no lookup needed)Reverse index fallback: any hash → its table (handles unknown field names)
Formats definitions as clean, indented text with hash refs replaced by
"Gjallarhorn" (hash 1363886209, DestinyInventoryItemDefinition)inline.Traverses the reference graph in both directions: outgoing (what does X reference?) and incoming (who references X?).
Performance
Operation | Time |
Manifest download | ~10s (37 MB compressed) |
Index build | ~15s (one-time per manifest version) |
| ~1.3s |
| ~1.2s |
| ~1.2s |
| ~0.3s |
Requirements
Node.js 22+ (uses built-in
node:sqlite)A Bungie.net API key (free, get one at https://www.bungie.net/en/Application)
Project Structure
src/
├── index.ts # Entry point (loads dotenv, dispatches to CLI)
├── cli.ts # Commander-based CLI
├── mcp-server.ts # MCP server registering all tools
├── manifest.ts # Bungie API client, SQLite cache, version tracking
├── resolver.ts # Hash-reference detection + resolution
├── formatter.ts # Definition → AI-readable text
├── relationships.ts # Reverse index, outgoing-refs, graph traversal
├── filter.ts # Structured filter queries
├── rolls.ts # Weapon perk-roll extraction (plug sets, random rolls)
├── perksearch.ts # Reverse perk search (which weapons can roll perk X?)
├── compare.ts # Side-by-side item comparison
├── search.ts # Name index for fast substring search
└── index-sqlite.ts # SQLite-backed versioned indexesLicense
PolyForm Noncommercial 1.0.0 — see LICENSE.
This software may never be used for commercial purposes. Personal use, research, education, charitable organizations, and government institutions are permitted. See the full license text for details.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/OpenChatGit/Destiny---Codex'
If you have feedback or need assistance with the MCP directory API, please join our Discord server