ghidra-mcp: Instructions file for Claude Code

CLAUDE.md

ghidra-mcp CLAUDE.md is an instructions file for Claude Code from bethington/ghidra-mcp. It costs 18,827 tokens per session, scanned A, original, Apache-2.0.

Project instructions for working on a Ghidra MCP server, a bridge that lets AI tools use Ghidra for examining compiled programs.

In plain words
What is it for?
It is for guiding code changes, reverse-engineering work, tests, documentation, and repository decisions in the Ghidra MCP project.
Why use it?
It sets expectations for completing engineering work, testing it, documenting it, and keeping community actions separate from local development.

Instructions file for Claude Code

Written for Claude Code: the file is CLAUDE.md. Also seen: names the AskUserQuestion tool; mentions Claude Code.

This is bethington/ghidra-mcp's own configuration. It tells Claude Code how to work on ghidra-mcp itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything ghidra-mcp configures →

About the project

Ghidra MCP Server connects Ghidra, a software reverse-engineering tool for examining compiled programs, to AI tools through the Model Context Protocol (MCP), a standard way for applications to expose actions and data to language models. Reverse engineers use it to analyze binaries, automate batch work, and interact with Ghidra through graphical or headless operation. The catalogue entries provide instructions and MCP integration for working with the server.

bethington/ghidra-mcp · 6,133 stars · on GitHub

Reuse

Borrowing it

Nothing to install: this file belongs to bethington/ghidra-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/bethington/ghidra-mcp/dev/CLAUDE.md
Clone the repo
git clone --depth 1 https://github.com/bethington/ghidra-mcp

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ghidra-mcp CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/bethington/ghidra-mcp/claude-md/github.svg)](https://agentmods.dev/instructions/bethington/ghidra-mcp/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/bethington/ghidra-mcp/claude-md"><img src="https://agentmods.dev/badge/instructions/bethington/ghidra-mcp/claude-md/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for ghidra-mcp CLAUDE.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/bethington/ghidra-mcp/claude-md"><img src="https://agentmods.dev/badge/instructions/bethington/ghidra-mcp/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 18,827 This file is loaded in full into every session.
When invoked 18,827 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.18827 $0.18827
Opus 5.5 $0.07531 $0.07531
Sonnet 5.5 $0.03765 $0.03765
Haiku 4.5 $0.01883 $0.01883

Measured 8d ago against content hash 2b9b4e489053, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

ghidra-mcp CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

CLAUDE.md · 521 lines

How it starts

The opening of the file, as written. The whole thing — 521 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Ghidra MCP - Claude Code Guide

Overview

MCP server bridging Ghidra reverse engineering with AI tools. 219 MCP tools for binary analysis.

  • Package: com.xebyte | Version: 7.0.0 | Java: 21 LTS | Ghidra: 12.1.4

Boil the ocean

The marginal cost of completeness is near zero with AI. Do the whole thing. Do it right. Do it with tests. Do it with documentation. Do it so well that Ben is genuinely impressed — not politely satisfied, actually impressed. Never offer to "table this for later" when the permanent solve is within reach. Never leave a dangling thread when tying it off takes five more minutes. Never present a workaround when the real fix exists. The standard isn't "good enough" — it's "holy shit, that's done." Search before building. Test before shipping. Ship the complete thing. When Ben asks for something, the answer is the finished product, not a plan to build it. Time is not an excuse. Fatigue is not an excuse. Complexity is not an excuse. Boil the ocean.

Scope of "boil the ocean": code, analysis, and local work — never public or community actions. It means finish the engineering. It does NOT mean act autonomously on the community's behalf. See the next section.

Community interaction (read-only by default)

This is a public repo with real external contributors. Their issues, PRs, and commits are theirs, not yours to dispose of. Reading is always fine; every write below requires Ben's explicit, per-action approval. There are exactly two ways that approval exists: Ben posts the text himself, or Ben clicks an approval in the /triage flow (see "Approved-via-triage posting" below). Absent one of those, you may only draft.

  • Never edit, close, comment on, merge, or reopen another person's issue or PR without Ben's explicit, per-action go-ahead. Never edit anyone's issue/PR/comment text — that reads as tampering and is never acceptable.
  • Draft / WIP / "do not merge" means hands off. Never cherry-pick, merge, or otherwise pull in a draft PR's work. Draft is the contributor's signal that it isn't ready; respect it.
  • To use a contributor's work, merge their PR through the normal flow (which credits them) — never extract the commit around them or push it to main directly.
  • Never post AI-generated text as if it were Ben's own analysis, and never post a claim about someone else's work without verifying it against the code first.
  • When Ben asks for a reply to a contributor, produce a short draft in his voice — plain, concrete, never machine-sounding. It is posted only via the two approval paths above.
  • Exception: dependabot[bot] PRs. These are the repo's own configured automation, not community contributions — no person's work is at stake. The agent may comment (e.g. @dependabot rebase/recreate) and merge these autonomously once CI is green, without per-action go-ahead. This exception is scoped to PRs whose author is literally dependabot[bot]; it does not extend to any human contributor, even one proposing a similar dependency bump.
  • Exception: Ben's own PRs and issues (added 2026-09-18, approved by Ben). This section protects another person's work; Ben's own is his, and the agent lands it on his instruction. gh pr merge|close|comment|review|ready|reopen and gh issue close|comment|reopen need no per-action approval when the target's author resolves to bethington. edit is excluded from both, along with delete/transfer/lock/unlock/pin/unpin: rewriting issue or PR text is never the agent's to do, on anyone's item, and none of those verbs lands work. The author is resolved live and fails closed — an unresolvable author means the normal block stands.
  • A local .claude/ hook (block-community-github-writes.py) enforces a slice of this by denying write-shaped gh commands (resolving the target's author live to carve out the dependabot and own-work exceptions above, and honoring single-use triage approval records — see below); treat that as a backstop, not the boundary. The boundary is this section. Its behaviour is pinned by .claude/triage/proposed-hook/test_hook_behaviour.py (21 cases, run it after any change); the agent never installs the hook itself, because an agent must not rewrite its own guardrail.

Read the full file on GitHub · 521 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 8d ago Changed 2b9b4e489053
  2. 9d ago Changed edac5ad6dd02
  3. 23d ago Changed · +2 lines · +1,732 tokens per session a8e8d73fa1f5
  4. 24d ago Changed · -1 lines · -2 tokens per session 8640accfa4c7
  5. 29d ago Changed · +11 lines · +957 tokens per session 0145289dcac9
  6. 1mo ago Changed · +4 lines · +16 tokens per session 9a28246a855b
  7. 1mo ago Changed · +280 tokens per session e5901224e16d
  8. 1mo ago Changed a933310f0326
  9. 1mo ago Changed · -23 tokens per session 039480760df0
  10. 1mo ago First seen · 505 lines · 15,867 tokens per session scan A 25b408420678

Subscribe to this mod's changes

ghidra-mcp CLAUDE.md is an instructions file published in the GitHub repository bethington/ghidra-mcp (6,133 stars, last pushed yesterday), licensed Apache-2.0. It adds 18,827 tokens to every session, about $0.0753 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

ghidra-mcp CLAUDE.md compared with instructions from other repositories

ghidra-mcp CLAUDE.md next to 6 instructions from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
ghidra-mcp CLAUDE.mdbethington/ghidra-mcpInstructions file6.1kyesterdayApache-2.0A18,827Claude Code
vscode buildNext.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA9,719GitHub Copilot
next.js AGENTS.mdvercel/next.jsInstructions file143ktodayMITA7,461Codex, OpenCode
langchain AGENTS.mdlangchain-ai/langchainInstructions file149kyesterdayMITA4,680Codex, OpenCode
vscode oss-third-party-notices.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA5,516GitHub Copilot
vscode copilot-instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA3,093GitHub Copilot
deepseek-harness AGENTS.mddeepseek-ai/deepseek-harnessInstructions file274k2d agoMITA4,313Codex, OpenCode