Deobfuscate MCP Server
Offers standard formatting for CSS code found within web bundles, facilitating easier analysis of style definitions.
Enables reverse-engineering, navigation, and structural analysis of minified JavaScript code through module unbundling and semantic search.
Integrates Prettier formatting for JavaScript and CSS to transform minified or obfuscated code into a human-readable format.
Supports the restoration of React JSX syntax from bundled code to improve readability and understanding of component-based logic.
Provides capabilities to unpack Webpack and Browserify bundles, allowing individual modules to be analyzed and navigated separately.
Click 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., "@Deobfuscate MCP Server unbundle bundle.min.js and search for the login function"
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.
Deobfuscate MCP Server
An LLM-Optimized Model Context Protocol (MCP) server designed to help Large Language Models reverse-engineer, navigate, and understand minified and bundled JavaScript code.
Why this Server?
Standard "beautifiers" only format code, leaving LLMs to struggle with massive, linear text files that overflow context windows. This server treats minified code as a searchable database, allowing LLMs to:
De-obfuscate & Unbundle: Uses
webcrackto split Webpack/Browserify bundles into individual modules.See the Architecture: Returns a JSON summary of the file's structure (exports, functions) before reading the code.
Navigate Randomly: Read specific modules on-demand (
get_module) instead of the whole file.Search Semantically: Find where specific strings or patterns exist across thousands of unbundled modules.
Related MCP server: MCP Code Analysis Server
Features
deobfuscate: The entry point. Unpacks bundles and caches them in memory.returnCode(defaultfalse): Returns a summary by default to save context. Set totrueto see the full code.skipVendor: Filter outnode_modulesand webpack boilerplate to focus on app code.mangle: Shorten variable names to save tokens.jsx: Restore React JSX syntax.
analyze_structure: Returns a high-level AST summary (functions, classes, exports) to save tokens.list_modules: Lists all modules found in the unpacked bundle.list_functions: Scans cached modules to list defined functions/classes with signatures and parameters.get_call_graph: Generates a call graph for a specific function, identifying what it calls and what calls it.get_module: Fetches the formatted source code of a single module.get_symbol_source: Extracts only a specific function, class, or variable to save tokens.search_modules: Regex/String search across all modules.format_code: Standard Prettier formatting for JS/HTML/CSS.get_help: Returns detailed documentation for any tool.
Installation & Setup
Install from npm (Recommended)
npm install -g deobfuscate-mcp-serverBuild from source
git clone https://github.com/ricardodeazambuja/deobfuscate-mcp-server.git
cd deobfuscate-mcp-server
npm install
npm run buildPack and Install (Optional)
To create a distributable tarball and install it globally:
npm pack
npm install -g ./deobfuscate-mcp-server-1.0.0.tgzClient Configuration
To use this server with your favorite LLM client, add the following configuration.
Claude Code
Run the following command in your terminal:
claude mcp add deobfuscate-mcp-server -- npx -y deobfuscate-mcp-serverAlternatively, edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"deobfuscate-mcp-server": {
"command": "npx",
"args": ["-y", "deobfuscate-mcp-server"]
}
}
}Gemini CLI
Run the following command in your terminal:
gemini mcp add deobfuscate-mcp-server npx -y deobfuscate-mcp-serverAlternatively, edit ~/.gemini/settings.json:
{
"mcpServers": {
"deobfuscate-mcp-server": {
"command": "npx",
"args": ["-y", "deobfuscate-mcp-server"]
}
}
}Antigravity
Run the following command in your terminal:
antigravity --add-mcp '{"deobfuscate-mcp-server": {"command": "npx", "args": ["-y", "deobfuscate-mcp-server"]}}'Alternatively, edit ~/.antigravity/settings.json:
{
"mcpServers": {
"deobfuscate-mcp-server": {
"command": "npx",
"args": ["-y", "deobfuscate-mcp-server"]
}
}
}Development / Local Usage
If you are running the server from the source code, replace the command with:
"command": "node",
"args": ["ABSOLUTE_PATH_TO_DIST/index.js"](Replace ABSOLUTE_PATH_TO_DIST with the actual absolute path to the dist folder on your machine)
Usage
Start the server:
node dist/index.jsExample Workflow for an LLM
User: "Analyze this minified file:
bundle.min.js..."LLM: Calls
deobfuscate(code="...", skipVendor=true).Server: "Deobfuscation complete. Unbundled 15 modules. Skipped 45 vendor modules..."
LLM: "Okay, I see the entry point requires module 42. What is that?"
LLM: Calls
get_module(id="42").Server: Returns code for module 42.
LLM: "Where is the 'login' function defined?"
LLM: Calls
search_modules(query="function login").Server: "Found in module 88."
LLM: "I just want to see the login function logic."
LLM: Calls
get_symbol_source(symbolName="login", moduleId="88").Server: Returns only the source for the 'login' function.
Development
Build:
npm run buildTest:
npm test
Limits
File Size: The server accepts input files (bundles) up to 50MB.
Memory: Unbundled modules are cached in RAM. Very large bundles (hundreds of MBs unpacked) may exhaust the server's available memory depending on your environment.
Available Tools
10 toolsanalyze_structureC
Returns structural summary (AST) of code.
Inputs: code, filePath, limit.
deobfuscateC
Unpacks/deobfuscates minified code & caches result.
Inputs: code, filePath, unbundle, returnCode, +3 more.
format_codeC
Formats code with Prettier.
Inputs: code, filePath, parser.
get_call_graphC
Generates a call graph for a specific function.
Inputs: symbolName (required), moduleId (required), scanAllModules.
get_helpC
Get detailed usage info and examples for a specific tool.
Inputs: tool_name (required).
get_moduleC
Gets code for specific module ID from cache.
Inputs: id (required).
get_symbol_sourceC
Extracts specific function/class source code.
Inputs: symbolName (required), code, filePath, moduleId.
list_functionsC
Scans cached modules to list defined functions and classes.
Inputs: moduleId, limit.
list_modulesC
Lists modules from cached bundle.
Inputs: excludeVendor.
search_modulesC
Searches text/regex in cached modules.
Inputs: query (required), isRegex, limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Most tools have distinct purposes, but some potential overlap exists between 'list_functions' and 'search_modules' (both involve scanning cached modules) and between 'get_symbol_source' and 'get_module' (both retrieve code from cache). Descriptions help clarify differences, but an agent might occasionally misselect between these pairs.
All tools follow a consistent verb_noun naming pattern (e.g., analyze_structure, deobfuscate, format_code, get_call_graph). There are no deviations in style or convention, making the set highly predictable and readable.
With 10 tools, the server is well-scoped for deobfuscation and code analysis tasks. Each tool serves a clear purpose, such as analyzing structure, deobfuscating, formatting, and retrieving cached data, without feeling bloated or sparse.
The toolset covers core deobfuscation workflows, including analysis, deobfuscation, formatting, and cache retrieval. A minor gap exists in lifecycle management, such as tools to clear or manage the cache, but agents can work around this with the provided tools.
Maintenance
Related MCP Connectors
Enterprise code intelligence for M&A, security audits, and tech debt. Hosted server with 200k free.
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
Code intelligence for coding agents: semantic, AST, graph, and full-text search. 279+ languages.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceHTTP-based server that provides semantic code search capabilities to IDEs through the Model Context Protocol, allowing efficient codebase exploration without repeated indexing.23 npm121-
- AlicenseNot gradedqualityDmaintenanceAn intelligent server that provides semantic code search, domain-driven analysis, and advanced code understanding for large codebases using LLMs and vector embeddings.10MIT
- AlicenseBqualityFmaintenanceA codemode MCP server for fetching and querying dependency source code from npm, PyPI, crates.io, and GitHub. It allows agents to execute server-side JavaScript for context-efficient searching and browsing of large codebases without overwhelming the LLM's context window.174 npm41MIT
- AlicenseAqualityAmaintenanceAn MCP server that preserves LLM context by intercepting large data outputs and returning only concise summaries or relevant sections. It enables efficient sandboxed code execution, file processing, and documentation indexing across multiple programming languages and authenticated CLIs.1161,347 npm34,083Elastic 2.0