morluto/rea · eab789a
REA: an MCP server that hands your coding agent a reverse engineer's tools, running on your own machine.
- TypeScript
- 5개 부분
- 메인 경로 21개 블록 · 약 10분
- 전체 876개 블록
Outside in: server exposes every tool over MCP, contracts declare each tool's inputs and effects, application owns the one live analysis session, hopper drives the Hopper disassembler, and bridge runs inside Hopper itself to answer.
Python that runs on Hopper's own thread, the only place Hopper's document objects can be touched, and answers REA over an authenticated socket.
The analysis session: one active target shared by the CLI and MCP, the providers behind it, and the evidence it keeps.
One contract per tool: input schemas, examples and audited effects, kept in one place so a tool's name, schema and hints cannot drift apart.
The Hopper client: launches Hopper with the bridge injected, sends it one request at a time, and cleans up every process and file it started.
The MCP face: registers every tool, runs each call through one execute, record and deliver path, and keeps results inside the response budget.
읽기 에이전트가 이 코드를 읽는 과정 보기
How does REA decompile a function?