Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FFDEC_PATHNoPath to FFDec (JAR, native binary, or WSL path). Overrides auto-detection.
FFDEC_TIMEOUTNoDefault timeout in seconds for decompilation operations.60

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tasks
{
  "list": {},
  "cancel": {},
  "requests": {
    "tools": {
      "call": {}
    },
    "prompts": {
      "get": {}
    },
    "resources": {
      "read": {}
    }
  }
}
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
decompile_swfA

Decompile all ActionScript code from a SWF file.

This tool extracts and decompiles all ActionScript (AS2/AS3) code from a Flash SWF file, organizing the output into a directory structure that mirrors the package hierarchy.

Args: swf_path: Absolute path to the SWF file to decompile output_dir: Directory where decompiled scripts will be saved timeout: Optional timeout in seconds (default: 60)

Returns: Dictionary with: - success: Whether decompilation succeeded - swf_path: Input SWF file path - output_dir: Output directory path - script_count: Number of ActionScript files extracted - message: Success message

Example: >>> decompile_swf("/path/to/game.swf", "/path/to/output") { "success": true, "swf_path": "/path/to/game.swf", "output_dir": "/path/to/output", "script_count": 42, "message": "Successfully decompiled 42 ActionScript files" }

extract_actionscriptA

Extract specific ActionScript classes by name from a SWF file.

This tool selectively extracts only the specified ActionScript classes (AS3 only), which is faster than full decompilation when you only need specific classes.

Args: swf_path: Absolute path to the SWF file class_names: List of fully-qualified class names to extract (e.g., ['com.example.Main', 'com.example.Utils']) output_dir: Directory where extracted classes will be saved timeout: Optional timeout in seconds (default: 60)

Returns: Dictionary with: - success: Whether extraction succeeded - swf_path: Input SWF file path - output_dir: Output directory path - requested_classes: List of requested class names - extracted_files: Number of files extracted - message: Success message

Example: >>> extract_actionscript("/path/to/game.swf", ["com.game.Main", "com.game.Player"], "/path/to/output") { "success": true, "swf_path": "/path/to/game.swf", "output_dir": "/path/to/output", "requested_classes": ["com.game.Main", "com.game.Player"], "extracted_files": 2, "message": "Successfully extracted 2 ActionScript files" }

list_symbolsA

List all ActionScript classes and symbols in a SWF file.

This tool provides an overview of the ActionScript structure without decompiling, showing packages, classes, and the total symbol count. Useful for exploring a SWF before full decompilation.

Args: swf_path: Absolute path to the SWF file

Returns: Dictionary with: - success: Whether listing succeeded - type: ActionScript type (AS2, AS3, or Unknown) - packages: Dictionary mapping package names to class lists - classes: Complete list of fully-qualified class names - total_symbols: Total number of classes found - message: Summary message

Example: >>> list_symbols("/path/to/game.swf") { "success": true, "type": "AS3", "packages": { "com.game": ["Main", "Player", "Enemy"], "com.game.utils": ["Vector2D", "Math"] }, "classes": ["com.game.Main", "com.game.Player", ...], "total_symbols": 5, "message": "Found 5 AS3 classes in 2 packages" }

extract_assetsA

Extract images, sounds, fonts, and other assets from a SWF file.

This tool extracts non-code assets from a SWF file, including images, sounds, fonts, shapes, movie clips, and binary data.

Args: swf_path: Absolute path to the SWF file output_dir: Directory where extracted assets will be saved asset_types: Optional list of asset types to extract. Valid types: 'image', 'sound', 'font', 'shape', 'movie', 'binaryData', 'all' (default: ['all']) timeout: Optional timeout in seconds (default: 60)

Returns: Dictionary with: - success: Whether extraction succeeded - swf_path: Input SWF file path - output_dir: Output directory path - asset_types: List of asset types extracted - extracted_count: Number of assets extracted - message: Success message

Example: >>> extract_assets("/path/to/game.swf", "/path/to/output", asset_types=["image", "sound"]) { "success": true, "swf_path": "/path/to/game.swf", "output_dir": "/path/to/output", "asset_types": ["image", "sound"], "extracted_count": 127, "message": "Successfully extracted 127 assets" }

get_swf_metadataA

Extract metadata from a SWF file's header.

This tool reads the SWF file header to extract basic metadata like dimensions, frame rate, frame count, compression type, and Flash version. This is fast and doesn't require decompilation.

Args: swf_path: Absolute path to the SWF file

Returns: Dictionary with metadata including: - success: Whether extraction succeeded - swf_path: Input SWF file path - version: Flash version number - width: Stage width in pixels - height: Stage height in pixels - frame_rate: Frames per second - frame_count: Total number of frames - compression: Compression type (e.g., 'zlib', 'lzma', 'none') - Additional header fields as available

Example: >>> get_swf_metadata("/path/to/game.swf") { "success": true, "swf_path": "/path/to/game.swf", "version": 10, "width": 800, "height": 600, "frame_rate": 30, "frame_count": 1, "compression": "zlib" }

deobfuscateA

Deobfuscate a SWF file by removing obfuscation techniques.

This tool runs FFDec's deobfuscation algorithms to remove common obfuscation techniques like dead code, traps, and other anti-decompilation tricks. The output is a cleaner SWF file that's easier to decompile and analyze.

Args: swf_path: Absolute path to the obfuscated SWF file output_path: Path where the deobfuscated SWF will be saved level: Deobfuscation level - 'traps' (remove traps only), 'deadcode' (remove dead code), 'max' (full deobfuscation, default) timeout: Optional timeout in seconds (default: 60)

Returns: Dictionary with: - success: Whether deobfuscation succeeded - input_path: Input SWF file path - output_path: Output SWF file path - level: Deobfuscation level used - message: Success message

Example: >>> deobfuscate("/path/to/obfuscated.swf", "/path/to/clean.swf", level="max") { "success": true, "input_path": "/path/to/obfuscated.swf", "output_path": "/path/to/clean.swf", "level": "max", "message": "Successfully deobfuscated SWF at level 'max'" }

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sublimnl/ffdecmcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server