WebArcheology-MCP
<div align="center">
<p align="center">
<strong>🇺🇸 English</strong> · <a href="./docs/locales/ko.md">🇰🇷 한국어</a> · <a href="./docs/locales/zh-CN.md">🇨🇳 中文</a> · <a href="./docs/locales/es.md">🇪🇸 Español</a> · <a href="./docs/locales/hi.md">🇮🇳 हिन्दी</a><br />
<a href="./docs/locales/ar.md">🇸🇦 العربية</a> · <a href="./docs/locales/pt-BR.md">🇧🇷 Português</a> · <a href="./docs/locales/ru.md">🇷🇺 Русский</a> · <a href="./docs/locales/fr.md">🇫🇷 Français</a> · <a href="./docs/locales/id.md">🇮🇩 Bahasa Indonesia</a>
</p>
# 🏛️ WebArcheology-MCP
<p align="center">
<b>Next-Gen Autonomous Web Architecture Decompiler, Interactive Offline Synthesizer & Vibe-Coding Token Extractor</b>
</p>
<p align="center">
<img src="https://img.shields.io/badge/Protocol-Model_Context_Protocol_(MCP)-007acc?style=for-the-badge&logo=anthropic" alt="MCP Protocol" />
<img src="https://img.shields.io/badge/Engine-Zero--Dependency_Node.js-10b981?style=for-the-badge&logo=nodedotjs" alt="Node Engine" />
<img src="https://img.shields.io/badge/Target-HTTrack_&_SingleFile_Evolved-8b5cf6?style=for-the-badge&logo=firefox" alt="Evolution" />
<img src="https://img.shields.io/badge/License-Proprietary-red?style=for-the-badge" alt="Proprietary License" />
</p>
<sub>Architected & Licensed under Proprietary (All Rights Reserved) · Junho Kim</sub>
</div>
---
<details open>
<summary><b>🌟 Why WebArcheology? (The Paradigm Shift) (Click to toggle / 접기·펼치기)</b></summary>
<br>
Legacy web archival tools and scrapers were built in the 1990s and 2000s for a static web that no longer exists:
| Tool | Architecture Limitation | Why It Fails Modern Web & Vibe Coding |
| :--- | :--- | :--- |
| **HTTrack / Cyotek WebCopy** | Static HTML crawler (1998 era) | Completely breaks on modern SPAs (React, Vue, Next.js, Vite), Webpack chunk splitting, client hydration, and WAFs. |
| **SingleFile** | Single-file HTML inliner | Compresses one page into a bloated monolithic data-URI string. Completely incapable of multi-page apps, API discovery, or component extraction. |
| **ArchiveBox / Browsertrix** | Archival WARC/WACZ containers | Built for library archivists; produces heavy binary WARC files. Unusable for modern developer workflows, code reconstruction, or interactive offline execution. |
| **✨ WebArcheology-MCP** | **Deep Reverse-Engineering & Synthesis Engine** | **Forensics + SourceMap Unpacker + Interactive Offline ServiceWorker + Vibe-Coding React/Tailwind Extractor + Stdio MCP Server.** |
</details>
---
<details open>
<summary><b>🚀 Key Architectural Capabilities (Click to toggle / 접기·펼치기)</b></summary>
<br>
### 1. 🔍 Deep Infrastructure & Network Forensics (`web_recon_infrastructure`)
- **Edge & CDN Identification**: Detects Cloudflare Workers, Vercel Edge Network, Fastly VCL, Akamai Edge, AWS CloudFront, Fly.io, and Netlify.
- **WAF & Anti-Bot Profiling**: Fingerprints Cloudflare Turnstile, DataDome, PerimeterX / HUMAN, AWS WAF, and Google reCAPTCHA.
- **Framework & Hydration Footprint**: Identifies Next.js (`__NEXT_DATA__`, Turbopack/Webpack), Nuxt (Vue), Remix, SvelteKit, and Astro Islands.
- **Security & Headers Posture**: Audits HSTS, CSP, X-Frame-Options, Permissions-Policy, and CORS access controls.
### 2. ⚡ Client-Side Bundle Decompiler & Sourcemap Unpacker (`web_decompile_bundles`)
- **Automatic Sourcemap Carving**: Scans inline base64 sourcemaps (`sourceMappingURL=data:...`) and external `.map` files across all chunks.
- **Zero-Loss Source Reconstruction**: Automatically unpacks `sourcesContent` into a clean, original directory structure (`src/components/`, `src/hooks/`, `src/services/` etc.).
- **Unadvertised API Discovery**: AST-scans minified and unbundled scripts for hidden REST endpoints (`/api/...`, `/graphql`, `tRPC`, query parameters, and custom headers).
### 3. 📦 Interactive Offline Mirror with Mock ServiceWorker (`web_clone_offline_mirror`)
- **Beyond Static Screenshots**: Downloads CSS, JS, WebFonts, SVGs, and images with relative URL path rewriting (`assets/[hash].[ext]`).
- **Zero-Network Interactive Replay**: Injects a lightweight mock API ServiceWorker and fetch monkey-patch into the mirror.
- **Clickable Offline SPA**: When opened locally (`preview.bat` / `npx serve`), search bars, tabs, filter buttons, and dialogs continue to work offline with simulated JSON responses!
### 4. 🎨 Vibe-Coding Design Token & React Extractor (`web_extract_vibe_components`)
- **Instant Design Tokens**: Carves all CSS variables, hex/rgb color palettes, typography hierarchies, and generates a plug-and-play `tailwind.config.js` extension.
- **Clean React JSX Generation**: Extracts any UI section (`header`, `nav`, `.hero`, `.pricing`) and transforms raw DOM attributes into pristine, standalone React components ready for modern developer workflows!
### 5. 📑 Automated OpenAPI 3.0 Catalog Synthesis (`web_audit_api_catalog`)
- Synthesizes a machine-readable OpenAPI/Swagger 3.0 specification representing the reverse-engineered attack surface and API schema of the target.
### 6. 🧭 AST-Based Client Router & State Extraction (`web_analyze_app_state`)
- **Route Tree Reconstruction**: Analyzes client-side router configurations across Next.js App Router (`page.js`, `layout.js`, dynamic segments), React Router DOM v6, and Vue Router, rebuilding full client-side URL route trees.
- **Global State Schema Inference**: Extracts state schemas, store definitions, reducers, and action types for Redux Toolkit, Zustand, and Pinia stores directly from minified chunks.
- **Action & Dispatch Linkage**: Maps frontend state transitions to outbound API endpoint calls, identifying state-driven network triggers.
### 7. 📡 Headless CDP Live Session Capture & WebSocket Replay (`web_capture_live_session`)
- **Full-Spectrum Network Forensics**: Connects to Chrome DevTools Protocol (CDP) or runs high-fidelity standalone interception, saving complete request/response transactions into strict HAR 1.2 archives.
- **WebSocket Message Stream Recording**: Records WebSocket connection handshakes, inbound/outbound binary and text frames, timestamps, and JSON payloads.
- **Storage State Injection**: Snapshots and injects HTTP cookies, localStorage keys, and sessionStorage tokens for authenticated app workflows.
- **Self-Contained Offline WebSocket Replayer**: Automatically synthesizes `replay_server.mjs` (RFC 6455 compliant) and client bridge `offline_session_bridge.js` to simulate live interactive applications with zero external dependencies.
### 8. ⚡ Tailwind CSS & Radix/Shadcn UI Component Synthesizer (`web_synthesize_shadcn`)
- **Radix & Shadcn UI Mapping**: Synthesizes type-safe, production-ready TypeScript React components from arbitrary web subtrees or raw HTML. Maps Buttons (variants: default, outline, destructive, ghost, link; sizes: sm, default, lg, icon; `asChild`), Cards (`CardHeader`, `CardTitle`, `CardDescription`, `CardContent`, `CardFooter`), Dialogs, Badges, Avatars (`AvatarImage`, `AvatarFallback`), Separators, Inputs, Textareas, and Labels.
- **Lucide React Icon Synthesis**: Automatically identifies SVG path vectors, shapes, and icon classes (Chevron, Arrow, Search, Menu, X, Bell, User, Heart, Star, etc.) and replaces raw SVG blobs with clean Lucide React component imports.
- **Intelligent Dark Mode Synthesis**: Detects existing `dark:` Tailwind classes and automatically infers/synthesizes intelligent dark mode variants for light styles (e.g., `bg-white` -> `dark:bg-zinc-900`, `text-gray-900` -> `dark:text-zinc-50`, `border-gray-200` -> `dark:border-zinc-800`), returning a comprehensive dark mode audit report.
- **Storybook 7/8 CSF3 Generation**: Automatically exports Storybook `.stories.tsx` files with `Default`, `DarkMode` (decorator-wrapped), and `CustomProps` stories with interactive controls and ArgTypes.
### 9. ⚡ Distributed Multi-Origin Cache Optimizer & HTTP/2 Preview (`web_optimize_offline_cache`)
- **Content-Addressable Storage (CAS)**: Computes cryptographic SHA-256 digests for all downloaded assets and stores unique blobs in `.cas/blobs/<sha256>`. Transparently deduplicates identical files across multi-origin mirrors (`cdn.domain.com` vs `static.domain.com`) via hard-linking with automatic copy fallback.
- **Static Compression Engine**: Pre-compresses text and binary assets (`.html`, `.js`, `.css`, `.json`, `.svg`, `.wasm`, `.xml`, `.txt`, `.map`) with Brotli (`.br`) and Gzip (`.gz`), compiling comprehensive size savings metrics.
- **Automated Cache Manifest & Graph Topology**: Compiles `cache_manifest.json` with MIME types, raw and compressed payload byte counts, and deduplication ratios, accompanied by `asset_graph.json` detailing inter-asset links, origins, and duplicate clusters.
- **High-Performance Cleartext HTTP/2 & HTTP/1.1 Static Server**: Pure Node.js dual-protocol multiplexing over cleartext TCP, automatic `Accept-Encoding` negotiation, RFC-compliant ETag headers with HTTP 304 Not Modified validation, and clean Zero-Zombie process shutdown.
### 10. ⚡ Client Bundle Time-Series Diffing & Version Drift (`web_diff_bundle_releases`)
- **Normalized Chunk Matching**: Matches bundle chunks across deployments by stripping hash variations, tracking added, removed, and modified chunks with byte-accurate delta sizing.
- **API & Route Drift Tracking**: Audits removed and modified REST/GraphQL API endpoints, flagging breaking removals (404 risks) and tracking Next.js/React/Vue route tree evolution.
- **Visual & UI Component Regression**: Detects deleted components and theme token shifts (e.g. CSS custom properties) with automated risk scoring (`CRITICAL`, `HIGH`, `MODERATE`, `LOW`, `SAFE`).
- **Multi-Format Reporting**: Synthesizes `drift_manifest.json`, `DRIFT_REPORT.md`, and an interactive, 100% self-hosted HTML visual diff dashboard (`drift_visualizer.html`).
### 11. 🧪 Automated E2E Test Harness & Playwright/Cypress Suite Generator (`web_generate_e2e_harness`)
- **Multi-Framework E2E Synthesis**: Automatically reconstructs client route topologies, form interactions, and navigation flows into clean, idiomatic Playwright (`playwright_suite.spec.mjs`) and Cypress (`cypress_suite.cy.js`) test suites.
- **Dynamic Mock API Route Handlers**: Synthesizes realistic network interception mocks (`page.route` / `cy.intercept`) with JSON fixtures derived from discovered endpoints and API schemas for deterministic, zero-network test execution.
- **Interactive HTML Flow Simulator**: Compiles `e2e_flow_simulator.html` featuring a visual route transition graph, step-by-step state playback, mock payload inspector, and clickable journey emulator with zero external runtime dependencies.
- **Standalone Execution Rig**: Generates `run_e2e_rig.mjs` enabling instant local test execution, regression verification, and assertion checks without heavy browser dependencies.
- **Comprehensive Audit Artifacts**: Produces human-readable `E2E_HARNESS_REPORT.md` and structured `e2e_harness_manifest.json` cataloging route coverage, user journeys, and verification steps.
### 12. 🧩 WebAssembly Binary Decompiler & Declarative Memory Interface (`web_decompile_wasm`)
- **Zero-Dependency 12-Section Binary Decoder**: Decodes all 12 standard WebAssembly binary sections (Custom, Type, Import, Function, Table, Memory, Global, Export, Start, Element, Code, and Data) directly from compiled `.wasm` files using pure Node.js binary buffers.
- **Inline Module Carving from Bundles**: Scans minified JavaScript bundles and HTML `<link rel="preload">` tags to extract embedded Base64 WASM modules (`data:application/wasm;base64,...`) and external binary assets.
- **Full WAT Disassembler**: Reconstructs bytecode into idiomatic WebAssembly Text Format (WAT) recovering instruction streams, control flow blocks (`block`, `loop`, `if`/`else`), arithmetic instructions, and linear memory operations.
- **Declarative TypeScript Interface Generator**: Automatically synthesizes type-safe `.d.ts` definitions describing exported functions, imported host requirements, and linear memory boundaries, alongside an instant host loader instantiation bridge.
- **Data Segment & Secret Carving**: Inspects static data segments to carve embedded strings, rodata constants, lookup tables, and potential embedded secret keys.
- **Interactive Offline WebAssembly Explorer**: Generates a self-contained HTML visual report (`wasm_explorer.html`) featuring an instruction opcode graph, section byte-distribution chart, memory segment browser, and interactive call graph navigator with zero external CDN dependencies.
### 13. 📱 PWA Manifest, ServiceWorker Cache Storage & IndexedDB Forensics (`web_inspect_pwa_cache`)
- **Web App Manifest Extraction & Installability Audit**: Parses web app manifests (`manifest.json`, Web App Manifest links), auditing icons (maskable/any, resolutions), `theme_color`, `background_color`, display modes (`standalone`, `minimal-ui`, `fullscreen`, `browser`), `start_url`, `scope`, `orientation`, `shortcuts`, and `share_target` against modern PWA installability criteria.
- **ServiceWorker & Runtime Caching Forensics**: Extracts ServiceWorker registrations and lifecycle event handlers (`install`, `activate`, `fetch`, `sync`, `push`). Reverse-engineers runtime caching configurations including Workbox 5 strategies (`CacheFirst`, `NetworkFirst`, `StaleWhileRevalidate`, `NetworkOnly`, `CacheOnly`), cache expiration policies (`maxEntries`, `maxAgeSeconds`), and precache asset manifests (`self.__WB_MANIFEST`, `cache.addAll`).
- **Background Sync & Web Push Pipeline**: Identifies background sync tags (`workbox.backgroundSync`, `self.addEventListener('sync')`), offline replay queues, and push notification event listeners (`push`, `notificationclick`).
- **IndexedDB Schema Inference & Sensitive Data Audit**: Dissects client persistence schemas across native `indexedDB`, Dexie.js (`db.version.stores`), `idb` / `idb-keyval`, `localForage`, and Redux-Persist. Incurs key paths, auto-incrementing primary keys, and secondary indexes while flagging unencrypted sensitive data (tokens, authentication credentials, PII) stored in client storage.
- **PWA Resilience Scoring & Interactive Visual Inspector**: Computes an offline resilience score (0-100) and letter grade (`A+` to `F`) with categorized audit findings. Generates structured manifests `pwa_manifest.json` and `pwa_cache_manifest.json`, a human-readable audit report `PWA_INSPECT_REPORT.md`, and a self-contained interactive visual inspector (`pwa_cache_visualizer.html`) with zero external CDN dependencies.
### 14. 🔍 Browser Fingerprint & Client-Side Anti-Bot Profiler (`web_profile_fingerprint`)
- **8 Browser Surface Vectors**: Extracts and profiles client fingerprint probes across Canvas 2D (`toDataURL`, `getImageData`, `measureText`), WebGL/GPU (`0x9245`, `0x9246`, extension enumeration, shader precision), AudioContext (`OfflineAudioContext`, oscillator frequency shaping, PCM sample hashing), Navigator & Concurrency (`hardwareConcurrency`, `deviceMemory`, Client Hints), Screen & Window geometry, Font fallback measurement, Permissions & WebRTC IP leak probes, and Headless/Automation indicators (`navigator.webdriver`, ChromeDriver CDC symbols).
- **Commercial Anti-Bot Sensor Detection**: Automatically detects signature payloads and sensor scripts for Kasada (`ips.js`, `kex.js`), Akamai BMP (`_abck`, `sensor_data`), F5 Shape Security (`_sec_cpt`), Cloudflare Turnstile (`challenges.cloudflare.com`), DataDome (`datadome.js`), HUMAN / PerimeterX (`_pxVid`), FingerprintJS (`fp.js`), and Arkose Labs FunCaptcha.
- **Shannon Entropy Analysis**: Evaluates Shannon entropy across script blocks to identify polymorphic obfuscation, packed scripts, and high-entropy encryption routines (> 5.8 bits/byte).
- **Mitigation Scoring & Self-Hosted Dashboard**: Calculates a unified Bot Mitigation Index (0-100) and defense classification grade (`NONE` to `EXTREME`), generating `fingerprint_profile_manifest.json`, `FINGERPRINT_REPORT.md`, and an interactive visual dashboard (`fingerprint_visualizer.html`) with zero external CDN dependencies.
### 15. 🔄 Real-Time Collaboration & CRDT State Decompiler (`web_inspect_crdt_state`)
- **CRDT Framework Identification**: Scans and identifies client collaboration stacks across Yjs (`yjs`, `y-websocket`, `y-webrtc`, `y-indexeddb`), Automerge (`@automerge/automerge`, actor DAG changes), Liveblocks (`@liveblocks/client`, `LiveObject`, `LiveMap`), ShareDB / OT (`ot-json0`), and local-first sync engines (Replicache, ElectricSQL, Logux).
- **Binary Vector Clock & State Vector Decoding**: Pure Node.js zero-dependency VarUint (LEB128), VarInt, and VarString stream decoding. Decodes Yjs SyncStep1 state vectors, SyncStep2 / Update deltas, and multi-user awareness/presence streams into a synchronized vector clock matrix (`Map<clientId, clock>`).
- **Document State Tree Reconstruction**: Reconstructs hierarchical collaborative document trees (Maps, Arrays, Rich-Text with character-level operation history and Lamport timestamp conflict resolution).
- **Collaboration Health Scoring & Interactive Dashboard**: Computes a unified Collaboration Health Index (0-100) and grade (`A+` to `F`) assessing protocol security, vector compactness, presence efficiency, and persistence readiness. Generates `crdt_inspect_manifest.json`, `CRDT_INSPECT_REPORT.md`, and an interactive visual dashboard (`crdt_state_visualizer.html`) with zero external CDN dependencies.
### 16. 🎬 Streaming Media Pipeline & DRM Forensics (`web_inspect_media_pipeline`)
- **Manifest Decompiler & Timeline Reconstruction**: Parses RFC 8216 HLS Master/Media playlists (`.m3u8`, `#EXT-X-STREAM-INF`, `#EXTINF`, `#EXT-X-KEY`, `#EXT-X-MAP`) and ISO/IEC 23009-1 MPEG-DASH manifests (`.mpd`, AdaptationSets, Representations, SegmentTemplate, SegmentTimeline), reconstructing multi-bitrate ladders and segment timelines.
- **Protection System Specific Header (PSSH) Decoding**: Pure Node.js binary and Base64 PSSH box decoder with automatic SystemID identification (Google Widevine, Microsoft PlayReady, Apple FairPlay, W3C ClearKey, ISO/IEC CENC), Key ID (KID) extraction, and private data carving.
- **Client-Side EME Forensics & Player Detection**: Audits Encrypted Media Extensions (EME) JavaScript API calls (`requestMediaKeySystemAccess`, `createMediaKeySession`), hardware security robustness levels (`HW_SECURE_ALL` L1 vs `SW_SECURE_CRYPTO` L3), license server endpoints, and video player libraries (Hls.js, Shaka Player, Dash.js, Video.js, JW Player, Clappr, Plyr).
- **Pipeline Health Scoring & Interactive Visualizer**: Computes a unified Media Pipeline Health Score (0-100, `A+` to `F`) assessing manifest standards, bitrate headroom, cryptographic robustness, and player integration. Generates `media_pipeline_manifest.json`, `MEDIA_PIPELINE_REPORT.md`, and an interactive visual dashboard (`media_pipeline_visualizer.html`) with zero external CDN dependencies.
### 17. 🎮 WebGL & WebGPU Shader Pipeline Reverser & 3D Decompiler (`web_decompile_shaders`)
- **Binary GLB & glTF 2.0 Geometry Decoding**: Pure Node.js zero-dependency binary GLB container and glTF 2.0 parser extracting chunk headers, bufferViews, accessors, mesh geometry attributes (positions, normals, UVs, tangents), and embedded PBR texture buffers.
- **GLSL & WebGPU WGSL Static Analysis**: Reverse-engineers vertex, fragment, and compute shaders across GLSL ES 1.00/3.00 and modern WebGPU WGSL. Extracts uniform/storage buffer layouts, `@group` and `@binding` decorators, `@workgroup_size` dimensions, variable bindings, and shader complexity metrics.
- **3D Framework Forensics & PBR Material Mapping**: Detects web 3D engines (Three.js, Babylon.js, PlayCanvas, A-Frame, PixiJS, CesiumJS, Model-Viewer, Spline) and maps complete PBR material parameter trees (albedo, roughness, metallic, normal maps, emissive factors).
- **Pipeline Health Scoring & Interactive 3D Visualizer**: Computes a unified 3D Pipeline Health Score (0-100, `A+` to `F`) evaluating draw call efficiency, uniform compactness, texture memory overhead, and shader execution complexity. Generates `shader_decompile_manifest.json`, `SHADER_DECOMPILE_REPORT.md`, and a standalone interactive 3D shader visualizer (`shader_pipeline_visualizer.html`) with zero external CDN dependencies.
### 18. 🧬 GraphQL Schema & gRPC-Web Interface Synthesizer (`web_reconstruct_schema`)
- **AST Query Extraction & Schema Inversion**: Statically carves `gql` tagged template literals, Apollo/urql operations, and network payloads into AST representations. Reconstructs a unified, valid GraphQL Schema Definition Language (`schema.graphql`) with `type Query`, `type Mutation`, `type Subscription`, object types, input schemas, and inferred primitive/complex scalar types (`ID`, `String`, `Int`, `Float`, `Boolean`, `DateTime`).
- **Zero-Dependency Protobuf v3 Wire Decoding**: Pure Node.js binary wire parser (`decodeProtobufWire`) decoding Varint (LEB128), Fixed64, Fixed32, and recursively unpacking embedded length-delimited sub-messages, packed fields, and UTF-8 strings.
- **gRPC-Web 5-Byte Framed Stream Demultiplexing**: Decompresses and unpacks gRPC-Web framing flags (data vs. trailer frames) across standard and base64-encoded `application/grpc-web-text` HTTP streams.
- **Service & Method Carving (`.proto`)**: Carves service and RPC method registrations from client stubs and synthesizes production-ready Protobuf v3 (`service_definitions.proto`) files.
- **Schema Health Scoring & Interactive Visualizer**: Computes an API Architecture Health Score (0-100, `A+` to `F`) evaluating operation diversity, field resolution rate, and protocol integrity. Outputs machine-readable manifest `schema_reconstruct_manifest.json`, high-signal audit report `SCHEMA_RECONSTRUCT_REPORT.md`, and a standalone interactive HTML visualizer (`schema_visualizer.html`) with zero external CDN dependencies.
</details>
---
<details open>
<summary><b>💻 Quick Start & MCP Integration (Click to toggle / 접기·펼치기)</b></summary>
<br>
### 1. Run via Claude Desktop / Cursor / Any MCP Client
Add to your `claude_desktop_config.json` or `mcp_servers.json`:
```json
{
"mcpServers": {
"webarcheology": {
"command": "node",
"args": ["c:/github_iko098567/webarcheology-mcp/src/index.mjs"]
}
}
}
```
### 2. Standalone CLI Usage
```bash
# Deep infrastructure and security audit
node bin/cli.mjs recon https://example.com
# Decompile frontend bundles and unpack sourcemaps to disk
node bin/cli.mjs decompile https://example.com --unpack ./reconstructed_src
# Clone an interactive offline mirror with mock APIs
node bin/cli.mjs mirror https://example.com ./my_offline_mirror
# Optimize offline cache, deduplicate multi-origin assets (CAS) and launch HTTP/2 preview server
node bin/cli.mjs cache ./my_offline_mirror --preview
# Diff two release deployments and track breaking changes, APIs, and chunk sizes
node bin/cli.mjs diff ./release_v1 ./release_v2 --out ./bundle_diff_report
# Extract design tokens & standalone React component for vibe coding
node bin/cli.mjs vibe https://example.com header
# Synthesize clean TypeScript Shadcn UI component with Lucide icons & dark mode
node bin/cli.mjs shadcn https://example.com header --name MainHeader
# Analyze client-side routing trees and state stores (Redux, Zustand, Pinia)
node bin/cli.mjs state https://example.com
# Capture live dynamic session into HAR 1.2 archive and generate offline WebSocket replayer
node bin/cli.mjs session https://example.com --duration 5000 --out ./live_session
# Synthesize automated Playwright & Cypress E2E test suites with mock routes and flow simulator
node bin/cli.mjs harness https://example.com --out ./e2e_suite
# Decompile WebAssembly binary or carved module into WAT, TypeScript interfaces, and interactive explorer
# Options: --out <dir>, --no-wat, --no-ts, --no-html, --no-json
node bin/cli.mjs wasm ./app.wasm --out ./wasm_decompiled
# Decompile embedded WASM from live URL or bundle with selective outputs
node bin/cli.mjs wasm https://example.com/engine.wasm --out ./wasm_out --no-wat
# Audit PWA manifest, ServiceWorker caches, background sync, and IndexedDB schemas
# Options: --out <dir>, --no-html, --no-json, --no-md, --no-sw, --no-idb
node bin/cli.mjs pwa https://example.com --out ./pwa_audit
# Inspect local offline directory or mirror for PWA assets and persistence schemas
node bin/cli.mjs pwa ./my_offline_mirror --no-html
# Profile client-side fingerprinting surfaces & anti-bot telemetry
# Options: --out <dir>, --no-html, --no-json, --no-md, --no-entropy
node bin/cli.mjs fingerprint https://example.com --out ./fingerprint_report
# Decompile CRDT document states, decode vector clocks, and inspect real-time collaboration peers
# Options: --out <dir>, --no-html, --no-json, --no-md
node bin/cli.mjs crdt https://example.com --out ./crdt_report
# Inspect HLS/DASH streaming pipeline, bitrate ladders, PSSH box, and DRM EME APIs
# Options: --out <dir>, --no-html, --no-json, --no-md
node bin/cli.mjs media https://example.com/stream.m3u8 --out ./media_report
# Decompile WebGL/WebGPU shaders, parse GLB/GLTF geometry buffers, and inspect 3D scenes
# Options: --out <dir>, --no-html, --no-json, --no-md
node bin/cli.mjs shader https://example.com/scene.glb --out ./shader_report
# Reconstruct GraphQL SDL and gRPC-Web proto3 definitions from client bundles
# Options: --out <dir>, --no-html, --no-json, --no-md, --no-graphql, --no-proto
node bin/cli.mjs schema ./client_dist --out ./schema_artifacts
```
</details>
---
<details open>
<summary><b>🧪 Verified Test Suite (Click to toggle / 접기·펼치기)</b></summary>
<br>
WebArcheology includes a comprehensive, zero-dependency test suite validating all subsystems:
```bash
node tests/run_all.mjs
```
```text
===============================================================
🧪 RUNNING WEBARCHEOLOGY-MCP COMPREHENSIVE TEST SUITE
===============================================================
✓ mcp_protocol.test.mjs passed
✓ recon.test.mjs passed
✓ decompiler.test.mjs passed
✓ mirror.test.mjs passed
✓ vibe.test.mjs passed
✓ app_state.test.mjs passed
✓ session_capture.test.mjs passed
✓ shadcn_synthesizer.test.mjs passed
✓ offline_cache.test.mjs passed
✓ bundle_diff.test.mjs passed
✓ e2e_harness.test.mjs passed
✓ wasm_decompiler.test.mjs passed
✓ pwa_cache_forensics.test.mjs passed
✓ fingerprint_profiler.test.mjs passed
✓ crdt_state_inspector.test.mjs passed
✓ media_pipeline_inspector.test.mjs passed
✓ shader_decompiler.test.mjs passed
✓ schema_reconstructor.test.mjs passed
🎉 ALL 18/18 TEST SUITES PASSED CLEANLY! (Exit 0)
===============================================================
```
</details>
---
<details open>
<summary><b>📜 License & Proprietary Rights (Click to toggle / 접기·펼치기)</b></summary>
<br>
This project is licensed under the **Proprietary & Confidential Software License**. All Rights Reserved.
Unauthorized copying, mirroring, modification, distribution, or commercial deployment is strictly prohibited.
Third-party upstream open-source attributions are preserved in [`NOTICE`](./NOTICE).
</details>
TDQS
Scored across 18 tools
Several tools overlap on the same action: web_audit_api_catalog, web_decompile_bundles, and web_reconstruct_schema all carve API/schema definitions from bundles, and web_extract_vibe_components vs web_synthesize_shadcn both produce React components from a target site. web_clone_offline_mirror and web_optimize_offline_cache also blur together around offline mirroring. The descriptions do add distinguishing detail (OpenAPI vs GraphQL/gRPC vs raw carving), but an agent can easily pick the wrong member of these clusters.
Every tool uses the identical web_<verb>_<object> snake_case pattern (web_audit_api_catalog, web_capture_live_session, web_diff_bundle_releases). The leading verb is always imperative and the remainder names the target artifact. No camelCase or stylistic mixing anywhere in the set.
18 tools is on the heavy side for a single server and pushes into the borderline band; a few (web_inspect_crdt_state, web_decompile_shaders, web_inspect_media_pipeline) are highly specialized niche capabilities. Each is individually justified by the broad 'web archaeology' scope, but consolidation of the overlapping decompile/extract groups would make the surface more manageable.
Coverage of the reverse-engineering domain is remarkably thorough: recon, bundle decompilation, API/schema reconstruction, state, WASM, PWA, media, shaders, fingerprinting, diffing, and e2e harness generation. Minor gaps exist around cross-artifact management — no tool to list/search previously extracted source or a unified report/export — but core lifecycle from recon to reconstruction is covered.