MCPHub LabRegistrycheatengine-mcp-bridge
miscusi-peek

cheatengine mcp bridge

Built by miscusi-peek • 434 stars

What is cheatengine mcp bridge?

Connect Cursor, Copilot & Claude AI directly to Cheat Engine via MCP. Automate reverse engineering, pointer scanning, and memory analysis using natural language.

How to use cheatengine mcp bridge?

1. Install a compatible MCP client (like Claude Desktop). 2. Open your configuration settings. 3. Add cheatengine mcp bridge using the following command: npx @modelcontextprotocol/cheatengine-mcp-bridge 4. Restart the client and verify the new tools are active.
šŸ›”ļø Scoped (Restricted)
npx @modelcontextprotocol/cheatengine-mcp-bridge --scope restricted
šŸ”“ Unrestricted Access
npx @modelcontextprotocol/cheatengine-mcp-bridge

Key Features

Native MCP Protocol Support
Real-time Tool Activation & Execution
Verified High-performance Implementation
Secure Resource & Context Handling

Optimized Use Cases

Extending AI models with custom local capabilities
Automating system workflows via natural language
Connecting external data sources to LLM context windows

cheatengine mcp bridge FAQ

Q

Is cheatengine mcp bridge safe?

Yes, cheatengine mcp bridge follows the standardized Model Context Protocol security patterns and only executes tools with explicit user-granted permissions.

Q

Is cheatengine mcp bridge up to date?

cheatengine mcp bridge is currently active in the registry with 434 stars on GitHub, indicating its reliability and community support.

Q

Are there any limits for cheatengine mcp bridge?

Usage limits depend on the specific implementation of the MCP server and your system resources. Refer to the official documentation below for technical details.

Official Documentation

View on GitHub

Demo

Cheat Engine MCP Bridge

Let multibillion $ AI datacenters analyze the program memory for you.

Create mods, trainers, security audits, game bots, accelerate RE, or do anything else with any program and game in a fraction of a time.

Version Python

[!NOTE] Thanks everyone for the stars, much appreciated! <3

Specially a big thank you to all the contributors!!

@libangli218, @lauralex, @iamtyroon


The Problem

You're staring at gigabytes of memory. Millions of addresses. Thousands of functions. Finding that one pointer, that one structure takes days or weeks of manual work.

What if you could just ask?

"Find the packet decryptor hook."
"Find the OPcode of character coordinates."
"Find the OPcode of health values."
"Find the unique AOB pattern to make my trainer reliable after game updates."

That's exactly what this does.

- Stop clicking through hex dumps and start having conversations with the memory.


What You Get:

Before (Manual)After (AI Agent + MCP)
Day 1: Find packet addressMinute 1: "Find RX packet decryption hook"
Day 2: Trace what writes to itMinute 3: "Generate unique AOB signature to make it update persistent"
Day 3: Find RX hookMinute 6: "Find movement OPcodes"
Day 4: Document structureMinute 10: "Create python interpreter of hex to plain text"
Day 5: Game updates, start overDone.

Your AI can now:

  • Read any memory instantly (integers, floats, strings, pointers)
  • Follow pointer chains: [[base+0x10]+0x20]+0x8 → resolved in ms
  • Auto-analyze structures with field types and values
  • Identify C++ objects via RTTI: "This is a CPlayer object"
  • Disassemble and analyze functions
  • Debug invisibly with hardware breakpoints + Ring -1 hypervisor
  • And much more!

How It Works

flowchart TD
    AI[AI Agent: Claude/Cursor/Copilot]
    
    AI -->|MCP Protocol - JSON-RPC over stdio| MCP
    
    MCP[mcp_cheatengine.py - Python MCP Server]
    
    MCP <-->|Named Pipe - Async| PIPE
    
    PIPE["\\.\\pipe\\CE_MCP_Bridge_v99"]
    
    PIPE <--> CE
    
    subgraph CE[Cheat Engine - DBVM Mode]
        subgraph LUA[ce_mcp_bridge.lua]
            WORKER[Worker Thread - Blocking I/O]
            MAIN[Main Thread - GUI + CE API]
            WORKER <-->|Sync| MAIN
        end
    end
    
    MAIN -->|Memory Access| TARGET[Target .exe]

Installation

pip install -r MCP_Server/requirements.txt

Or manually:

pip install mcp pywin32

[!NOTE] Windows only - Uses Named Pipes (pywin32)


Quick Start

1. Load Bridge in Cheat Engine

  1. Enable DBVM in Cheat Engine if you plan to use DBVM tools.
  2. Open Cheat Engine's Lua Engine or script executor.
    • Preferred: File -> Execute Script -> open MCP_Server/ce_mcp_bridge.lua -> Execute.
    • If your Cheat Engine build does not show File -> Execute Script, use Table -> Show Cheat Table Lua Script, paste the dofile(...) line below, and execute it:
dofile([[C:\path\to\cheatengine-mcp-bridge\MCP_Server\ce_mcp_bridge.lua]])

Look for: [MCP v12.0.0] MCP Server Listening on: CE_MCP_Bridge_v99

2. Configure MCP Client

Add to your MCP configuration (e.g., mcp_config.json):

{
  "servers": {
    "cheatengine": {
      "command": "python",
      "args": ["C:/path/to/MCP_Server/mcp_cheatengine.py"]
    }
  }
}

Restart the IDE to load the MCP server config.

For Codex, add a TOML server block to ~/.codex/config.toml:

[mcp_servers.cheatengine]
command = "python"
args = ['C:\path\to\cheatengine-mcp-bridge\MCP_Server\mcp_cheatengine.py']

Use single quotes for the Windows path so TOML treats backslashes literally.

3. Verify Connection

Use the ping tool to verify connectivity:

{"success": true, "version": "12.0.0", "message": "CE MCP Bridge Active"}

4. Start Asking Questions

"What process is attached?"
"Read 16 bytes at the base address"
"Disassemble the entry point"

~180 MCP Tools Available

Memory

ToolDescription
read_memory, read_integer, read_stringRead any data type
read_pointer_chainFollow [[base+0x10]+0x20] paths
scan_all, aob_scanFind values and byte patterns

Analysis

ToolDescription
disassemble, analyze_functionCode analysis
dissect_structureAuto-detect fields and types
get_rtti_classnameIdentify C++ object types
find_references, find_call_referencesCross-references

Debugging

ToolDescription
set_breakpoint, set_data_breakpointHardware breakpoints
start_dbvm_watchRing -1 invisible tracing

Process Lifecycle

ToolDescription
open_process, get_process_listAttach to or enumerate running processes
create_processLaunch a new process under CE's control
pause_process, unpause_processSuspend / resume target execution

Memory Allocation

ToolDescription
allocate_memory, free_memoryReserve and release memory in the target
set_memory_protection, full_accessAdjust page protection flags

Code Injection

ToolDescription
inject_dllLoad a DLL into the target process
execute_code, execute_methodRun shellcode or CE Lua methods remotely

Symbol Management

ToolDescription
register_symbol, get_symbol_infoCreate and query named symbols
enable_windows_symbolsEnable PDB symbol resolution

Assembly / Compilation

ToolDescription
assemble_instructionAssemble a single x86/x64 instruction to bytes
compile_c_codeCompile C source into injected shellcode
generate_api_hook_scriptGenerate a CE auto-assembler API hook template

Window / GUI Automation

ToolDescription
find_windowLocate a window by title or class
send_window_messagePost WM_* messages to a target window

Input Automation

ToolDescription
get_pixelSample a pixel color at screen coordinates
is_key_pressed, do_key_pressQuery and simulate keyboard input

Cheat Table

ToolDescription
load_table, save_tableLoad / save .CT cheat table files
get_address_listEnumerate entries in the active cheat table

Kernel Mode (DBK / DBVM)

ToolDescription
dbk_get_cr3Read the CR3 register for the target process
read_process_memory_cr3Read physical memory via CR3 bypass

And many more at AI_Context/MCP_Bridge_Command_Reference.md


Critical Configuration

BSOD Prevention

[!CAUTION] You MUST disable: Cheat Engine → Settings → Extra → "Query memory region routines"

Enabled: Causes CLOCK_WATCHDOG_TIMEOUT BSODs due to conflicts with DBVM/Anti-Cheat when scanning protected pages.


Troubleshooting

Cheat Engine says "too many local variables"

Load the bridge from disk with dofile(...) instead of pasting the full script into a cheat table script. The bridge also declares command handlers as global functions intentionally; this avoids Cheat Engine's Lua chunk limit of 200 local variables when the complete bridge is compiled at once.

MCP client cannot connect

Check these in order:

  1. Cheat Engine is open and shows MCP Server Listening on: CE_MCP_Bridge_v99.
  2. The MCP client was restarted after adding the server config.
  3. The configured mcp_cheatengine.py path exists.
  4. pip install -r MCP_Server/requirements.txt has installed both mcp and pywin32.
  5. Run the MCP ping tool. A successful connection returns success: true and the bridge version. process_id: 0 is normal until Cheat Engine is attached to a target process.

Environment Variables

VariableDefaultPurpose
CE_MCP_TIMEOUT30Timeout (seconds) for each MCP tool call.
CE_MCP_ALLOW_SHELLunsetSet to 1 to enable run_command / shell_execute tools. Arbitrary code execution risk — leave unset by default.

Example Workflows

Finding a value:

You: "Scan for gold: 15000"  →  AI finds 47 results
You: "Gold changed to 15100"  →  AI filters to 3 addresses
You: "What writes to the first one?"  →  AI sets hardware BP
You: "Disassemble that function"  →  Full AddGold logic revealed

Understanding a structure:

You: "What's at [[game.exe+0x1234]+0x10]?"
AI: "RTTI: CPlayerInventory"
AI: "0x00=vtable, 0x08=itemCount(int), 0x10=itemArray(ptr)..."

Project Structure

CLAUDE.md                               # Claude Code agent guidance (this repo)
README.md                               # User-facing documentation

MCP_Server/
ā”œā”€ā”€ mcp_cheatengine.py                  # Python MCP Server (FastMCP)
ā”œā”€ā”€ ce_mcp_bridge.lua                   # Cheat Engine Lua Bridge
└── test_mcp.py                         # Test Suite

AI_Context/
ā”œā”€ā”€ BATCH_WORKER_BRIEFING.md            # Parallel-worker task specifications (v12 overhaul)
ā”œā”€ā”€ MCP_Bridge_Command_Reference.md     # MCP Commands reference
ā”œā”€ā”€ CE_LUA_Documentation.md             # Full CheatEngine 7.6 official documentation
└── AI_Guide_MCP_Server_Implementation.md  # Full technical documentation for AI agent

Testing

Running the test:

python MCP_Server/test_mcp.py

Expected output:

āœ… Memory Reading: 6/6 tests passed
āœ… Process Info: 4/4 tests passed  
āœ… Code Analysis: 8/8 tests passed
āœ… Breakpoints: 4/4 tests passed
āœ… DBVM Functions: 3/3 tests passed
āœ… Utility Commands: 11/11 tests passed
ā­ļø Skipped: 1 test (generate_signature)
────────────────────────────────────
Total: 36/37 PASSED (100% success)

The Bottom Line

You no longer need to be an expert. Just ask the right questions.

āš ļø EDUCATIONAL DISCLAIMER

This code is for educational and research purposes only. It's created to show the capabilities of the Model Context Protocol (MCP) and LLM-based debugging. I do not condone the use of these tools for malicious hacking, cheating in multiplayer games, or violating Terms of Service. This is a demonstration of software engineering automation.

Global Ranking

-
Trust ScoreMCPHub Index

Based on codebase health & activity.

Manual Config

{ "mcpServers": { "cheatengine-mcp-bridge": { "command": "npx", "args": ["cheatengine-mcp-bridge"] } } }