Skip to content

neverrend/hopper_mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hopper MCP Server

MCP server that exposes Hopper disassembler capabilities to LLMs via Claude Code (or any MCP client).

Architecture

Claude/LLM  <--stdio-->  MCP Server  <--file bridge-->  Hopper Loader Script
                         (external)                      (runs inside Hopper)

The MCP server communicates with Hopper through JSON files in ~/.hopper_mcp/. No SIP disabling or special permissions needed.

Setup

1. Install the MCP server

cd hopper_mcp
pip install -e .

2. Add to Claude Code config

Add to ~/.claude/claude_code_config.json:

{
  "mcpServers": {
    "hopper": {
      "command": "hopper-mcp"
    }
  }
}

3. Start the loader in Hopper

  1. Open a binary in Hopper Disassembler
  2. Open Script Editor (Shift+Cmd+S)
  3. Load or paste hopper_scripts/hopper_mcp_loader.py
  4. Click Run

The loader will poll for commands. If Hopper supports addTimer(), it runs non-blocking. Otherwise it runs a blocking loop.

Available Tools

Read Tools

  • get_document_info — Document name, entry point, segment count
  • list_segments — All segments with addresses and sizes
  • list_procedures — All functions (optionally filtered by segment)
  • get_disassembly — Disassembly at an address
  • get_decompilation — Pseudo-code for a function
  • read_bytes — Raw bytes at address
  • get_xrefs — Cross-references to/from an address
  • search_strings — Search string literals
  • get_current_selection — Currently selected address in Hopper UI

Annotate Tools

  • rename_symbol — Rename a label at an address
  • add_comment — Add inline comment
  • set_type — Set data type at address

Troubleshooting

  • Timeout errors: Make sure the loader script is running inside Hopper
  • "No document open": Open a binary in Hopper before running the loader
  • Check ~/.hopper_mcp/commands/ for stale command files (delete them if stuck)

About

MCP server that exposes Hopper disassembler capabilities to LLMs via Claude Code (or any MCP client).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages