Decomp Me Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Decomp Me Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An MCP (Model Context Protocol) server that provides tools for interacting with the decomp.me API. This server allows AI assistants like Claude to help with video game decompilation projects by fetching scratches, compiling code, analyzing diffs, and iterating on improvements.
# Clone or navigate to the repository
cd decomp-mcp-server
# Create a virtual environment and install
uv venv
uv pip install -e .cd decomp-mcp-server
pip install -e .Add the MCP server to your Claude Desktop or other MCP client configuration.
Edit your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Add the server configuration:
{
"mcpServers": {
"decomp": {
"command": "/Users/YOUR_USERNAME/decomp-mcp-server/.venv/bin/python",
"args": [
"-m",
"decomp_mcp.server"
]
}
}
}Note: Replace /Users/YOUR_USERNAME/decomp-mcp-server/.venv/bin/python with the actual path to your Python interpreter in the virtual environment.
To find the correct path, run:
cd ~/decomp-mcp-server
source .venv/bin/activate
which pythondecomp_get_scratchFetch a scratch from decomp.me by URL or slug.
Parameters:
url_or_slug (string, required): The decomp.me scratch URL (e.g., https://decomp.me/scratch/Jwtky) or just the slug (e.g., Jwtky)Example:
Get scratch Jwtky from decomp.meReturns:
decomp_compileCompile source code and get a diff showing how closely it matches the target assembly.
Parameters:
url_or_slug (string, required): The decomp.me scratch URL or slugsource_code (string, optional): Modified source code to compile. If not provided, compiles the existing code from the scratch.Example:
Compile scratch Jwtky with this modified code: [paste code here]Returns:
decomp_get_compilersList available compilers for a platform or all platforms.
Parameters:
platform (string, optional): Platform ID (e.g., gc_wii, n64, ps1, ps2, switch)Example:
Show me the available compilers for GameCube/WiiReturns:
decomp_searchSearch for scratches and presets on decomp.me with advanced filtering.
Parameters:
query (string, optional): Search query (searches function names, descriptions, etc.)platform (string, optional): Filter by platform (e.g., gc_wii, n64)only_incomplete (boolean, optional): Only show scratches that aren't perfectly matchedmin_match_percent (number, optional): Minimum match percentage (0-100)max_match_percent (number, optional): Maximum match percentage (0-100)sort_by (string, optional): Sort by match_percent, last_updated, or creation_timelimit (integer, optional): Maximum results (default: 10)Examples:
Search decomp.me for Melee item functionsFind scratches for Super Smash Bros that are between 70-90% matchedShow me the most recent incomplete GameCube scratchesReturns:
decomp_search_contextSearch through the context (header files) of a scratch for type definitions, struct definitions, function declarations, or other patterns. Essential for finding types in massive context files.
Parameters:
url_or_slug (string, required): The decomp.me scratch URL or slugpattern (string, required): Regex pattern or text to search forcontext_lines (integer, optional): Number of context lines around each match (default: 3)max_results (integer, optional): Maximum number of matches (default: 20)Example:
Search the context of scratch Jwtky for the Item struct definitionReturns:
Once configured with Claude Desktop or another MCP client, you can interact naturally:
Load scratch https://decomp.me/scratch/Jwtky What could be improved in this decompilation to get a better match? Try compiling this scratch with the temp variables consolidated The score improved! Now let's try adjusting the cast on line 8Finding related work:
Search for other Melee item-related scratches on GameCubeExploring compilers:
What compilers are available for Nintendo 64?Analyzing diffs:
Load scratch ABC123 and explain why the assembly doesn't matchcd decomp-mcp-server
source .venv/bin/activate
python test_server.pydecomp-mcp-server/
├── src/
│ └── decomp_mcp/
│ ├── __init__.py
│ └── server.py # Main MCP server implementation
├── pyproject.toml # Project dependencies and metadata
├── test_server.py # API integration tests
└── README.md # This fileContributions are welcome! Areas for improvement:
MIT License - see LICENSE file for details
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.