- Home
- MCP servers
- Deobfuscate
Deobfuscate
- javascript
1
GitHub Stars
javascript
Language
5 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"madebytokens-deobfuscate-mcp-server": {
"command": "npx",
"args": [
"-y",
"deobfuscate-mcp-server"
]
}
}
}You can run this MCP server to help Large Language Models deobfuscate, navigate, and understand minified JavaScript bundles. It unpacks bundles, summarizes structure, and lets you fetch specific modules or symbols on demand to build precise, token-efficient queries.
How to use
Connect the server to your preferred MCP client and use its tools to explore and query bundles without loading entire files. Start by deobfuscating a bundle to create a searchable in-memory cache of modules. Then inspect the architecture, list modules and functions, and fetch exact code snippets or symbols as needed. You can read individual modules on demand, search across all modules, and generate a call graph for a function to understand its relationships.
How to install
Prerequisites: you need Node.js and npm installed on your system.
npm install -g deobfuscate-mcp-server
Build from source if you prefer to run from the distribution artifacts.
git clone https://github.com/ricardodeazambuja/deobfuscate-mcp-server.git
cd deobfuscate-mcp-server
npm install
npm run build
Optional packaging step to create a distributable tarball and install globally.
npm pack
npm install -g ./deobfuscate-mcp-server-1.0.0.tgz
Start the server after installation.
node dist/index.js
Additional notes and setup details
The server provides several tools you can invoke through your MCP client to work with bundles, including deobfuscation, structure analysis, module listing, symbol extraction, and more.
Usage workflow overview
- Deobfuscate a bundle to populate the in-memory cache and optionally return a summary to save tokens. 2) Inspect the high-level structure to identify exports, functions, and classes. 3) Read specific modules or symbols on demand to minimize token usage. 4) Use semantic search to locate patterns across all unbundled modules. 5) Generate a call graph for a function to understand interactions.
Security and limits
Limitations include input bundle size up to 50 MB and RAM usage for caching unbundled modules. Monitor memory usage for very large bundles.
Available tools
deobfuscate
Entry point that unpacks bundles, optionally returns a summary by default and caches modules in memory.
analyze_structure
Returns a high-level AST summary of functions, classes, and exports to save tokens.
list_modules
Lists all modules found in the unpacked bundle.
list_functions
Scans cached modules to list defined functions and classes with signatures.
get_call_graph
Generates a call graph for a specific function, showing 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
Performs regex or string searches across all modules.
format_code
Applies standard formatting to JS/HTML/CSS code.
get_help
Provides detailed documentation for any tool.