Skip to main content
Glama
waterofriver

ghidriff-mcp

by waterofriver

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GHIDRIFF_MCP_HOMENoRoot for run directories, Ghidra projects and diff output.~/ghidriff-mcp-work
GHIDRA_INSTALL_DIRNoPath to the extracted Ghidra folder.auto-discovery
GHIDRIFF_MCP_PYTHONNoInterpreter that has ghidriff installed.the server's own interpreter
GHIDRIFF_MCP_COMMANDNoExplicit ghidriff command line, e.g. ghidriff --max-ram-percent 40. Takes precedence over GHIDRIFF_MCP_PYTHON.
GHIDRIFF_MCP_TIMEOUTNoDefault per-run timeout in seconds.3600
GHIDRIFF_MCP_MAX_JOBSNoMaximum concurrent diffs (each one boots a JVM).2
GHIDRIFF_MCP_LOG_LEVELNoghidriff log level (DEBUG is very verbose).INFO
GHIDRIFF_MCP_EXTRA_ARGSNoRaw ghidriff arguments appended to every run. Operator-only: this is where --no-symbols or --jvm-args belong, not in tool calls.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
ghidriff_environmentA

Check that Ghidra, Java and ghidriff are installed and reachable.

Args: probe: also launch the ghidriff interpreter to confirm it can import ghidriff (adds up to a minute on a cold start).

ghidriff_start_diffA

Start a binary diff in the background and return a job id immediately.

Raw engine pass-through arguments are deliberately not accepted here: the agent decides what to diff, the operator decides how the engine runs, through GHIDRIFF_MCP_EXTRA_ARGS.

ghidriff_run_diffA

Run a diff and wait for it to finish (blocking convenience wrapper).

Prefer ghidriff_start_diff for large binaries: this call occupies the tool call for the whole analysis.

ghidriff_job_statusA

Report the state of one diff job, including a short log tail.

ghidriff_job_resultA

Return the structured result of a finished (or running) diff job.

ghidriff_job_logA

Read the ghidriff console log of a job, tailed or paged.

ghidriff_job_cancelA

Cancel a running diff job and kill its ghidriff process.

ghidriff_jobsB

List diff jobs known to this server, newest first (survives restarts).

ghidriff_list_runsB

List diff outputs on disk, either from the run history or a given directory.

ghidriff_read_reportC

Read a page of the generated Markdown diff report.

ghidriff_function_detailA

Explain one changed function: metadata, code, and the code diff if modified.

ghidriff_search_functionsC

Search the changed functions of a diff by name.

ghidriff_settingsA

Show the server configuration (workspace, interpreter, limits).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 13 tools

Disambiguation4/5

Most tools have clearly distinct purposes: running diffs, managing jobs, and reading reports are separated well. However, ghidriff_start_diff vs ghidriff_run_diff and ghidriff_list_runs vs ghidriff_jobs could cause minor selection hesitation without careful reading.

Naming Consistency4/5

All tool names share the ghidriff_ prefix and use consistent snake_case, which makes the set feel cohesive. The pattern is mostly verb_noun, but ghidriff_settings, ghidriff_environment, and ghidriff_jobs are noun-only names, so it is not perfectly uniform.

Tool Count5/5

13 tools is well within the ideal range for this domain. The count covers environment checks, diff execution, job lifecycle management, and report exploration without feeling bloated.

Completeness5/5

The tool surface covers the full workflow: verifying prerequisites, configuring via settings, starting diffs asynchronously or synchronously, monitoring and canceling jobs, and inspecting generated reports and changed functions. There are no obvious dead ends or missing operations for the server's stated purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues