HC

hollyzoe/cheatengine-mcp-tcp-bridge

Developer tools
44 stars 0 forks 품질 90 트렌드 90

A fork of miscusi-peek/cheatengine-mcp-bridge that replaces Windows Named Pipe with a native C TCP bridge, enabling , , and .

개요

A fork of miscusi-peek/cheatengine-mcp-bridge that replaces Windows Named Pipe with a native C TCP bridge, enabling , , and .

README

English | 中文

Cheat Engine MCP Bridge — TCP Enhanced Edition

A fork of miscusi-peek/cheatengine-mcp-bridge that replaces Windows Named Pipe with a native C TCP bridge, enabling remote CE control, zero pywin32 dependency, and multi-instance support.

Demo Video


This Fork vs Original — Key Differences

Architecture

ORIGINAL (v12.0.0)                         THIS FORK (v15.0.0)
AI Client                                  AI Client
  │ stdio JSON-RPC                           │ stdio JSON-RPC
  ▼                                          ▼
mcp_cheatengine.py                         mcp_cheatengine.py
  │ Named Pipe (pywin32)                     │ TCP socket (stdlib only)
  ▼                                          ▼
\\.\pipe\CE_MCP_Bridge_v99                 ce_mcp_tcp.dll (native C)
  │ Worker thread (Lua pipe I/O)             │ Winsock2 + select()
  ▼                                          ▼
ce_mcp_bridge.lua → Target Process         ce_mcp_bridge.lua → Target Process

Pros & Cons Comparison

Original (v12.0.0) This Fork (v15.0.0)
Transport Named Pipe Native TCP (C DLL)
Remote CE Requires ce_tcp_relay.py relay script Built-in via CE_HOST env var
Python deps mcp + pywin32 mcp only
Multi-instance Not supported Port auto-increment (17171–17181)
Timeout 30s 90s, 3x retry + auto-reconnect
Debug console None Dedicated DLL diagnostic window
Lua code ~6700 lines (FFI/Winsock/Pipe) ~5700 lines (1000 lines removed)
CRT dependency None Static /MT — no VC runtime needed
Original Advantages Fork Advantages
Simplicity Zero DLL, pip install only N/A
Local security Named Pipe is local-only by design N/A
Remote debugging N/A Native TCP, no relay scripts
Cross-platform server N/A TCP stdlib works anywhere
Stability N/A No FFI crashes, no PEB-walk failures
Multi-CE N/A Auto port discovery

Security: TCP has no auth/encryption. Only expose on trusted networks. Never open port 17171 to the internet.

Project Structure Comparison

ORIGINAL                                   THIS FORK
────────                                   ─────────
MCP_Server/                                MCP_Server/
├── mcp_cheatengine.py  (pywin32 pipe)     ├── mcp_cheatengine.py  (TCP stdlib)
├── ce_mcp_bridge.lua   (~6700 lines)      ├── ce_mcp_bridge.lua   (~5700 lines)
├── ce_tcp_relay.py     (TCP relay)        ├── ce_mcp_tcp_x64.dll  ← NEW: native DLL
├── test_mcp.py                            ├── ce_mcp_tcp_x86.dll  ← NEW: native DLL
└── requirements.txt    (mcp + pywin32)    ├── test_mcp.py
                                           └── requirements.txt    (mcp only)
AI_Context/             (docs)
                                           NativeBridge/           ← NEW: DLL source
                                           ├── ce_mcp_tcp.c        (770 lines C)
                                           ├── build.bat
                                           └── bin/{x64,x86}/

                                           AI_Context/             (docs)

Key structural differences:

  • Removed: ce_tcp_relay.py — no longer needed, TCP is native
  • Removed: pywin32 from requirements — TCP uses Python stdlib
  • Added: NativeBridge/ — compiled C DLL source and build system
  • Added: Pre-built DLLs in MCP_Server/ for easy deployment
  • Reduced: Lua bridge from ~6700 to ~5700 lines (dead FFI/pipe code removed)

Setup

1. Clone the Repository

git clone https://github.com/HollyZoe/cheatengine-mcp-tcp-bridge.git
cd cheatengine-mcp-tcp-bridge

2. Install Python Dependencies

Prerequisites: Python 3.10+ (download)

The MCP server requires the mcp Python package (Model Context Protocol SDK). This is not a built-in module — you must install it manually:

pip install -r MCP_Server/requirements.txt

Or install directly:

pip install mcp

If you have multiple Python versions, use python -m pip install mcp to ensure it installs to the correct environment.

Verify the installation succeeded:

python -c "from mcp.server.fastmcp import FastMCP; print('OK')"

If you see ModuleNotFoundError: No module named 'mcp', the install failed — check:

  • You’re using the same python that Cursor/your AI client will use
  • Try python -m pip install mcp instead of just pip install mcp
  • On Windows, pip may warn scripts are not on PATH — this is fine, Cursor spawns the server via the python command directly

Note: TCP transport (default) does not require pywin32. Only legacy Named Pipe transport (CE_TRANSPORT=pipe) needs it.

3. Place DLL

Copy ce_mcp_tcp_x64.dll (or _x86.dll for 32-bit CE) into your Cheat Engine directory:

C:\CE 7.5\cheatengine-x86_64.exe
C:\CE 7.5\ce_mcp_tcp_x64.dll    ← here

DLL source: MCP_Server/ or NativeBridge/bin/.

4. Load in Cheat Engine

  1. Attach CE to your target process
  2. File → Execute Script → open MCP_Server/ce_mcp_bridge.lua → Execute

Or via Lua console:

dofile([[C:\path\to\MCP_Server\ce_mcp_bridge.lua]])

Expected output:

[MCP] CE x64 - loading ce_mcp_tcp_x64.dll
[MCP] DLL loaded OK
[MCP] Bridge started on port 17171 (native TCP, 1ms poll)

5. Configure AI Client

6. Verify

Ask the AI: “Ping Cheat Engine”

{"success": true, "version": "15.0.0", "message": "CE MCP Bridge v15.0.0 alive"}

Environment Variables

Variable Default Description
CE_HOST 127.0.0.1 CE machine IP (remote debugging)
CE_PORT 17171 TCP port (auto-increments if busy)
CE_PORT_RANGE 10 Ports to scan from base
CE_MCP_TIMEOUT 90 Per-tool timeout (seconds)
CE_TRANSPORT tcp tcp or pipe (legacy)
CE_MCP_ALLOW_SHELL (unset) 1 to enable run_command/shell_execute

Available Tools (~161)

Category Examples
Memory Read/Write read_memory, write_memory, read_integer, write_string, read_pointer_chain
Scanning scan_all, next_scan, aob_scan, aob_scan_module, search_string
Disassembly & Analysis disassemble, analyze_function, find_function_boundaries, find_references, find_call_references
Code Injection auto_assemble, inject_dll, execute_code, compile_c_code
Breakpoints & Debug set_breakpoint, set_data_breakpoint, start_dbvm_watch, get_breakpoint_hits
Process & Modules open_process, get_process_list, enum_modules, get_symbol_address
Structures create_structure, dissect_structure, add_element_to_structure, get_rtti_classname
Memory Management allocate_memory, free_memory, get_memory_protection, get_memory_regions
Cheat Table load_table, save_table, create_memory_record, get_address_list
GUI & Input find_window, is_key_pressed, get_pixel, show_message, speak_text
File & System file_exists, md5_file, get_file_list, evaluate_lua
Kernel (DBK/DBVM) dbk_get_cr3, get_physical_address, read_process_memory_cr3

Full reference: AI_Context/MCP_Bridge_Command_Reference.md


Tool Testing Results

Full testing on all 161 tools (target: Notepad.exe on Windows 10):

Result Count
Passed 110+
Fixed during testing 3 (get_memory_protection, get_memory_regions, debug_get_current_debugger_interface)
CE environment limitation 5 (compile_c_code, compile_cs_code, load_new_symbols, pointer_rescan, inject_dotnet_dll)
Requires kernel driver ~20 (skipped — needs signed driver/DBVM)

Troubleshooting

Problem Solution
No module named 'mcp' Run python -m pip install mcp (see Install)
DLL not found Copy ce_mcp_tcp_x64.dll to CE directory
Cannot connect Check netstat -an | findstr 17171, verify CE_HOST/CE_PORT
“too many local variables” Use dofile(...) instead of pasting the script
Timeout on heavy ops Increase CE_MCP_TIMEOUT
CE UI freezes Normal — handlers run on main thread for API safety

Critical: BSOD Prevention

Disable CE → Settings → Extra → “Query memory region routines”. Memory scans on DBVM pages trigger CLOCK_WATCHDOG_TIMEOUT BSODs with it enabled.


Credits

Fork of miscusi-peek/cheatengine-mcp-bridge by @miscusi-peek. Contributors: @libangli218, @lauralex, @iamtyroon.

Disclaimer

For educational and research purposes only. Do not use for malicious hacking, cheating in multiplayer games, or violating Terms of Service.

View this README on GitHub

설치

This server does not publish a one-line install command.

Open the repository installation guide

설정

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