SpectraProbe MCP server
OfficialClick on "Deploy 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., "@SpectraProbe MCP serveranalyze ./downloads/setup.exe and list its imports and security flags"
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.
๐ฐ๏ธ SpectraProbe
Original open-source static software analysis toolkit
Identify, hash and inspect executables, archives, WebAssembly and JavaScript โ from one CLI, one library, and a real MCP server. No cloud. No telemetry. Everything runs locally.
Quick start ยท What it does ยท CLI ยท MCP server ยท Providers ยท Library ยท Scope & ethics
Why
Reverse-engineering and defensive investigation usually mean juggling a dozen single-purpose tools: one for file identification, one for hashing, one for strings, another for PE headers, another for ELF, something else for archives. SpectraProbe unifies the static foundation of that workflow behind one consistent interface, with a data model built for evidence:
Zero required native dependencies. The PE, ELF, Mach-O, WebAssembly and ZIP parsers are original TypeScript. Install and run.
One engine, three front ends. The same analysis core powers the CLI, the programmatic library, and an MCP server โ so results are identical everywhere.
Evidence, not vibes. Every conclusion is a finding that cites concrete evidence, labelled
verified,inferredorunknown, with explicit limitations. Nothing is invented.Graceful degradation. Heavy external tools (Ghidra, radare2, YARA, JADX, โฆ) are optional providers; the core works fully without them and reports exactly what is and isn't installed.
$ spectra inspect ./sample.exe
โ sample.exe
format pe โ PE (Portable Executable)
sha256 9f2cโฆc4cd
entropy 6.47 bits/byte
metadata
[vh] PE PE32+ for x86-64 (AMD64) (DLL)
subsystem: Windows GUI; entry RVA 0x1240; image base 0x180000000
import
[vh] Imports 86 functions from 7 libraries
hardening
[vh] Security flags: dynamic-base (ASLR), nx-compatible (DEP), control-flow-guardRelated MCP server: specmd-mcp
โจ What it does
Area | Capability |
Identification | Magic-byte detection for PE, ELF, Mach-O (incl. fat/universal), WebAssembly, ZIP/JAR/APK, Java class, DEX, JS/TS, text |
Integrity | SHA-256 / SHA-1 / MD5 / CRC-32, size, Shannon entropy with packing hints |
Strings & IOCs | ASCII + UTF-16LE extraction; pulls out URLs, IPs, emails, domains and file paths |
PE | Machine, bitness, subsystem, entry point, image base, timestamp, sections, imports (by name & ordinal), exports, ASLR/DEP/CFG flags, .NET detection |
ELF | Class, type, machine, sections, |
Mach-O | 32/64-bit, fat binaries, CPU type, file type, UUID, sections, linked dylibs, min-OS |
WebAssembly | Section table, imports and exports with names and kinds, custom sections |
Archives | ZIP/JAR/APK entry listing; JAR manifest; APK DEX/manifest summary (reads deflate & stored entries) |
JavaScript / TS | Real acorn AST for JS (imports, requires, exports, functions, classes, |
Evidence model | Findings cite evidence, carry certainty/confidence and limitations; searchable sessions persisted to disk |
Knowledge graph | Relationship graph linking artifacts โ imports, exports, dependencies, sections, indicators |
Reporting | Terminal, JSON and Markdown reports with reproducibility metadata |
SpectraProbe performs static analysis only โ it reads and parses files, it never executes the software under study.
๐ Quick start
git clone https://github.com/Ethos6/spectraprobe
cd spectraprobe
npm install
npm run build
npm test # 38 tests across parsers, pipeline, and the MCP layer
# analyse something real
node dist/cli/cli.js inspect "$(command -v node)"Install the spectra command globally from the clone:
npm link # then: spectra inspect ./targetRequires Node.js โฅ 18. Works on Windows 11, Linux and macOS (CI runs on all three).
โจ๏ธ CLI
spectra inspect <target> Full static analysis (findings, metadata, structure)
spectra strings <file> Extract printable ASCII/UTF-16 strings
spectra dependencies <target> Linked libraries / package dependencies
spectra symbols <file> Exported / dynamic symbols
spectra imports <file> Imported libraries and functions
spectra js analyze <path> Analyse a JS/TS file or project
spectra resources <file> List archive entries / embedded resources
spectra providers List external providers and availability
spectra report <target> Full report (--format markdown|json --out file)
spectra graph <target> Emit the knowledge graph as JSON
spectra mcp Start the MCP server (stdio)Common options: --format terminal|json|markdown, --out <file>, --only strings,imports, --min-length <n>, --max-strings <n>, --no-color.
# A whole JS/Node project: dependencies + capability references + module graph
spectra js analyze ./my-app
# A shareable Markdown report for an issue or case file
spectra report ./firmware.bin --format markdown --out firmware.md
# Just the import table of a DLL, as JSON
spectra imports ./library.dll --format json๐ MCP server
SpectraProbe speaks the Model Context Protocol over stdio, so any MCP-compatible client or agent can drive the engine. It implements the protocol directly โ no SDK dependency.
// add to your MCP client configuration
{
"mcpServers": {
"spectraprobe": { "command": "spectra", "args": ["mcp"] }
}
}Twelve tools, each backed by the same engine as the CLI:
probe_target ยท inspect_metadata ยท extract_strings ยท inspect_dependencies ยท inspect_symbols ยท inspect_imports ยท analyze_javascript ยท inspect_resources ยท search_evidence ยท create_report ยท list_providers ยท get_analysis_status
Each tool has an explicit input schema, returns structured JSON, and reports clear errors for unsupported operations. Requests are processed in order so session-aware tools (search_evidence, get_analysis_status) stay consistent. A quick manual check:
printf '%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05"}}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/list"}' \
'{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"probe_target","arguments":{"path":"/bin/ls"}}}' \
| spectra mcp๐งฉ Pluggable providers
Deeper analysis comes from established, independently-licensed tools. SpectraProbe detects and adapts them; it never bundles them, and it keeps working when they are absent.
Provider | Adds | Detected via |
YARA | signature/pattern scanning |
|
radare2 | disassembly & analysis |
|
Capstone | multi-arch disassembly |
|
LIEF | cross-format binary abstraction |
|
Ghidra | decompilation, deep analysis |
|
JADX | APK/DEX โ Java |
|
Java | JVM-based tooling |
|
spectra providers # shows โ/โ, version, supported formats, and install notesEach provider honours the licence and distribution terms of the tool it wraps.
๐ Library API
import { analyzePath, buildGraph, renderReport } from "spectraprobe";
const report = await analyzePath("./sample.exe");
console.log(report.findings.filter((f) => f.category === "import"));
const graph = buildGraph([report]); // nodes + edges you can render or query
const markdown = renderReport(report, "markdown");Lower-level parsers are exported too: parsePe, parseElf, parseMacho, parseWasm, readZip, extractStrings, shannonEntropy, hashBuffer, and more.
๐๏ธ Architecture
ingest โโถ identify (magic bytes) โโถ static engines โโถ evidence/findings โโถ report
โโ formats: pe ยท elf ยท macho ยท wasm ยท zip
โโ analyze: javascript (acorn) ยท project walk
โโ providers: yara ยท radare2 ยท ghidra ยท โฆ(optional)
โ
session (searchable) โโโโโโโโโค
knowledge graph โโโโโโโโโ
the same core is exposed by โ CLI ยท library ยท MCP serverIndependently testable subsystems, TypeScript strict mode, bounds-checked binary readers, hard timeouts on any external process, and no file is ever executed.
๐ก๏ธ Authorized use
SpectraProbe is built for defensive security, debugging, interoperability research, and authorized software investigation. Use it only on:
software you develop or own,
open-source software,
malware/research samples in an environment you control, or
targets you otherwise have a lawful basis to analyse.
By design, this project is static-only. It deliberately does not include runtime hooking, stealth process/network monitoring, access-control or DRM circumvention, credential capture, or persistence mechanisms. Respect the licences of anything you analyse and of every provider tool you enable. You are responsible for using it lawfully.
โ Project status
Implemented and tested: ingestion, hashing, entropy, strings/IOCs, PE/ELF/Mach-O/WASM/ZIP parsers, JS/TS analysis, provider detection, evidence model, knowledge graph, sessions, reporting, CLI, and the MCP server (38 passing tests; typechecked; CI on Linux/macOS/Windows ร Node 18/20/22).
Planned: optional provider adapters that invoke Ghidra/radare2/JADX for decompilation, richer .NET and DEX structure parsing, and a desktop workspace. Runtime/dynamic analysis is intentionally out of scope.
๐ค Contributing
Issues and PRs welcome โ new format parsers, provider adapters, and fixtures especially. See CONTRIBUTING.md. Please include a deterministic test fixture for any new parser.
Related projects
free-search-api โ self-hosted web search API
free-news-api โ news aggregation API
free-flight-api โ live flight tracking API
free-ocr-api โ OCR & document data extraction
If SpectraProbe is useful to you, please โญ the repo โ it helps other researchers find it.
MIT ยฉ Ethos6
This server cannot be deployed
Maintenance
Related MCP Connectors
Query SEC EDGAR filings, XBRL financials, and company data via MCP. STDIO or Streamable HTTP.
Structured analysis API and remote MCP tool for text, JSON records and numeric series.
Self-hosted MCP server: 26 deterministic dev, security, and EVM tools.
Scans remote MCP servers for protocol, security, and TLS issues; exposes scan tools via MCP.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables evidence-first binary and firmware analysis through MCP, exposing tools to initialize projects, analyze artifacts, query structured claims, export results, and run evaluations.Apache 2.0

specmd-mcpofficial
AlicenseCqualityBmaintenanceEnables authoring, validating, inspecting, blackbox-inventorying, tracing, and capability-querying SPEC.md documents through MCP tools over stdio JSON-RPC. Each tool wraps the same command modules the CLI uses and returns identical JSON envelopes.9Apache 2.0- AlicenseCqualityBmaintenanceProvides read-only, stdio-based MCP tools for inspecting locally captured C/C++ fault artifacts, grouping processes and sessions, querying the evidence store, and resolving explicitly supported RPC/IPC relationships. Access is restricted to a configured artifact root, with observed, static-candidate, and unresolved evidence kept strictly separate.241Apache 2.0
- AlicenseNot gradedqualityCmaintenanceExposes read-only local analysis tools for source auditing, web traffic review, binary reverse engineering, exploit scaffolding, OSINT, and reporting via JSON-RPC over stdio, enabling LLMs to orchestrate evidence-based security workflows without executing targets or sending network requests.1MIT