Skip to content

Explicit Tools, Shared Runtime, and Project Control

Latest

Choose a tag to compare

@symgraph symgraph released this 09 Oct 18:36

This major release improves tool discovery, starts MCP from the Ghidra project manager, and adds project lifecycle control without requiring an open CodeBrowser.

  • Clearer tool names: 100 explicit tools, with 93 enabled by default. Dedicated operations such as get_pseudocode, get_disassembly, and get_pcode replace format selectors.
  • Unambiguous function tools: get_function_hash computes SHA-256, get_function_byte_pattern returns a masked byte pattern, and get_function_prototype returns the C declaration.
  • Application-wide runtime: MCP remains reachable after all CodeBrowsers close. Each browser’s panel shares the same configuration and request log.
  • Project controls: New create_project, open_project, save_project, and close_project tools include unsaved-change checks, verified saves, and protection against concurrent work. Opening a program can launch CodeBrowser.
  • Stronger execution contracts: Improved schema validation, error reporting, structured results, program selection, resource routing, caching, and asynchronous task cleanup.
  • Modernized dependencies: MCP Java SDK 2.0.1 and Jetty 12.1, packaged in an isolated runtime to avoid conflicts with Ghidra libraries.
    Validated against Ghidra 12.0 and 12.1, with 90 passing tests on each version.
    Breaking change: Consolidated tool names are no longer exposed over MCP. Reconnect your client or refresh its tool catalog after upgrading. Existing tool settings migrate to the new names.