90 Commits

Author SHA1 Message Date
Jason Tang b7a889066d Fix headless lifecycle and array type setting 2.8.0 2026-05-29 12:27:43 -04:00
Jason Tang 64dfe7c2d0 Replace deprecated Ghidra import APIs 2026-05-20 11:36:39 -04:00
Jason Tang c418e7a932 Merge remote-tracking branch 'github/master' 2026-05-20 11:06:36 -04:00
Jason Tang 1665b20680 Fix MCP tool discovery after disabling tools 2026-05-20 11:04:53 -04:00
SymGraph 527ba83b1f Merge pull request #46 from VelocityRa/qualified-symbol-names
Include namespace in returned function/symbol names | Update for newer Ghidra API
2026-05-20 10:58:22 -04:00
Nick Renieris 89bf880d12 Pass TaskMonitor to DataTypeManager.remove
The single-argument remove() overload was removed; use the
remove(DataType, TaskMonitor) variant with TaskMonitor.DUMMY.
2026-05-11 13:36:08 +03:00
Nick Renieris 6acac918fc Include namespace in returned function/symbol names
Switch user-facing output across tools, resources, and prompts to use
Function.getName(true), so names appear as Namespace::Func (e.g.
CCm::Prefix) instead of just Prefix. Also widens list/search pattern
matching to match against the qualified name.
2026-05-11 13:36:08 +03:00
Jason Tang a6f2326c73 Fix paginated tool result totals 2.7.0 2026-05-10 20:11:08 -04:00
Jason Tang 07ade01fdf docs: add headless MCP quickstart 2026-04-26 13:48:43 -04:00
Jason Tang 2093337d09 Add assemble_code MCP tool 2.6.0 2026-04-25 13:50:29 -04:00
SymGraph ecc67e8ea3 Merge pull request #42 from nexus4880/add-mcp-support-for-byte-patching
Add MCP support for byte patching
2026-04-25 10:19:17 -04:00
nexus 13fc6cc4d8 Refine patch/export tools and document security defaults 2026-04-24 20:44:25 -07:00
nexus e54211c0bd Add MCP tools for byte patching and binary export 2026-04-24 20:05:14 -07:00
SymGraph 9502fbeb36 Merge pull request #41 from mstan/add-create-function-and-disassemble-tools
Add create_function and disassemble_at tools
2026-04-12 13:16:19 -04:00
SymGraph f6d79915a9 Merge pull request #40 from mstan/add-import-and-open-tools
Add import_file and open_program tools
2026-04-12 13:14:44 -04:00
Matthew Stanley af99b2bf3b Add create_function and disassemble_at tools
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 20:12:11 -07:00
Matthew Stanley e6aed9e9fb Add import_file and open_program tools
import_file: Import binary files into the Ghidra project via MCP.
Supports explicit language/processor selection, base address, and
auto-detection. Mirrors the File > Import File dialog. Disabled by
default because it exposes host file-system read access — must be
explicitly enabled in the GhidrAssistMCP configuration UI.

open_program: Open/list project files in CodeBrowser via MCP. Allows
MCP clients to discover all programs in the project (not just those
currently open) and open them, making them accessible to other tools.
Supports exact, case-insensitive, and partial name matching.

Note on import_file security: This tool grants the MCP client read
access to any file path the Ghidra process can reach. It is registered
as disabled by default and requires the user to explicitly enable it.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 19:15:39 -07:00
Jason Tang 3b163ba81f Support global scope in variables rename 2.5.0 2026-03-29 11:51:52 -04:00
Jason Tang 12f3e3e8b5 Add unified function signature generation. 2026-03-29 10:28:08 -04:00
Jason Tang c743d0ba2c Update README to reflect current MCP tool names and counts
Tools 34→35, resources 5→6, prompts 5→7. Rename stale tool
names (get_program_info→get_binary_info, list_programs→list_binaries,
etc.), add missing tools, update usage examples and architecture.
2.4.0
2026-03-14 03:03:13 -04:00
Jason Tang aa3ffc7d83 Align MCP tool names for cross-tool consistency
Rename tools to match canonical naming convention (get_* for retrieval,
no _tool suffix, consolidated action-based tools):
- list_* → get_* (imports, exports, strings, segments, data, namespaces, etc.)
- get_program_info → get_binary_info, list_programs → list_binaries
- get_function_info → analyze_function, get_hexdump → get_data_at
- rename_symbol_batch → batch_rename, class → classes
- bookmarks actions: add/delete → set/remove

Add consolidated tools replacing individual ones:
- CommentsTool (comments): get/set/list/remove actions
- VariablesTool (variables): list/rename/retype/set_prototype actions
- TypesTool (types): list/get/set/create_struct/create_enum/create_typedef/delete
- XrefsTool: absorb GetCallGraphTool via include_calls/depth params

Add missing tools for feature parity:
- search_functions_by_name, get_function_statistics
- get_function_stack_layout, search_strings
- create_data_var, get_entry_points

Add missing prompts and resources:
- CompareFunctionsPrompt, ReverseEngineerStructPrompt
- SegmentsResource (ghidra://segments)
2026-03-13 21:14:06 -04:00
Jason Tang ac079aa4b5 Updates. 2026-03-11 15:31:48 -04:00
Jason Tang ced94c3439 Update to support GhidrAssistMCP headless. 2026-03-07 04:21:05 -05:00
Jason Tang ebf95a2eec Add headless support. 2.3.0 2026-03-07 03:48:05 -05:00
Jason Tang e5bdb7e991 CI/CD fixes. 2.2.0 2026-02-28 19:01:06 -05:00
jtang613 144f8ad731 Merge pull request #33 from BryceBarbara/feat/control-async-tasks
Add control for async tool execution
2026-02-22 16:06:59 -05:00
Bryce Barbara dccc43720d Add control for async tool execution 2026-02-21 14:56:32 -08:00
jtang613 9d80cd5b91 Merge pull request #31 from BryceBarbara/feat/improve-struct-tool
Incremental struct editing + “name gap” support
2026-02-15 17:08:06 -05:00
Bryce Barbara 8392bd533e Add new structure operations: merge, set_field, and name_gap 2026-02-14 18:25:23 -08:00
jtang613 5993926eed Merge pull request #30 from BryceBarbara/bugfix/non-windows-installExtension
Fix gradle installExtension for non-windows systems
2026-02-14 11:54:53 -05:00
Bryce Barbara 4778eeb919 Address gradle warnings about calling Task.getProject() from a task action 2026-02-11 17:08:56 -08:00
Bryce Barbara 63f566c7f7 Fix gradle installExtension for non-windows systems 2026-02-11 17:06:04 -08:00
jtang613 c7cbb94b6e Merge pull request #29 from BryceBarbara/feat/improvements-v1
Improvements
2.1.0
2026-02-07 10:52:34 -05:00
Bryce Barbara 84b32537ab Revert the image paths change in README.md 2026-02-06 22:20:08 -08:00
Bryce Barbara 931659d766 fix(struct): make modify safe and improve schema/docs
Snapshot parsed components before deleteAll to prevent self-wipe, select the intended struct from CParser output, and add allow_empty safety guard. Also upgrade the struct tool input schema with descriptions/defaults and document modify behavior.
2026-02-06 22:07:54 -08:00
Bryce Barbara 841e09be1a Add DeleteDataTypeTool to allow deletion of data type 2026-02-06 22:04:09 -08:00
Bryce Barbara 719b5c7f34 Improve tool schemas that were using string enums 2026-02-06 20:34:10 -08:00
Bryce Barbara 20cf9425ef Add a rename_symbol_batch tool 2026-02-06 20:13:34 -08:00
Bryce Barbara a2eab03214 Remove list_methods since it duplicates the more powerful list_functions 2026-02-06 19:35:03 -08:00
Bryce Barbara cea99a75dc Fix various markdown linting warnings in readme.md 2026-02-06 19:32:13 -08:00
Bryce Barbara c24785ede9 Fix jackson version in readme.md 2026-02-06 19:32:02 -08:00
Bryce Barbara 2debf78e4e Add gradle tasks for installing/uninstalling extension 2026-02-06 19:31:33 -08:00
jtang613 5b5bce5d68 Update GitHub Sponsors username in FUNDING.yml 2026-02-02 16:39:25 -05:00
Jason Tang e7274d21b0 Modernized MCP architecture. Consolidated tool namespace, added resources and prompts. 2.0.0 2026-01-23 19:49:31 -05:00
jtang613 172523351c Merge pull request #26 from BryceBarbara/feat/improve-list-strings
Improve list_strings tool
1.4.0
2026-01-12 08:58:33 -05:00
jtang613 25ef680952 Merge pull request #25 from BryceBarbara/feat/improve-data-type-response
Consolidate repeated undefined bytes into single lines
2026-01-12 08:38:06 -05:00
jtang613 d51353e11d Merge pull request #24 from BryceBarbara/task/update-mcp-server
Update mcp server library
2026-01-12 08:37:04 -05:00
Bryce Barbara 3e9bac2271 Add support for filtering strings 2026-01-11 19:16:46 -08:00
Bryce Barbara 8c51056a69 Fix list_strings including quotes in the character length calculations 2026-01-11 19:14:56 -08:00
Bryce Barbara 1fc74f2d55 Consolidate repeated undefined bytes into single lines 2026-01-11 18:54:46 -08:00