safety_statusLABSCO SUMMARY
Cheat Engine, x64dbg and an API monitor, all reachable from the conversation — with a token gate on anything destructive.
The scale is the point and also the problem: the README counts 250+ tools across four servers — the 13 listed here are the safety, patch, disassembly and meta tools it names individually — too many for one client, which is why it ships split by job and each server stays under the tool ceiling. Ask for the health value and freeze it, or for every function referencing a string, and the model does the address arithmetic. Two things to weigh before installing: this injects a DLL into a live process, so anti-cheat and endpoint protection will treat it exactly as it looks, and the author labels the project experimental with APIs that may change without notice. The safety modes are not decoration — Educational blocks dangerous operations outright, and patch history means a bad write can be undone.
What it is
A Rust toolkit that injects an agent DLL into a target Windows process and exposes its internals through four MCP servers, so an assistant can inspect memory, disassemble code, set breakpoints and run code inside it.
What you get
- Memory work in the Cheat Engine mould: typed reads and writes, region enumeration with protection flags, AOB pattern scanning with wildcards, and pointer chain resolution
- A value scanner with 12 scan modes — exact, changed, increased, between, unknown initial and more — refined iteratively, exportable as JSON, CSV or Cheat Engine XML
- A pointer scanner with configurable depth, static base filtering, stability scoring across rescans, and rescan after restart
- Static analysis: disassembly through Capstone with disasm_at and disasm_function, pseudo-C decompilation, PDB symbols, cross-references and string extraction
- In-process debugging: INT3 software breakpoints, four hardware breakpoints through the debug registers, single stepping, thread control, full register access and stack walking
- Execution and injection: x86/x64 assembly from text, function calls across five calling conventions, shellcode run by direct call, new thread, APC injection or thread hijacking, and code cave discovery
- Hooking: inline trampolines, IAT and EAT hooks, VEH and PAGE_GUARD memory breakpoints, syscall stub patching, and a ROP gadget finder
- Win32 API call tracing with argument decoding, filters, presets and per-API statistics, plus parameter and return value override behind conditional breakpoints
- Memory dumping with PE reconstruction, minidumps, incremental dumps and binary diffing between snapshots
- External tool backends behind one API: Radare2 through r2pipe, Ghidra headless, and IDA Pro through idalib
- Safety machinery: Educational, Standard and Expert modes, protected-process blocking, rate limits, undo through patch_undo and previews through patch_preview
Requirements
Windows, and a target process you are allowed to inject into — ghost-loader.exe attaches by name or PID. Built with cargo build --release. Registered as four separate servers because of the client tool ceiling: ghost-core-mcp on 13340, ghost-analysis-mcp on 13341, ghost-static-mcp on 13342 and ghost-extended-mcp on 13343, with the injected agent listening on 13338. Destructive operations are gated: call safety_request_token first and pass the token_id with the operation. The repository labels itself experimental, with APIs subject to change.
Setup effort
Build from source — git clone https://github.com/mq1n/GhostMCP
USE CASES
Finding the value behind something you can see on screen
Run an iterative scan — changed, unchanged, decreased — until one address survives, then read and write it.
Understanding what a function actually does
Disassemble it, get pseudo-C back, and ask for an explanation with the symbols resolved from the PDB.
Catching the moment an API gets called
Set a breakpoint on the import and have the call traced with its arguments decoded when it fires.
Finding a pointer path that survives a restart
Scan for chains from static module bases, then rescan after relaunching to see which ones score as stable.
Trying a patch without committing to it
Preview the patch first, apply it, and undo it from patch history if the process misbehaves.
13 tools
Listed in project docs. Your client may show a different list.
safety_set_modesafety_approvesafety_request_tokenpatch_historypatch_undopatch_previewdisasm_atdisasm_functionmcp_capabilitiesmcp_documentationmcp_versionmcp_healthBEFORE YOU INSTALL
What to know first
Tools you get
13 tools named in the project's documentation.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/mq1n/GhostMCP
cd GhostMCP
cargo build --releaseInject into target:
ghost-loader.exe --target game.exeAdd to your Claude Desktop config (%APPDATA%\Claude\claude_desktop_config.json).
MCP Clients
Claude Desktop
{
"mcpServers": {
"ghost-core": {
"command": "<YOUR_PATH_TO_GHOST_CORE_MCP>",
"args": [
"--transport",
"stdio"
]
},
"ghost-analysis": {
"command": "<YOUR_PATH_TO_GHOST_ANALYSIS_MCP>",
"args": [
"--port",
"13341"
]
},
"ghost-static": {
"command": "<YOUR_PATH_TO_GHOST_STATIC_MCP>",
"args": [
"--port",
"13342"
]
},
"ghost-extended": {
"command": "<YOUR_PATH_TO_GHOST_EXTENDED_MCP>",
"args": [
"--port",
"13343"
]
}
}
}