Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

MCP tools

binscout-mcp serves 13 tools over stdio (newline-delimited JSON-RPC). Each takes binary plus an optional db path and returns one JSON document as text; failures are tool errors. Attach it to any MCP client:

{
  "mcpServers": {
    "binscout": { "command": "/path/to/binscout-mcp" }
  }
}
ToolParametersDoes
project_infobinaryOpen a binary and report arch, format, entry, and analysis counts
functionsbinary, query/caller/callee/range_lo/range_hi, offset/limitList functions with rename-resolved names, filtered (query case-insensitive substring; caller/callee addresses resolving to call-graph neighbors; range_lo + range_hi bounding entries) and paged
funcbinary, addrFull detail of one function: blocks with instructions, edges, calls
disasmbinary, addr, lenDisassemble len bytes at addr with the binary architecture; the valid prefix plus error_at for the first bad opcode (ranges cap at 1 MiB)
cfgbinary, addrControl-flow graph of one function: block nodes plus block edges
xrefsbinary, to/from/kind, offset/limitCross-references filtered by endpoint and kind, paged behind a total match count
stringsbinary, pattern/min-len/section/include_code, start/limitExtracted strings ordered by address, filtered and paged; executable-memory hits hidden unless pattern, section, or include_code is given (offset is a deprecated alias of start)
symbolsbinaryImports and exports of the binary
sectionsbinarySection table: name, virtual address (IMAGE_BASE + RVA on PE), in-memory/file sizes, permissions
irbinary, addr, lenLift len bytes at addr to P-code-inspired IR (error_at on trailing bad bytes, ranges cap at 1 MiB)
statsbinaryStorage stats: binary size, sidecar DB size, and analysis counts
renamebinary, addr, nameRename a function in the project DB (binary untouched); empty name clears
commentbinary, addr, commentComment any address in the project DB (binary untouched); empty comment clears

Addresses are 0x-hex or decimal strings. kind is one of code, data, or string. Calls are serialized behind one lock because redb allows a single open handle per file per process.