| name | hopper-debugger |
| description | Hopper debugging: macOS/iOS binaries, ObjC/Swift symbols, dyld, LLDB. |
Hopper Debugger
Use Hopper through mcporter as a queryable disassembler, then combine the result with local source, LLDB, logs, and focused repros.
Setup (one time)
Hopper 6.0+ ships its own MCP server. Do not install a third-party one.
mcporter config add hopper --scope home \
--command "/Applications/Hopper Disassembler.app/Contents/MacOS/HopperMCPServer" \
--description "Hopper Disassembler built-in MCP server (stdio)"
--scope home is required. The default scope is project, which writes config/mcporter.json into whatever repo you are standing in (untracked repo dirt, lost with the worktree).
Verify:
MCPORTER_LIST_TIMEOUT=25000 timeout 40 mcporter list hopper --brief
Call convention — the one that bites
Always pass arguments with --args. Never --params. mcporter accepts an unknown --params flag silently, drops the payload, and the call arrives with no arguments. Hopper then answers Document not found., which reads like a licensing or state problem and is not.
mcporter call hopper.list_segments --params '{"document":"AppKit"}'
mcporter call hopper.list_segments --args