About Reclass MCP Plugin
Reclass MCP Plugin is an MCP server published by RequiDev in the Agents category: reClass.NET MCP Plugin for agentic LLMs to directly reverse engineer memory structures.
The repository has 6 stars and 0 forks, with the last commit 4 months ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/RequiDev/reclass-mcp-pluginThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Reclass MCP Plugin
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 12 hours ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- !Dependencies pinnedNo lockfile. Installs can pull different code over time.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
1 check has not been run yet.
Releases
README
ReClass.NET MCP Plugin
A plugin that turns ReClass.NET into a Model Context Protocol (MCP) server, so an agentic LLM (Claude, etc.) can drive ReClass.NET directly — attach to a process, read and write its memory, and build up class/struct layouts node-by-node while you watch it happen in the UI.
Think of it as giving the model the same buttons you have: enumerate processes, walk modules and sections, resolve address formulas, read typed values, define fields, create enums, and generate C++/C# code from the result.
🤖 Authorship
This project — every line of code, every test, this README, and the CI workflows — was written entirely by an AI agent (Anthropic's Claude), not by a human. It was produced through an agentic workflow (design → spec → plan → test-driven implementation with automated code review → live end-to-end testing). A human directed what to build and reviewed the result, but did not write the implementation.
Why?
Reverse engineering an unknown object in memory is a loop: read some bytes, guess a field, type it, check whether the neighbouring values now make sense, repeat. That loop is exactly the kind of thing an LLM is good at — if it can actually see and manipulate the target. This plugin exposes ReClass.NET's engine over MCP so the model can run that loop itself, turning "here's a pointer, figure out the struct" into something you can simply ask for.
How it works
┌────────────┐ HTTP + JSON-RPC (MCP) ┌──────────────────────────────────────┐
│ MCP client │ ─────────────────────────► │ ReClass.NET (this plugin) │
│ (Claude) │ 127.0.0.1:6464/mcp │ HttpListener → dispatcher → tools │
└────────────┘ Bearer <token> │ • memory → RemoteProcess │
│ • classes → project (UI thread) │
└──────────────────────────────────────┘
On load, the plugin starts an in-process HTTP server bound to loopback only
(127.0.0.1) that speaks the MCP wire protocol (JSON-RPC 2.0). Tool calls arrive on
background threads; anything that touches the ReClass project tree or the UI is marshaled
onto the WinForms UI thread, while raw memory reads/writes go straight to the attached
process. Every request must carry a bearer token.
Requirements
- Windows (x86 or x64 — must match the ReClass.NET build you run)
- ReClass.NET (.NET 9 build)
- An MCP-capable client (e.g. Claude Code)
Installation
From a release
- Download the archive for your architecture from the
Releases page
(
ReClassMcpPlugin-x64.ziporReClassMcpPlugin-x86.zip). - Extract
ReClassMcpPlugin.dllinto thePluginsfolder next toReClass.NET.exe. - Start ReClass.NET (matching x86/x64). The server auto-starts and an MCP Server menu appears in the menu bar.
⚠️ Keep the file named exactly
ReClassMcpPlugin.dll— ReClass.NET's loader derives the plugin entry type from the file name.
From source
git clone --recursive https://github.com/RequiDev/reclass-mcp-plugin.git
cd reclass-mcp-plugin
dotnet build ReClassMcpPlugin/ReClassMcpPlugin.csproj -c Release -p:Platform=x64
--recursive matters: ReClass.NET is included as a git submodule and the plugin compiles
against it. The output lands in build/Release/x64/ReClassMcpPlugin.dll; copy it into your
ReClass.NET Plugins folder. (If you already cloned without --recursive, run
git submodule update --init --recursive.)
Connecting an MCP client
The server listens on http://127.0.0.1:6464/mcp and requires a bearer token. Find the
token via the MCP Server → Copy Token menu item, or read it from:
%APPDATA%\ReClass.NET\mcp-server.json
Add it to Claude Code:
claude mcp add --transport http reclass http://127.0.0.1:6464/mcp \
--header "Authorization: Bearer <YOUR_TOKEN>"
Then claude mcp list (terminal) or /mcp (inside a session) should show reclass connected.
The port, auto-start behaviour, and token live in mcp-server.json and can be edited; the
MCP Server menu also lets you start/stop the server and copy the token.
⚠️ Security
This server gives its client the ability to read and write the memory of — and suspend, resume, or terminate — whatever process ReClass.NET is attached to. Protections:
- It binds to loopback only (
127.0.0.1); it is not reachable from the network. - Every request requires a bearer token (32 random bytes, generated on first run).
- All memory writes and process-control actions are written to the ReClass.NET log.
Treat the token like a password, and stop the server from the menu when you are not using it.
Tools
| Group | Tools |
|---|---|
| Process | list_processes, attach_process, get_status, control_process (suspend/resume/terminate) |
| Modules | list_modules, get_module, list_sections |
| Memory | resolve_address, read_memory, read_typed, read_string, read_pointer, get_rtti, write_memory, write_typed |
| Classes | list_classes, get_class, create_class, rename_class, set_class_address, delete_class |
| Nodes | list_node_types, append_node, set_field, add_bytes, insert_bytes, set_node_name, set_node_comment, remove_node |
| Enums | list_enums, get_enum, create_enum, delete_enum |
| Code generation | generate_code (C++ / C#) |
| Project | get_project_info, new_project, open_project, save_project |
Node types available to append_node / set_field (via list_node_types): the hex blocks,
all integer widths (Int8–Int64, UInt8–UInt64, NInt/NUInt), Bool, BitField,
Float, Double, Vector2/3/4, Matrix3x3/3x4/4x4, UTF-8/16/32 text and text pointers,
Enum, and the wrappers Pointer, Array, and ClassInstance.
Example: build a class
A typical agent flow, all over MCP:
attach_process { "name": "game.exe" }create_class { "name": "Player", "addressFormula": "<game.exe>+0x1000" }→ returns auuidappend_node { "classUuid": "<uuid>", "type": "Int32", "name": "health" }append_node { "classUuid": "<uuid>", "type": "Vector3", "name": "position" }append_node { "classUuid": "<uuid>", "type": "Pointer", "name": "weapon", "targetClassUuid": "<Weapon uuid>" }generate_code { "language": "cpp" }
class Player {
public:
int32_t health; //0x0000
Vector3 position; //0x0004
class Weapon *weapon; //0x0010
};
Building & testing
dotnet build ReClassMcpPlugin.sln -c Release -p:Platform=x64
dotnet test ReClassMcpPlugin.Tests/ReClassMcpPlugin.Tests.csproj -c Release -p:Platform=x64
The unit tests cover the protocol layer (JSON-RPC, dispatcher, argument parsing), the node factory/serializer, and configuration. The live memory/UI tools are exercised manually against a running ReClass.NET.
Project layout
reclass-mcp-plugin/
├─ ReClass.NET/ # git submodule → RequiDev/ReClass.NET (build dependency)
├─ ReClassMcpPlugin/ # the plugin
│ ├─ Protocol/ # JSON-RPC + MCP dispatcher
│ ├─ Transport/ # HttpListener server
│ ├─ Tools/ # tool modules + node factory/serializer
│ └─ Config/ # server config + token
├─ ReClassMcpPlugin.Tests/ # xUnit tests
├─ docs/ # design doc & implementation plan
└─ .github/workflows/ # CI: build + release
Acknowledgements
- ReClass.NET by KN4CK3R and contributors — the engine this plugin exposes.
- README structure inspired by ida-pro-mcp.
License
MIT. ReClass.NET is also MIT-licensed.
README fetched from the repository 12 hours ago. The original is authoritative.