Pyghidra Mcp MCP Server

MCP is a unified interface that allows language models, development tools (like VS Code), and autonomous agents to access structured context, invoke tooling, and collaborate intelligently. Think of…

Remote serverstreamable-http

What is the Pyghidra Mcp Server?

Pyghidra Mcp is an MCP project maintained in the clearbluejar/pyghidra-mcp repository. The maintainer describes its purpose as “MCP is a unified interface that allows language models, development tools (like VS Code), and autonomous agents to access structured context, invoke tooling, and collaborate…”. Read the project documentation for the complete scope.

Hosted connection

The maintainer’s configuration uses http://127.0.0.1:8000/mcp. It declares streamable-http transport. Check the project’s account and authentication instructions when adding the endpoint to your client.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
search_codebinary_name: str, query: str, limit: int = 5, offset: int = 0, search_mode: str = "semantic", include_full_code: bool = True, preview_length: int = 500…
list_xrefsbinary_name: str, name_or_address: str | list[str]): List cross-references to function(s), symbol(s), or address(es). Accepts a single target or a list for…
gen_callgraphbinary_name: str, function_name: str, direction: str = "calling", display_type: str = "flow", condense_threshold: int = 50, top_layers: int = 3, bottom_layers:
decompile_functionbinary_name: str, name_or_address: str | list[str], include_callees: bool = False, include_strings: bool = False, include_xrefs: bool = False, timeout_sec: int
list_exportsbinary_name: str, query: str = ".", offset: int = 0, limit: int = 25): Lists all exported functions and symbols from a specified binary (regex supported for…
list_importsbinary_name: str, query: str = ".", offset: int = 0, limit: int = 25): Lists all imported functions and symbols for a specified binary (regex supported for…
read_bytesbinary_name: str, address: str, size: int = 32): Reads raw bytes from memory at a specified address. Hex addresses may include or omit the 0x prefix.
search_stringsbinary_name: str, query: str, limit: int = 100): Searches strings within a binary.
search_symbols_by_namebinary_name: str, query: str, functions_only: bool = False, offset: int = 0, limit: int = 25): Search for symbols within a binary by name. Supports regex…
import_binarybinary_path: str): Imports a binary from a designated path into the current Ghidra project. If the path is a directory, it will recursively scan and import all
list_project_binaries): Lists binaries in the current Ghidra project. In GUI mode this includes project binaries that exist on disk even if they are not currently open in…
list_project_binary_metadatabinary_name: str): Retrieves detailed metadata for a specific binary, including architecture, compiler, executable format, analysis metrics, and file hashes.
delete_project_binarybinary_name: str): Deletes a binary (program) from the Ghidra project.
rename_functionbinary_name: str, name_or_address: str, new_name: str): Rename a function by name or address. In GUI mode this runs as a live Ghidra transaction and updates…
rename_variablebinary_name: str, function_name_or_address: str, variable_name: str, new_name: str): Rename a function parameter or local variable by exact name within a…
set_variable_typebinary_name: str, function_name_or_address: str, variable_name: str, type_name: str): Set the data type for a function parameter or local variable by exact…
set_function_prototypebinary_name: str, function_name_or_address: str, prototype: str): Set a function prototype from a full signature string. The tool always runs the prototype…
set_commentbinary_name: str, target: str, comment: str, comment_type: str): Set a function/decompiler comment or listing comment. Listing comment targets can be…
list_open_programs): List programs currently open in the Ghidra GUI.
open_program_in_guibinary_name: str, new_window: bool = True): Open a project binary in CodeBrowser. By default this opens a new CodeBrowser window. Set new_window=false to reuse
set_current_programbinary_name: str): Make an open program the active/current program in the primary GUI tool context.
gotobinary_name: str, target: str, target_type: str): Navigate the Ghidra GUI to an address or function. target_type must be address or function.

How to install the Pyghidra Mcp Server

{
  "mcpServers": {
    "pyghidra-mcp": {
      "type": "http",
      "url": "http://127.0.0.1:8000/mcp"
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.