
Hopper
STDIOMCP server for Hopper Disassembler interaction and automation through LLMs
MCP server for Hopper Disassembler interaction and automation through LLMs
A Model Context Protocol server for Hopper Disassembler
interaction and automation. This server provides tools to read and write Hopper Disassembler
files via Large Language Models.
Please note that HopperMCP
is currently in early development. The functionality and available tools are subject to change and expansion as we continue to develop and improve the server.
Due to Hopper's closed environment, it doesn't allow plugins to link to any third-party libraries, only permitting the use of basic dependencies like Foundation
and AppKit
. Therefore, we need to inject code into Hopper to enable loading of any type of plugin.
Hopper's SDK is also very simple, with no public interfaces to obtain disassembled or decompiled code. We've reverse-engineered Hopper and call its private interfaces to access this essential information. These basic interfaces are generally stable, but there's no guarantee that the author won't modify them in future versions.
Since code injection is required, you must disable SIP (System Integrity Protection) to use HopperMCP
.
Move HopperMCP.app
to your Applications folder
Install the Helper program (option 1 in the HopperMCPApp
main interface, requires password)
Install the plugin to the specified directory (option 2 in the HopperMCPApp
main interface)
The application needs to run in the background. You should launch HopperMCP
before starting Hopper
(when HopperMCP
detects Hopper starting, it will automatically inject code)
About 3 seconds after Hopper launches, you'll see a Tool Plugin
menu appear in the menu bar. HopperMCP
provides 4 menu options:
Start MCP Plugin
Stop MCP Plugin
Reload Plugins
Notify Document Loaded
Start the HopperMCP
plugin service
Copy the Hopper MCP Server
JSON (option 3 in the HopperMCPApp
main interface) and input this JSON into your MCP client
Now you can use HopperMCP
!