re-dotnet-patch
MCP server for structured patching of Mono / .NET assemblies.
README
re-dotnet-patch
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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.