Re Dotnet Patch
FreeNot checkedMCP server for structured patching of Mono / .NET assemblies.
About
MCP server for structured patching of Mono / .NET assemblies.
README
MCP server for structured patching of Mono / .NET assemblies.
Status
v2.8.0 — SKELETON. Tool contracts are final and pinned by tests
(tests/test_re_dotnet_patch.py). The actual round-trip patcher
backend (dnlib / Mono.Cecil / pythonnet) lands in v2.8.1.
Every mutating tool currently returns a structured
{status: "not_implemented", reason, remediation, schema_for_replay}
dict, so:
- Downstream skills can target the tool names today.
- Callers can serialize the operation as a patch descriptor for later replay once v2.8.1 lands.
- The CHANGELOG entry for v2.8.0 can advertise the new server even though the backend is deferred.
Tools
| Tool | Status | What it does |
|---|---|---|
check_dnlib |
WARN (stub) | Probe for the future backend |
nop_method |
not_implemented | Replace a method body with a NOP-sled (return default) |
replace_method_body |
not_implemented | Replace a method body with caller-supplied IL bytes |
replace_string_ldstr |
not_implemented | Replace a specific ldstr operand within a method body |
patch_assembly |
not_implemented | Apply a list of operations atomically |
rollback_patch |
delegate | Delegate to re-patch.restore_original |
Why a new server (not a helper in re-patch)?
re-patch is byte-splice only, pure-stdlib + mcp/pydantic. Adding a
heavy dnlib / Mono.Cecil dep would bloat re-patch's surface for
callers that only need a byte-splice. Per the v2.8.0 plan
(approved 2026-06-07, LO decision), the Mono dnlib patcher ships as
a new server to keep the dep boundary clean. Costs 1 server-count
entry in .mcp.json (30 → 31).
What this server does NOT do
- It does NOT NOP a method body today. v2.8.1 will. For v2.8.0,
decompile the assembly with
re-dotnet.decompile_type, edit the C# source by hand to stub the target method, then recompile. - It does NOT touch native / non-.NET binaries. Use
re-patchfor byte-splice; usere-vm-reversefor VM-protected native code. - It does NOT restore originals — call
re-patch.restore_originaldirectly. Therollback_patchtool delegates by-documentation.
Closing CD-3
The r03-stress run identified MonoLauncher::PASystemInfoScanner.MainWindow
as the Mono Steam-gate target (see
See the RE-AI output directory.
for the full decompile). Once v2.8.1 lands the dnlib backend,
nop_method("PASystemInfoScanner.MainWindow::GetSteamRegistryKey")
will close CD-3 as a HIGH-confidence patch (currently DOC-ONLY).
License
MIT.
Install Re Dotnet Patch in Claude Desktop, Claude Code & Cursor
unyly install re-dotnet-patchInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add re-dotnet-patch -- uvx --from git+https://github.com/Heretek-RE/re-dotnet-patch re-dotnet-patchFAQ
Is Re Dotnet Patch MCP free?
Yes, Re Dotnet Patch MCP is free — one-click install via Unyly at no cost.
Does Re Dotnet Patch need an API key?
No, Re Dotnet Patch runs without API keys or environment variables.
Is Re Dotnet Patch hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Re Dotnet Patch in Claude Desktop, Claude Code or Cursor?
Open Re Dotnet Patch on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Re Dotnet Patch with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
