Skip to main content
Glama
nuns-re

storm-re-mcp

by nuns-re

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
STORM_RE_DBNoPath to the SQLite cache (config key db; CLI flag --db). Default: ~/.local/share/storm-re/storm-re.db.
STORM_RE_HOTNoPath to the hot-set topics JSON used by the index command (config key hot_json). Default: hot.json in the repo.
STORM_RE_MCPNoURL of the pyghidra-mcp endpoint (config key mcp_url; CLI flag --mcp). Default: http://127.0.0.1:8770/mcp.
STORM_RE_BSIMNoRoot of *.bsim.tsv exports (config key bsim_root). Default: ~/ghidra/match/out.
STORM_RE_HOSTNoLabel stored with indexed programs (config key host). Default: local.
STORM_RE_NUCCNoRoot of name CSVs laid out as games/<game>/<sha256>/functions.csv (config key nucc_root). Default: ~/nucc-symbols.
STORM_RE_ASSETSNoRoot of your extracted CPK tree, used by asset_index/asset_find/asset_info (config key assets_root). Default: ~/storm-cpk-extracted.
STORM_RE_CONFIGNoPath to the config file. Defaults to $XDG_CONFIG_HOME/storm-re/config.toml (~/.config/storm-re/config.toml).
STORM_RE_MANUALNoRoot containing *.manual.csv hand-verified names (config key manual_root). Default: ~/ghidra/storm-research.
STORM_RE_MCP_TOKENNoBearer token for the optional HTTP JSON endpoint (bin/storm-re-mcp --http ...). A non-loopback bind requires a token.
STORM_RE_ASSETS_WINNoWindows mirror of the extracted CPK tree, reported as win_path (config key assets_win_root). Default: off.
STORM_RE_TRILOGY_TSVNoPath to a Switch dynsym TSV dump (config key trilogy_tsv). Default: ~/ghidra/trilogy-dynsym.tsv.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
storm_resolveB

Resolve a VA, RVA or full symbol name in one build. Cheap and local; returns build/program/sha/rva/va/name/confidence/source.

storm_decompB

Bounded decompile summary, cache-first. detail=summary default; sig is cheapest; full can be large.

storm_xrefsC

Deduplicated callers, callees and data refs for one function.

storm_diffB

Compare one function across two builds: signature, similarity, callee delta.

storm_mapC

Map a symbol across builds via direct BSim, Trilogy-mediated, name and RVA.

storm_findC

Search symbols (local, cheap), strings, or code.

storm_symbolizeC

Rewrite FUN_/SUB_/DAT_ placeholders to Storm names with mapping and confidence.

storm_showB

Read pre-decompiled hot-set entries from SQLite; no Ghidra call.

storm_state_surfaceC

Static field-access surface for a root object: offsets, sizes, r/w, functions, confidence. Static inference only.

storm_write_sitesC

Who writes an address or root+offset, with evidence and confidence.

storm_input_pathD

Pad poll -> ccPlayerPad -> CtrlInputPad -> vfunc gates -> ChangeAction.

storm_frame_tickC

Timer idioms and per-frame constants; flags 60 FPS risks.

storm_net_sessionD

Steam/net-session send/recv/tick surface and Steam imports.

storm_scene_dispatchD

Story scene/message dispatch, stage strings and boss ids.

storm_patch_diffC

Batch function diff between builds; byte mode finds call-site patches.

storm_exportC

Write a compact markdown report from indexed facts.

storm_explainC

One-call explanation: resolve + decompile + symbolize + xrefs + maps.

storm_batchB

Run several read-only storm-re tools in one call. Excludes export and batch.

storm_asset_findA

Search decrypted CPK files of storm1/2/3hd/3fb/rev/4/gen by path substring or glob. Returns game, cpk, entry, size, magic, path, win_path. Empty query = per-game/per-CPK overview.

storm_asset_infoC

One extracted CPK file: paths, same entry in other games, and the xfbin chunk list (type, name, path) for NUCC files.

storm_buildsB

List build aliases, programs, SHA-256, base and counts.

storm_statB

Database, cache, BSim, map and index statistics.

Prompts

Interactive templates invoked by user choice

NameDescription
rollback_auditAudit a rollback surface for a root object.
story_portTrace a story scene/boss dispatch path.
clean_vs_modDiff a clean exe against a modded build.
function_explainExplain one function with names, xrefs and maps.

Resources

Contextual data attached and managed by the client

NameDescription
BuildsBuild aliases, programs, SHA-256 and counts
StatsCache, BSim, map and index statistics
AssetsExtracted CPK files per game and archive

TDQS

C2.8/5.0

Scored across 22 tools

Disambiguation4/5

Most tools have clearly distinct purposes (resolve, decompile, xrefs, diff, map, find, etc.). A few pairs overlap—storm_diff vs storm_patch_diff, storm_decomp vs storm_show vs storm_explain, and the meta-tools storm_explain/storm_batch vs their individual components—but descriptions make the boundaries readable.

Naming Consistency5/5

Every tool uses the storm_ prefix with snake_case, with no mixing of conventions. Suffix patterns vary between verbs and nouns, but the naming scheme is entirely predictable.

Tool Count3/5

22 tools is heavy for a single MCP server. While the reverse-engineering domain is broad, some convenience/meta tools (explain, batch) and specialized analysis tools could potentially be consolidated without losing capability.

Completeness4/5

The surface covers core RE workflows: symbol resolution, decompilation, xrefs, cross-build diff/mapping, search, symbolization, state/write-site analysis, asset discovery, and build/stat inspection. Minor gaps exist, such as raw disassembly/CFG extraction or general import/export listing, but agents can work around them.

Maintenance

ActivityMaintained
ResponsivenessNo issues