Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Corvus

NUGET · CORVUSRE

Reverse engineering and security analysis of .NET and native binaries: decompile, compare, patch.

Available components

+4 this week 77 Trust /100

Last scanned (12 hours ago)

Scores higher than 56% of NuGet servers

Category Developer Tools

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security88
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Install-script risk not yet assessed.Unverified
  • No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Build provenance not yet verified. View diagnostics → Unverified
  • Clear OSI-approved license (Apache-2.0).Pass
  • Actively maintained (last published 0 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability73
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 28245 tokens (~170/item across 166 items; 165 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management67
  • Stability check failed: the tool surface changed between 2.3.0 and 2.11.0: 4 tool removals, 0 breaking changes, 13 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 167 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +1
    • Stability: fail → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Schema quality: 100 → unverified ▼ functional
    • Tool coverage: 81% → 100% ▲ functional
    • Package version: 2.10.0 → 2.11.0 functional
  • 4 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 61 to 64.

  • 3 Nov 26 +1
    • Package version: 2.7.3 → 2.10.0 functional
  • 31 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 47 to 51.

  • 29 Oct 26 +1
    • Stability: fail → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Schema quality: 100 → unverified ▼ functional
    • Package version: 2.7.2 → 2.7.3 functional
  • 28 Oct 26 +15
    • Stability: fail → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Malware scan: unverified → pass ▲ security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Schema quality: 100 → unverified ▼ functional
    • Package version: 2.7.0 → 2.7.2 functional
    • Package version: 2.7.0 → 2.7.1 functional
  • 27 Oct 26 −14
    • Malware scan: pass → unverified ▼ security
    • Stability: 0.37 → fail ▼ security
    • Schema quality: 182 → 163 ▲ functional
    • Package version: 2.6.0 → 2.7.0 functional
  • 25 Oct 26 0
    • Tool safety: pass → unverified ▼ security
    • Stability: 0.30 → unverified ▼ security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Schema quality: 100 → unverified ▼ functional
    • Licence: MIT → Apache-2.0 functional
    • Package version: 2.5.1 → 2.6.0 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed nuget/CorvusRE@2.11.0

Provenance Inconclusive

We could not complete the check, so nothing is claimed either way. This is a gap on our side, not a finding about the package.

Result Inconclusive
Ecosystem nuget
Reason Package not fetched

Background: How many MCP packages publish verified provenance →

Dependencies 0 packages
Packages resolved 0
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 165 exposed · ~27,723 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
ghidra_script ~249

Run a Java or Python Ghidra script on the image in one transaction: saved on return, rolled back on an exception. Off unless --ghidra-scripting (CORVUS_GHIDRA_SCRIPTING=1); runs with server rights. [Long-running.]

NameTypeReqDescription
allowErrorboolean–Return the exception as the result.
argsarray–With name: script arguments (getScriptArgs).
backgroundboolean–Return at once; a notice reports the end.
codestring–Java (a GhidraScript class, or a run() body with imports first) or Python source.
enginestring–Default auto.
imagestringyesImage id, name, path.
languagestring–java (default) or python (needs CORVUS_GHIDRA_PYTHON); name *.py is Python.
maxTokensinteger–Page size in tokens.
namestring–Instead of code: a script in the Ghidra script folders or DATA/ghidra_scripts.
timeoutSecondsinteger–Seconds before it is cancelled; default 120.
NameTypeReqDescription
enginestring––
errorstring––
imagestring––
resultstring––
savedboolean––
stderrstring––
stdoutstring––

No examples provided.

ida_python ~199

Run IDAPython on the image database; returns the last expression's value, stdout and stderr. Off unless --ida-scripting (CORVUS_IDA_SCRIPTING=1); runs with server rights, not undoable. [Long-running.]

NameTypeReqDescription
allowErrorboolean–Return the exception as the result.
backgroundboolean–Return at once; a notice reports the end.
codestring–Python source (or scriptPath); base is the image base.
enginestring–Default auto.
imagestringyesImage id, name, path.
maxTokensinteger–Page size in tokens.
persistboolean–Save the database afterwards.
resetboolean–Clear globals kept from earlier calls.
scriptPathstring–A .py file to run instead of code.
timeoutSecondsinteger–Seconds before it is cancelled; default 120.
NameTypeReqDescription
enginestring––
errorstring––
imagestring––
resultstring––
savedboolean––
stderrstring––
stdoutstring––

No examples provided.

inspect_instruction ~144

Instruction details at a native address: encoding, operands, registers and flags read and written, memory accesses, stack change, flow and references. Walks up to 64 positions. [Long-running.]

NameTypeReqDescription
addressstringyesHex VA/RVA (rva:/va:/off:), export, module!import, function.
enginestring–auto (default): IDA or Ghidra if analyzed, else ours.
imagestringyesImage id, name, path.
limitinteger–Positions (1-64).
maxTokensinteger–Page size in tokens.
offsetinteger–Rows to skip.
NameTypeReqDescription
enginestring––
engineNotestring––
imagestring––
itemsarray––
notesarray––

No examples provided.

inspect_process ~278

Inspect a running Windows process read-only: summary, modules, regions, threads, stacks or windows (needs --allow-window-capture), with addresses named as in dumps. Nothing is written or suspended.

NameTypeReqDescription
imageDirectoriesstring–Program binary folders (';'-separated), for modules whose file is unreadable.
imagePathstring–windows: PNG of the first window.
limitinteger–Max rows.
maxFramesinteger–view=stacks: max frames walked (up to 256).
maxTokensinteger–Page size in tokens.
offsetinteger–Rows to skip.
processstringyesProcess id (decimal or 0x hex), name (notepad[.exe]; a shared name is refused with the ids) or session id (live-1).
regionFilterstring–view=regions filter; default committed.
threadstring–threads: only this one; stacks: the thread walked (default first). Id or name.
timeoutSecondsinteger–Time limit in seconds (up to 120).
viewstring–summary, modules, regions, threads, stacks or windows.
yarastring–unbacked: YARA rules (text, file, folder, pack:name).
NameTypeReqDescription
accessarray––
architecturestring––
countsobject––
detachedboolean––
handlesClosedinteger––
handlesOpenedinteger––
itemsarray––
largestRegionsarray––
mainModuleobject––
namestring––
notesarray––
pathstring––
processIdinteger––
runtimestring––
stackStopstring––
startTimeUtcstring––
stillRunningboolean––
threadobject––
viewstring––
wow64boolean––

No examples provided.

install_android_package ~122

Install an APK, split set or folder of APKs on a device; failures report their INSTALL_FAILED_ code. Changes the device: needs --allow-device-changes. [Long-running.]

NameTypeReqDescription
downgradeboolean–Allow a lower version code.
grantPermissionsboolean–Grant all requested runtime permissions.
keepInstalledboolean–Fail if the app is installed instead of replacing it.
pathstringyesAn .apk, split set or folder of APKs.
serialstring–Device serial; omit if one device.
NameTypeReqDescription
appliedboolean––
changesarray––
digeststring––
dryRunboolean––
editIdsarray––
failedinteger––
itemsarray––
pushedToarray––

No examples provided.

list_android_devices ~37

Android devices and emulators: serial, state, model. adb: CORVUS_ADB, else PATH, else SDK platform-tools.

Input schema present but exposes no named parameters.

NameTypeReqDescription
itemsarray––
unparsedarray––

No examples provided.

list_android_packages ~105

Packages installed on a device (pm list packages -f -U -i): name, APK path, uid and installer.

NameTypeReqDescription
limitinteger–Most packages.
maxTokensinteger–Page size in tokens.
offsetinteger–Rows to skip.
querystring–Only package names containing this.
serialstring–Device serial; omit if one device.
userinteger–Android user id (default: current).
NameTypeReqDescription
itemsarray––
serialstring––

No examples provided.

list_android_resources ~148

Compiled resources of an Android package (resources.arsc or resources.pb): one row per resource and configuration, values cut at 200 characters.

NameTypeReqDescription
configstring–Only this configuration (pt-rBR, or default).
limitinteger–Most rows.
maxTokensinteger–Page size in tokens.
namestring–Only names matching this (* and ? wildcards).
offsetinteger–Rows to skip.
pathstringyesAn .apk, .aab or split set (.apks, .xapk, .apkm).
typestring–Only this type (string, layout, xml...).
NameTypeReqDescription
itemsarray––
typesobject––

No examples provided.

list_assemblies ~128

Loaded assemblies and native images: ids, versions, flags, unsaved edits, index state. With path: the assemblies or files inside a container, without extracting.

NameTypeReqDescription
filterstring–Id, name or path substring (case-insensitive).
limitinteger–Rows per page.
maxTokensinteger–Page size in tokens.
offsetinteger–Rows to skip.
pathstring–Container file, Blazor or ClickOnce folder to list.
waitSecondsinteger–Seconds (0-600) to wait for indexes.
NameTypeReqDescription
backgroundIndexingstring––
containerobject––
itemsarray––
searchDirectoriesarray––

No examples provided.

list_cpp_classes ~157

C++ classes from RTTI with bases and vftables; also Delphi / Free Pascal VMT classes and Mach-O ObjC and Swift types. engine=ida or ghidra lists that engine's classes.

NameTypeReqDescription
enginestring–Class source (default auto: RTTI).
filterstring–Name substring, any case.
imagestringyesImage id, name, path.
limitinteger–Max classes.
maxTokensinteger–Page size in tokens.
namespacesboolean–engine=ghidra: plain namespaces and libraries too.
offsetinteger–Rows to skip.
slotsboolean–Slot addresses (Pascal: methods, fields).
NameTypeReqDescription
imagestring––
itemsarray––
notesarray––
sourcestring––

No examples provided.

list_dex_classes ~147

Classes defined in the DEX code of an Android package: descriptor, DEX file, access, superclass, member counts. Unfiltered: the largest packages.

NameTypeReqDescription
limitinteger–Most classes.
mappingstring–R8/ProGuard mapping.txt: shows and accepts original names; kept per package.
maxTokensinteger–Page size in tokens.
offsetinteger–Rows to skip.
packagestring–Only this package and its subpackages.
pathstringyesAn Android package, .dex or jar with classes*.dex.
querystring–Only classes whose name contains or matches (* ?) this.
NameTypeReqDescription
itemsarray––
notesarray––
packagesarray––

No examples provided.

list_edits ~78

Unsaved edits of an assembly in order; numbers (editId <assembly>#<n>) stay when others are undone.

NameTypeReqDescription
assemblystringyesAssembly id, name, path.
limitinteger–Max rows.
maxTokensinteger–Page size in tokens.
offsetinteger–Rows to skip.
NameTypeReqDescription
assemblystring––
itemsarray––

No examples provided.

list_exports ~94

Exported functions and data of a native image: ordinal, VA, demangled name, symbol version and forwarders.

NameTypeReqDescription
filterstring–Name substring (case-insensitive; demangled form too).
imagestringyesImage id, name, path.
limitinteger–Max rows.
maxTokensinteger–Page size in tokens.
offsetinteger–Rows to skip.
NameTypeReqDescription
imagestring––
itemsarray––

No examples provided.

list_functions ~253

Functions of a native image: address, size, name, flags, how found and caller count. An exact name filter adds the engine's function record. [Long-running.]

NameTypeReqDescription
descendingboolean–Reverse the default direction of sort.
enginestring–auto (default): IDA or Ghidra if analyzed, else ours.
filterstring–Name filter: substring (case-insensitive), * ? glob, or /regex/ (flags i, m, s).
fromstring–Lowest start address.
hasTypeboolean–Engines: true keeps functions with a prototype, false those without.
imagestringyesImage id, name, path.
limitinteger–Max rows.
maxSizeinteger–Largest size in bytes.
maxTokensinteger–Page size in tokens.
minSizeinteger–Smallest size in bytes.
offsetinteger–Rows to skip.
sortstring–Default address; size and callers: largest first.
tostring–Start addresses below this one.
viewstring–candidates: engine code in no function, by references.
NameTypeReqDescription
enginestring––
engineNotestring––
functionsinteger––
imagestring––
itemsarray––

No examples provided.

list_globals ~144

Named data of a native image outside code, from every name source, with type and size if known. An engine adds its defined data with values; get_native_type read=true reads fields. [Long-running.]

NameTypeReqDescription
enginestring–auto (default): IDA or Ghidra if analyzed, else ours.
filterstring–Name substring, any case.
imagestringyesImage id, name, path.
limitinteger–Max rows.
maxTokensinteger–Page size in tokens.
offsetinteger–Rows to skip.
sectionstring–Only this section, e.g. .data.
NameTypeReqDescription
enginestring––
imagestring––
itemsarray––

No examples provided.

list_imports ~167

Imports of a native image per library, with the IAT slot code calls through; delay-loaded imports are marked. bind=true names the export each import binds to. [Long-running.]

NameTypeReqDescription
bindboolean–Bind each import to its export, or say why not (load_assembly loadProviders=true loads targets).
filterstring–Name substring, any case.
imagestringyesImage id, name, path.
includeDynamicboolean–Also GetProcAddress imports, marked [dynamic] (waits for the code index).
librarystring–Only this library (.dll optional).
limitinteger–Max rows.
maxTokensinteger–Page size in tokens.
offsetinteger–Rows to skip.
NameTypeReqDescription
bindingsstring––
imagestring––
itemsarray––

No examples provided.

list_jni_bindings ~163

Java native methods of an Android package paired with their code in lib/<abi>/*.so, by Java_ exports and RegisterNatives tables; also unbound methods and stray exports. [Long-running.]

NameTypeReqDescription
abistring–ABI to read, or all; default arm64-v8a, else the first.
classstring–Only rows naming this class (pkg.C or pkg/C).
kindstring–Only this kind.
limitinteger–Most rows.
maxTokensinteger–Page size in tokens.
offsetinteger–Rows to skip.
pathstringyesAn .apk, .aab or split set (.apks, .xapk, .apkm).
NameTypeReqDescription
itemsarray––
librariesarray––
notesarray––

No examples provided.

list_namespaces ~87

List namespaces with their type counts (nested types under the namespace of their outer type).

NameTypeReqDescription
assemblystring–Assembly id, name, path; omit: all.
filterstring–Substring (case-insensitive).
limitinteger–Max rows.
maxTokensinteger–Page size in tokens.
offsetinteger–Rows to skip.
NameTypeReqDescription
itemsarray––

No examples provided.

list_native_edits ~122

Native edits of an image in order, each with its editId, then the name layers with counts. search lists matching names and comments instead. [Long-running.]

NameTypeReqDescription
imagestringyesImage id, name, path.
limitinteger–Max rows.
maxTokensinteger–Page size in tokens.
offsetinteger–Rows to skip.
searchstring–Instead: matching names and comments: substring (case-insensitive), * ? glob, or /regex/ (flags i, m, s).
NameTypeReqDescription
imagestring––
itemsarray––
layersarray––

No examples provided.

list_native_types ~214

Named types of the engine database with size and member count; name= shows one as a C declaration with member offsets. [Long-running.]

NameTypeReqDescription
descendingboolean–Reverse the order.
enginestring–Default auto.
filterstring–substring (case-insensitive), * ? glob, or /regex/ (flags i, m, s).
imagestringyesImage id, name, path.
kindstring–udt: struct or union.
limitinteger–Max rows (max 5000).
maxTokensinteger–Page size in tokens.
membersboolean–List the first 32 members of each (enums: name = value).
namestring–Show this one type in full instead of a list.
offsetinteger–Rows to skip.
relatedboolean–Add the types each refers to.
sortstring–Default name; ordinal: the engine's order.
NameTypeReqDescription
enginestring––
itemsarray––

No examples provided.

list_notes ~164

Notes, newest first, filtered by status, kind, anchor, tag and text. A file anchor lists all its notes, an address its function's, a type its members' too.

NameTypeReqDescription
anchorstring–<image>@<address>, <assembly>:<symbol or token>, image or assembly id, dump:<id or path>, or empty (session-wide).
kindstring–Only this kind.
limitinteger–Notes per page.
maxTokensinteger–Page size in tokens.
offsetinteger–Rows to skip.
statusstring–Default open; all for every status.
tagstring–Only notes with this tag.
textstring–Text substring (case-insensitive).
NameTypeReqDescription
itemsarray––
notesarray––

No examples provided.

list_resources ~88

Manifest resources (embedded, .resources, linked) with SHA-256 and file offsets; a native image lists its Win32 resources as TYPE/NAME/LANGUAGE with file ranges.

NameTypeReqDescription
assemblystringyesAssembly id, name, path.
limitinteger–Max rows.
maxTokensinteger–Page size in tokens.
offsetinteger–Rows to skip.
NameTypeReqDescription
assemblystring––
itemsarray––

No examples provided.

list_types ~144

List types, optionally by namespace, name filter and kind.

NameTypeReqDescription
assemblystring–Assembly id, name, path; omit: all.
filterstring–Name substring or wildcard (*, ?), regex with regex=true, or /pattern/.
kindstring–Only this kind.
limitinteger–Max rows.
maxTokensinteger–Page size in tokens.
namespacestring–Exact namespace ("" or <global> for the global one).
offsetinteger–Rows to skip.
regexboolean–filter is a regex.
topLevelOnlyboolean–Leave out nested types.
NameTypeReqDescription
itemsarray––
notEvaluatedinteger––

No examples provided.

live_break ~121

Set, list or clear stop points; continue resumes; wait returns the oldest held stop with its stack.

NameTypeReqDescription
actionstring–Action.
atstring–set: name, module!export, address or file:line.
sessionstringyesId from live_session.
stopPointstring–clear: stop point id.
threadstring–continue: thread id; default all.
waitboolean–Wait for a stop.
waitSecondsinteger–wait: seconds (1-300).
NameTypeReqDescription
namedAddressesarray––
sessionstring––
stopobject––
stopPointsarray––

No examples provided.

live_console ~189

Drive a program with a background script; status shows steps, transcript pages output.

NameTypeReqDescription
actionstring–Action.
argumentsarray–start: arguments.
cursorstring–transcript: cursor of a page; default the oldest line.
limitinteger–Max rows.
programstring–start: program path.
runstring–Run id (con-1; omitted: the only one).
scriptarray–start: steps, one per line: send TEXT, wait TEXT (output contains it), resize COLUMNS ROWS, delay MS; TEXT takes \r (Enter), \n, \t, \e, \xHH.
timeoutSecondsinteger–Seconds per wait step (1-300).
waitSecondsinteger–status: seconds to wait for the script, 0-300.
NameTypeReqDescription
cursorstring––
droppedinteger––
itemsarray––
runobject––
runsarray––
stepsarray––

No examples provided.

live_coverage ~187

Collect code coverage in a session: which functions ran and how often; diff compares runs.

NameTypeReqDescription
actionstring–Action.
formatstring–report: text, or dot (call graph; offset counts characters).
hitLimitinteger–start: stops per function before it is cleared.
limitinteger–Max rows.
matchstring–Names containing this; start: module!part for another module.
offsetinteger–Rows to skip.
otherstring–diff: second run.
outputPathstring–Save as JSON to a new file; an existing path is refused.
runstring–Run id (cov-1; omitted: the only run).
sessionstring–Session id; start only.
showstring–report: ran, missed or all.
NameTypeReqDescription
codestring––
diffobject––
itemsarray––
namedAddressesarray––
runobject––
runsarray––
totalCharsinteger––

No examples provided.

live_events ~151

Page session events by cursor and filter; waitSeconds waits for the next.

NameTypeReqDescription
cursorstring–Cursor of an earlier page; default oldest kept.
fromstring–Only this watch or script id.
kindstring–Only this kind.
limitinteger–Max rows.
maxTokensinteger–Page size in tokens.
outputPathstring–Save as JSON to a new file; an existing path is refused.
sessionstringyesId from live_session.
threadstring–Only this thread id.
waitSecondsinteger–Seconds to wait for an event, 1-300; 0 returns at once.
NameTypeReqDescription
cursorstring––
droppedinteger––
itemsarray––
namedAddressesarray––
sessionstring––

No examples provided.

live_read ~161

Read a held thread's registers and program memory as typed values, named through the loaded images.

NameTypeReqDescription
lengthinteger–memory: untyped bytes, or a string's limit (max 4096).
memorystring–An address, register or name to read.
registersstring–Register names, comma-separated; default all.
rulesstring–YARA rules (text, file, folder, pack:name) to scan writable memory.
sessionstringyesId from live_session.
threadstring–Thread id; default the first held.
typestring–memory: int8..uint64, float, double, pointer, cstring, utf16; [n] for arrays.
NameTypeReqDescription
codestring––
memoryarray––
namedAddressesarray––
nextOffsetinteger––
offsetinteger––
registersarray––
sessionstring––
threadstring––
totalCharsinteger––

No examples provided.

live_script ~94

Load, list or unload a Frida script in a session; its messages are events (live_events from=SCRIPT). Needs --live-scripting.

NameTypeReqDescription
actionstring–Action.
pathstring–load: a .js file instead.
scriptstring–unload: script id.
sessionstringyesId from live_session.
sourcestring–load: JavaScript source.
NameTypeReqDescription
scriptsarray––
sessionstring––

No examples provided.

live_session ~306

Open, list, inspect or close a session on a program; modules match to images; snapshot saves a dump; save_modules saves rebuilt modules.

NameTypeReqDescription
actionstring–Action.
argumentsarray–spawn: program arguments; page_diff: old, new result id.
basestring–save_modules: loaded or preferred.
childNamesarray–Hold children by image name (* any).
devicestring–adb serial for frida-server.
downloadDacboolean–Download a missing DAC.
environmentarray–spawn: NAME=value.
importsstring–save_modules: restore or keep.
layoutstring–save_modules: file or mapped.
modulesstring–save_modules: file name, 0x address, all, unlisted or code; coverage: start|take|stop.
outputPathstring–snapshot: dump file, save_modules: new or empty folder (both default temp); screenshot: PNG file.
overwriteboolean–Overwrite outputPath.
programstring–attach: pid, name, inspector:PORT, cdp:PORT, jdwp:PORT, ttd:PATH; spawn: program path (suspended); processes: name filter; *_child: pid.
sessionstring–Id from live_session.
symbolsstring–save_modules: none, local or download PDBs.
NameTypeReqDescription
actionstring––
backendstring––
ipcstring––
modulesarray––
processIdinteger––
processesarray––
programstring––
savedobject––
sessionstring––
sessionsarray––
snapshotobject––
statestring––

No examples provided.

live_timeline ~190

Trace the files, registry keys, endpoints and child processes a program opens; report counts names, diff compares traces.

NameTypeReqDescription
astring–diff: first timeline.
actionstring–Action.
bstring–diff: second timeline.
categorystring–Only file, registry, network or process.
cursorstring–list: cursor of an earlier page; default the oldest entry kept.
limitinteger–Max rows.
matchstring–Names containing this.
offsetinteger–Rows to skip. (report).
outputPathstring–Save as JSON to a new file; an existing path is refused.
runstring–Run id (tl-1; omitted: the only one); list without it or a filter lists runs.
sessionstring–Session id; start only.
NameTypeReqDescription
cursorstring––
diffobject––
droppedinteger––
itemsarray––
namesarray––
runobject––
runsarray––

No examples provided.

live_watch ~114

Record each call of a function with arguments and result as events (live_events from=WATCH).

NameTypeReqDescription
actionstring–Action.
argumentsinteger–set: raw values without a prototype (0-16).
atstring–set: name, module!export or address.
rateLimitinteger–set: calls/s recorded (1-100000); the rest are counted.
sessionstringyesId from live_session.
watchstring–clear: watch id.
NameTypeReqDescription
namedAddressesarray––
sessionstring––
watchesarray––

No examples provided.

load_assembly ~437

Load a .NET assembly, a folder, or a native image (PE, ELF, Mach-O, wasm). An AOT build (global-metadata.dat v24-39) loads from its folder, global-metadata.dat or package as dummy assemblies with addresses and its binary. A repeat load is a no-op. [Long-running.]

NameTypeReqDescription
archstring–raw: x86, x64, arm, thumb, arm64; mips, ppc, riscv64, 6502 etc. via IDA or Ghidra.
basestring–raw: load address (default 0).
compilerSpecstring–Ghidra compiler spec (also the IDA compiler): windows, gcc, borlandcpp, borlanddelphi...
disableAnalyzersarray–Analyzers off at import (AF_FLIRT, "Decompiler Switch Analysis").
entrystring–raw: entry address or file offset (default start).
formatstring–auto, or raw (headerless code).
languagestring–Ghidra language id: x86:LE:32:default...
loadProvidersboolean–Also load the DLLs the imports bind to (one level, at most 16).
pathstringyesAbsolute path: a file, a folder (native files skipped), an AOT build, package or memory dump, or a Ghidra .gzf / .gpr (copied).
processorstring–IDA processor (-p): metapc, arm, mipsl...
programstring–Program path in a .gpr, e.g. /app.exe (default: its only one).
recursiveboolean–Also load assemblies in subdirectories.
seedsarray–Starts before analysis: [function|code|label:]address[=name].
slicestring–Mach-O slice or index (default arm64e, arm64, x86_64), or the APK ABI (default arm64-v8a).
NameTypeReqDescription
discardedEditsinteger––
entriesarray––
idsarray––
skippedinteger––

No examples provided.

load_pdb ~236

Load PDB (GUID and age checked) or DWARF debug symbols for a native image: names, types, source lines. Searches path, the image folder, symbol paths and CORVUS_DEBUG_DIRS; local matches load automatically. [Long-running.]

NameTypeReqDescription
allowMismatchboolean–Use the path file even if GUID/age or build-id differs.
clearboolean–Remove the PDB names and saved copy instead.
downloadboolean–If nothing local matches: symbol server (PDB), debuginfod (ELF).
imagestringyesImage id, name, path.
maxMegabytesinteger–Download size limit in MB (1-16384).
pathstring–PDB or debug file, dSYM, or a folder or symbol store to look in first.
serverstring–Default: _NT_SYMBOL_PATH servers, else Microsoft (PDB); CORVUS_DEBUGINFOD_URLS (DWARF). Others are refused.
timeoutSecondsinteger–Download time limit, seconds (5-3600).
NameTypeReqDescription
appliedboolean––
changesarray––
digeststring––
dryRunboolean––
editIdsarray––
failedinteger––

No examples provided.

load_session ~164

Restore a save_session file: find each file (recorded path, relative path, else SHA-256 under searchRoots), reapply its work. A changed file is refused unless targetBuild=other. [Long-running.]

NameTypeReqDescription
dryRunboolean–Report only.
includestring–Comma list: edits, patches, annotations, notes, all (default).
limitinteger–Items to return (max 2000).
offsetinteger–Rows to skip.
pathstringyesThe session file.
searchRootsstring–;-separated folders searched recursively for moved files, by SHA-256.
targetBuildstring–Default same; other: native work needs the old build under searchRoots.
NameTypeReqDescription
dryRunboolean––
itemsarray––
notesarray––
outcomesarray––
pathstring––
targetBuildstring––

No examples provided.

make_code_pattern ~248

Make a byte pattern for an address that survives a rebuild: displacements and relocated addresses as ??, unique in the executable sections. search_code_pattern finds it. [Long-running.]

NameTypeReqDescription
addressstring–Hex VA/RVA (rva:/va:/off:), export, module!import, function.
addressesarray–Instead of address; up to 50.
anchorstring–auto: at the address, else at a referencing instruction; xrefs: one per reference; range: [address, end).
endstring–anchor=range: exclusive end, an address or +length.
enginestring–anchor=xrefs: ida or ghidra add engine references.
formatstring–ida, x64dbg, mask (\x48\x00 x?), bitmask (0x48, 0x00 0b01) or yara (rule, compiled).
imagestringyesImage id, name, path.
maxBytesinteger–Longest pattern in bytes (8-512).
maxPatternsinteger–anchor=xrefs: most signatures (1-32).
NameTypeReqDescription
failedinteger––
formatstring––
imagestring––
resultsarray––

No examples provided.

map_address_between_builds ~136

Map old-build addresses (functions, instructions, strings, referenced data) to the new build: new address, confidence and reason, or why not with candidates. [Long-running.]

NameTypeReqDescription
addressstring–Old build: Hex VA/RVA (rva:/va:/off:), export, module!import, function.
addressesarray–Instead of address: up to 100.
codeOnlyboolean–Match by code, not names.
newImagestringyesNew build: image id or path.
oldImagestringyesOld build: image id or path.
NameTypeReqDescription
failedinteger––
newImagestring––
oldImagestring––
resultsarray––

No examples provided.

map_java_dotnet ~140

Pairs across a Java / .NET bridge, both ways: .NET for Android wrappers ([Register], crc64 names) and Mono C# calls through AndroidJavaClass / AndroidJNI. A * / ? pattern lists pairs.

NameTypeReqDescription
limitinteger–Most pairs.
maxTokensinteger–Page size in tokens.
offsetinteger–Rows to skip.
pathstring–Package whose assemblies to read; optional when they are loaded.
symbolstringyesJava class (Lpkg/C;, pkg.C) or method (Lpkg/C;->m(I)V), .NET symbol, or pattern.
NameTypeReqDescription
directionstring––
itemsarray––
notesarray––
querystring––

No examples provided.

Install

How do I install the Corvus MCP server?

Corvus runs locally as a NuGet package, launched with dnx CorvusRE@2.11.0 --yes. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.

nuget · CorvusRE

# add to Claude Code
claude mcp add albasha0x0-corvus -- dnx CorvusRE@2.11.0 --yes
Common questions

What is the Corvus MCP server?

Corvus is an MCP server listed in the public MCP registry as io.github.Albasha0x0/corvus. Reverse engineering and security analysis of .NET and native binaries: decompile, compare, patch. This page covers its NuGet package (CorvusRE).

Is the Corvus MCP server safe to use?

Corvus scores 77 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Corvus MCP server expose?

Corvus exposes 165 tools: get_engine_status, export_edits, list_types, resolve_call_targets, search_constants, and 160 more. Their descriptions and schemas cost roughly 27,723 tokens of context every time the server is loaded.

Is the Corvus MCP server still maintained?

Corvus is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Corvus MCP server under?

Corvus declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.