rbinmcp wikiGitHub

Why these exist

The server includes non-binary-analysis tools because they reduce context cost while using and maintaining rbinmcp.

  • Tool discovery: list_tools, lookup_tool, lookup_r2_cmd, and get_workflow.
  • Runtime help: get_backend_status, get_architecture, get_ghidra_info, and lookup_error.
  • Small utility: int_convert for decimal, hex, binary, octal, and printable ASCII checks.
  • Source navigation: get_repo_overview, refresh_repo_index, get_crate_overview, get_module_overview, get_file_overview, get_test_overview, search_repo_functions, search_repo_types, search_repo_tests, search_tool_handlers, and suggest_validation.
  • Reference indexes: get_ghidra_reference_info, refresh_ghidra_reference, lookup_ghidra_reference, get_r2_reference_info, refresh_r2_reference, and lookup_r2_reference.
NeedToolUse beforeWhy
Registered toolslist_tools or lookup_tool.Writing client calls.The tool list is generated from registered handlers and pinned by tests.
Workflow recipeget_workflow.Planning a multi-step analysis.Returns built-in recipes such as quick triage, binary posture, callgraph-first triage, capability triage, fuzz target discovery, component inventory, deep analysis, compare, network, and unpacking.
Integer or address sanity checkint_convert.Comparing constants, offsets, or immediate values.Shows decimal, hex, binary, octal, and printable ASCII when present.
Fresh source indexrefresh_repo_index.Using repo navigation after code changes.Rebuilds the internal index used by source and validation helpers.
Backend-specific docslookup_ghidra_reference or lookup_r2_reference.Changing scripts or command projections.Checks backend behavior before you change code.
Validation targetsuggest_validation.Editing rbinmcp code.Points at likely tests for the touched tool.

Maintenance flow

Use the source and reference helpers before touching backend-specific assumptions.

  • get_repo_overview
  • refresh_repo_index after code changes
  • search_tool_handlers for the tool name
  • get_file_overview before editing
  • suggest_validation to pick tests
  • lookup_ghidra_reference or lookup_r2_reference before changing backend-specific APIs.
Find a tool handler before editing
{
  "tool": "search_tool_handlers",
  "arguments": {
    "query": "triage_binary",
    "limit": 10
  }
}
Ask for validation before changing a tool
{
  "tool": "suggest_validation",
  "arguments": {
    "query": "triage_binary",
    "limit": 10
  }
}