1. Conduid
  2. Developer Tools
  3. Cheatengine MCP Bridge
MCP server · Developer Tools

Cheatengine MCP Bridge

MCP bridge for AI-assisted process analysis via named pipes

Unclaimed MIT devtools
39Low

Scored 5 days ago · breakdown

About Cheatengine MCP Bridge

Cheatengine MCP Bridge is an MCP server published by sudohakan in the Developer Tools category: mCP bridge for AI-assisted process analysis via named pipes.

The repository has 11 stars and 2 forks, with the last commit 29 days ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/sudohakan/cheatengine-mcp-bridge

This 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 Cheatengine MCP Bridge

Powered by Claude · Grounded in docs

I know everything about Cheatengine MCP Bridge. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 3 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • !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

v1.0.1v1.0.1 · 9 Jun 2026Full Changelog: https://github.com/sudohakan/cheatengine-mcp-bridge/compare/v1.0.0...v1.0.1
v1.0.0v1.0.0 · 12 Apr 2026What's Changed fix: CI tests, code exec safety, error handling by @sudohakan in https://github.com/sudohakan/cheatengine-mcp-bridge/pull/1 style: black format by @sudohakan in https://github.com/sudohakan/cheatengine-mcp-bridge/pull/2 New…

README

Cheat Engine MCP Bridge

AI-powered reverse engineering and memory analysis via the Model Context Protocol

43 MCP Tools · Hardware Breakpoints · DBVM Ring -1 Tracing · Named Pipe IPC

Version Python Lua License Tests Stars

Quick Start · Features · Commands · Architecture · Contributing


What it does

Reverse engineering is manual work that needs deep domain expertise. This bridge hands an AI agent the same primitives through typed API calls: reading process memory, setting hardware breakpoints, tracing execution at hypervisor level, and dissecting structures.

Cheat Engine MCP Bridge connects Cheat Engine to AI agents (Claude, Cursor, Copilot, etc.) via the Model Context Protocol. A Lua script inside Cheat Engine creates a Named Pipe server; a Python MCP server translates tool calls to JSON-RPC commands over that pipe. AI agents never interact with Cheat Engine directly.

What you get Details
43 MCP tools Memory R/W, pattern scanning, disassembly, breakpoints, DBVM tracing, scripting
Zero GUI interaction Everything is API-driven: attach, scan, read, write, trace
Anti-cheat safe Hardware breakpoints only (no Int3), DBVM for stealth tracing
32/64-bit universal All operations auto-adapt to target process architecture
Auto-reconnect Python client reconnects after CE restarts

Platform: Windows only. Requires Cheat Engine 7.x attached to a target process.


Features

Feature Details
Memory Reading Raw bytes, integers (byte/word/dword/qword/float/double), strings, pointer chains: 32-bit and 64-bit
Memory Writing Write integers, raw bytes, ASCII/UTF-16 strings to any writable address
Pattern Scanning AOB scan with ?? wildcards, value scan with type filters, next-scan filtering, signature generation
Disassembly Disassemble N instructions, instruction info (size, bytes, opcode), function boundary detection
Code Analysis Find references, find call sites, analyze function call graph, RTTI class names, structure dissection
Hardware Breakpoints Execution and data watchpoints via CPU debug registers (DR0-DR3): anti-cheat safe, max 4 active
DBVM Hypervisor (Ring -1) Invisible memory access tracing, virtual-to-physical address translation, operates below OS
Memory Regions Enumerate all regions with protection flags, full native region enumeration
Scripting Execute arbitrary Lua code and Auto Assembler scripts in CE context (with safety validation)
Auto-Reconnect Configurable retry on pipe failure, zombie resource cleanup on CE restart

Install

3 steps to get an AI agent reversing your target process:

1. Load the Lua bridge in Cheat Engine: open ce_mcp_bridge.lua via the Lua script editor and run it.

2. Add the MCP server to your AI agent config (see MCP Client Configuration below for Claude Desktop, Claude Code and Cursor).

3. Verify the connection:

ping() to verify, then get_process_info() to confirm the target.

  • Windows 10/11
  • Cheat Engine 7.x installed
  • Python 3.12+
  • A target process attached in Cheat Engine
cd MCP_Server
pip install -r requirements.txt

Dependencies:

  • mcp>=1.0.0: MCP SDK
  • pywin32>=306: Windows Named Pipe API
  1. Open Cheat Engine and attach to your target process.
  2. Go to Memory View > Tools > Lua Script.
  3. Open MCP_Server/ce_mcp_bridge.lua.
  4. Click Execute.
  5. The output panel should print [MCP v11.4.0] Bridge started.

Critical setting: Go to Settings > Extra > disable "Query memory region routines" to prevent BSOD when scanning protected pages.

Claude Desktop (claude_desktop_config.json):

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

Claude Code (.claude.json):

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

Cursor / VS Code (.cursor/mcp.json or MCP settings):

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

Usage

The bridge exposes 43 MCP tools organized by category. See AI_Context/MCP_Bridge_Command_Reference.md for full parameter documentation with examples.

Process and Modules (6 tools)

Tool Description
ping() Verify bridge connectivity and version
get_process_info() Process name, PID, module count, architecture
enum_modules() All loaded DLLs with base addresses and sizes
get_thread_list() Thread IDs in the target process
get_symbol_address(symbol) Resolve symbol name to address
get_address_info(address) Reverse lookup: address to symbolic name

Memory Read (6 tools)

Tool Description
read_memory(address, size) Raw bytes as hex and array
read_integer(address, type) byte / word / dword / qword / float / double
read_string(address, max_length, wide) ASCII or UTF-16 strings
read_pointer(address) Single pointer dereference (auto 32/64-bit)
read_pointer_chain(base, offsets) Multi-level pointer chain with full trace
checksum_memory(address, size) MD5 hash of memory region

Memory Write (3 tools)

Tool Description
write_integer(address, value, type) Write numeric value
write_memory(address, bytes) Write raw byte array
write_string(address, value, wide) Write ASCII or UTF-16 string

Pattern Scanning (8 tools)

Tool Description
aob_scan(pattern) Array of Bytes scan with ?? wildcards
scan_all(value, type) Value-based scan (exact, string, array)
next_scan(value, scan_type) Filter: exact, increased, decreased, changed, unchanged
get_scan_results(max) Retrieve addresses from last scan
search_string(string, wide) Quick text string search in memory
generate_signature(address) Create unique AOB to relocate an address
get_memory_regions(max) Valid memory regions nearby common bases
enum_memory_regions_full(max) All memory regions (native enumeration)

Disassembly and Analysis (8 tools)

Tool Description
disassemble(address, count) Disassemble N instructions
get_instruction_info(address) Size, bytes, opcode, is_call/jump/ret
find_function_boundaries(address) Detect function start and end
analyze_function(address) All CALL instructions made by a function
find_references(address) Code that references this data address
find_call_references(function_address) All callers of a function
dissect_structure(address, size) Auto-guess field types at a memory address
get_rtti_classname(address) C++ class name from RTTI vtable pointer

Hardware Breakpoints (6 tools)

All breakpoints use hardware debug registers (DR0-DR3). Maximum 4 active at a time. Safe for anti-cheat environments.

Tool Description
set_breakpoint(address) Hardware execution breakpoint: logs registers
set_data_breakpoint(address, access_type) Watchpoint: r, w, or rw
get_breakpoint_hits(id, clear) Retrieve hit log with register snapshots
remove_breakpoint(id) Remove by ID
list_breakpoints() All active breakpoints
clear_all_breakpoints() Remove all breakpoints

DBVM Hypervisor: Ring -1 (4 tools)

Requires DBVM activated in Cheat Engine settings. Operates below the OS: invisible to anti-cheat.

Tool Description
get_physical_address(address) Virtual to physical address translation
start_dbvm_watch(address, mode) Start hypervisor-level memory trace
poll_dbvm_watch(address) Read trace results without stopping
stop_dbvm_watch(address) Stop trace and return all hits

Scripting (2 tools)

Tool Description
evaluate_lua(code) Execute Lua code in Cheat Engine context
auto_assemble(script) Run a CE Auto Assembler script

Configuration

Variable Default Description
PIPE_NAME \\.\pipe\CE_MCP_Bridge_v99 Named Pipe identifier: must match the Lua script
MCP_SERVER_NAME cheatengine MCP server name exposed to clients
max_retries 2 Auto-reconnect attempts on pipe failure

To use a custom pipe name, update both PIPE_NAME in mcp_cheatengine.py and PIPE_NAME in ce_mcp_bridge.lua.


Architecture

flowchart TD
    AI["AI Agent\n(Claude / Cursor / Copilot)"]
    MCP["mcp_cheatengine.py\nPython MCP Server\nFastMCP + pywin32"]
    PIPE["Named Pipe\n\\\\.\\pipe\\CE_MCP_Bridge_v99\nLength-Prefixed JSON-RPC"]
    LUA["ce_mcp_bridge.lua\nLua Worker Thread\n(Async I/O)"]
    MAIN["CE Main Thread\nthread.synchronize()"]
    CE["Cheat Engine\nAttached to Target"]
    TARGET["Target Process\n(.exe)"]

    AI -->|"MCP Protocol\nJSON-RPC over stdio"| MCP
    MCP -->|"Named Pipe\nAsync Write/Read"| PIPE
    PIPE -->|"JSON-RPC Request"| LUA
    LUA -->|"thread.synchronize"| MAIN
    MAIN --> CE
    CE -->|"ReadProcessMemory\nWriteProcessMemory\nDebug APIs"| TARGET
    CE -->|"Response JSON"| LUA
    LUA -->|"JSON-RPC Response"| PIPE
    PIPE --> MCP
    MCP -->|"MCP Tool Result"| AI

Communication flow:

  1. AI agent calls an MCP tool. Python MCP server receives the call.
  2. Python serializes it as a length-prefixed JSON-RPC request and writes to the Named Pipe.
  3. Lua worker thread reads the request and dispatches to the CE main thread via thread.synchronize.
  4. CE executes the memory operation and returns the result.
  5. Response travels back through the same pipe to the Python server, returned as an MCP tool result.

Why a worker thread? Blocking pipe I/O on the CE main thread would freeze the GUI. The Lua script uses a dedicated worker thread for all pipe I/O, and thread.synchronize ensures CE API calls run safely on the main thread.

Windows CRLF fix: The MCP SDK's stdio_server outputs CRLF on Windows, breaking JSON-RPC parsing. The Python server monkey-patches the SDK to force LF-only output before any MCP imports.


Project Structure

cheatengine-mcp-bridge/
  MCP_Server/
    mcp_cheatengine.py        # Python MCP server (FastMCP, 43 tools)
    ce_mcp_bridge.lua          # Lua bridge for Cheat Engine (Named Pipe JSON-RPC)
    test_mcp.py                # Test suite (36/37 tests passing)
    requirements.txt           # Python dependencies
  AI_Context/
    AI_Guide_MCP_Server_Implementation.md   # Architecture guide for AI agents
    CE_LUA_Documentation.md                 # Cheat Engine Lua API reference
    MCP_Bridge_Command_Reference.md         # Full command docs with examples
  README.md
  CHANGELOG.md
  CONTRIBUTING.md
  SECURITY.md
  CODE_OF_CONDUCT.md
  LICENSE

Development

python MCP_Server/test_mcp.py

Results (v11.4.0, requires CE attached with a running process):

Memory Reading:  6/6  passed
Process Info:    4/4  passed
Code Analysis:   8/8  passed
Breakpoints:     4/4  passed
DBVM Functions:  3/3  passed (graceful skip if DBVM inactive)
Utility:        11/11 passed
Skipped:         1    (generate_signature: long blocking scan)
-------------------------------------
Total:          36/37 PASSED

Contributing

See CONTRIBUTING.md for dev setup, code standards, and PR process.


License

MIT: see LICENSE.

Copyright (c) 2026 Hakan Topcu

README fetched from the repository 3 days ago. The original is authoritative.

Questions

About Cheatengine MCP Bridge

How do I install Cheatengine MCP Bridge?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Cheatengine MCP Bridge safe to use with an AI agent?

Its trust score is 39 out of 100 (low). It passes 4 of the 5 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Cheatengine MCP Bridge still maintained?

Yes — the latest release is v1.0.1 (9 Jun 2026), and the last commit was 29 days ago. The repository has 11 stars.