---
name: cabal-ghidramcp
description: "GhidraMCP instalado em 22/08/2026 — compilado à mão contra o Ghidra 12.1.2 local, porque o upstream tem alvo 11.3.2"
metadata: 
  node_type: memory
  type: project
  originSessionId: 7a312855-09af-4de2-bfe0-ca3c41d271b5
  modified: 2026-08-22T23:06:16.983Z
---

GhidraMCP (LaurieWired) liga o Ghidra ao Claude Code via MCP: 27 ferramentas de engenharia reversa (descompilar, renomear funções/dados, listar métodos, classes, imports, exports). Útil para o trabalho em `CabalMain.exe` e nos binários do servidor — ver [[cabal-eventpass]] e [[cabal-source-ep33]].

**Onde está:**
- Extensão Ghidra: `D:\Cabal\Tools\ghidra_12.1.2_PUBLIC\Ghidra\Extensions\GhidraMCP\`
- Bridge Python + venv: `D:\Cabal\Tools\GhidraMCP\` (venv com mcp 1.29.0, requests 2.34.2, Python 3.14)
- Registado como servidor MCP `ghidra` em escopo **user** (`~/.claude.json`), logo disponível em qualquer projeto

**O detalhe que importa:** o upstream tem `ghidraVersion=11.3.2` e o Ghidra recusa extensões de versão diferente. Não usei o release pronto — compilei o `GhidraMCPPlugin.java` (ficheiro único, 1651 linhas) com o `javac` do JDK 21 em `D:\Cabal\Tools\jdk-21.0.12+8` contra os 8 jars do Ghidra 12.1.2 local, e pus `ghidraVersion=12.1.2` no `extension.properties`. Compilou sem erros, só um aviso de deprecação — a API não mudou entre 11.3.2 e 12.1.2 no que o plugin usa.

**Ao atualizar o Ghidra:** a extensão passa a ser recusada por incompatibilidade de versão. É preciso recompilar da mesma forma contra os jars da versão nova. Não há Maven na máquina; o `javac` direto resolve.

**Para usar (dois passos, sempre):**
1. Abrir o Ghidra, carregar o binário, e garantir o plugin ligado em `File → Configure → Developer → GhidraMCPPlugin`. Ele sobe um HTTP em `127.0.0.1:8080`.
2. Só então as ferramentas MCP respondem. Sem o Ghidra aberto o servidor MCP liga, mas devolve erro de conexão.

O HTTP do plugin não tem autenticação — qualquer processo local na 8080 fala com ele. Só corre enquanto o Ghidra estiver aberto.
