Perception RE Server
БесплатноНе проверенBridges Claude Code to Perception.cx reverse engineering tools via AngelScript WebSocket, providing 35+ tools for process manipulation, memory operations, disas
Описание
Bridges Claude Code to Perception.cx reverse engineering tools via AngelScript WebSocket, providing 35+ tools for process manipulation, memory operations, disassembly, scanning, and more.
README
MCP server that bridges Claude Code to Perception.cx reverse engineering tools via AngelScript WebSocket.
Claude Code (stdio) → MCP Server (Node.js) ← WebSocket :9001 → re_server.as (Perception IDE)
Multiple Claude Code instances can share the same Perception connection simultaneously through a hub/relay architecture.
Prerequisites
- Node.js (v18+)
- Perception.cx with AngelScript IDE
- Claude Code CLI
Installation
git clone https://github.com/verifizieren/perception-mcp.git
cd perception-mcp
npm install
npm run build
dist/ is gitignored - you must run npm run build after cloning or dist/index.js won't exist.
Configuration
Global (all Claude Code sessions)
Create or edit ~/.mcp.json:
{
"mcpServers": {
"perception-re": {
"command": "node",
"args": ["<full-path-to>/perception-mcp/dist/index.js"]
}
}
}
Replace <full-path-to> with the absolute path to where you cloned the repo. Use forward slashes even on Windows.
Per-project
Add the same config to your project's .mcp.json in the project root.
Usage
1. Load the AngelScript server in Perception
Open re_server.as in the Perception IDE script editor and run it. The script runs in background mode - it automatically keeps trying to connect to the MCP server and reconnects if disconnected. You can load it on Perception startup.
Waiting:
[RE Server] Waiting for MCP server... (attempt 1)
Connected:
[RE Server] Connected to MCP server.
2. Start Claude Code
Open Claude Code in any project. The MCP server starts automatically via ~/.mcp.json.
3. Multiple instances
First instance = hub (WebSocket server on port 9001). Additional instances auto-connect as relays through the hub, sharing the one Perception connection. No extra setup.
Tools
All functionality is exposed through 9 dispatchers. Each takes an op selector plus the args for that op. This keeps the schema footprint small while covering every operation.
| Dispatcher | ops |
|---|---|
re_proc |
attach {name?|pid?}, detach, info, is_valid {address}, tebs |
re_read |
bytes {address,size}, values {address,type,count?}, string {address,max_length?}, wstring {...}, ptr_chain {base,offsets[],final_type?,verbose?}, struct {address,fields[]}, ptr_array {address,count,offset_delta?}, hex_dump {address,size?}, filter_ptrs {base,count,vtable_check_addr,stride?,deref_offset?} |
re_write |
bytes {address,data}, values {address,type,values[]}, string {address,text}, wstring {address,text} |
re_scan |
pattern {signature,...}, pattern_all {signature,...,max_results?}, value {type,value,heap_only?,page_offset?,page_limit?}, ptr_to {target,...}, heap_regions {regions[],type,value,max_results?}, xrefs {target,...}, string_refs {search_text} |
re_module |
module {name}, export {module_base,export_name}, import {module_base,import_name} |
re_disasm |
disasm {address,count?,size?,bytes?}, vtable {address,max_entries?,disasm_preview?}, rtti {object_address} (object instance; first qword = vtable ptr), gensig {address,length?}, bounds {address}, analyze_fn {address,max_size?} |
re_vm |
vquery {address}, vad {heap_only?,compact?,min_size?,addr_start?,addr_end?}, alloc {size}, free {address} |
re_diff |
dump {address,size,label}, diff {label_a,label_b,values?}, emulate {code_address,code_size,...} |
re_cs2 |
interface {module_base,interface_name}, schema {filter|all,limit?} |
Value types: u8 u16 u32 u64 i8 i16 i32 i64 f32 f64 (plus string wstring ptr where noted).
Notes on defaults
re_vm vadreturns compact{start,size}by default - passcompact:falsefor protection/heap_likely metadata. Always filter (min_size,heap_only,addr_*) to avoid oversized responses.re_read ptr_chainreturnsfinal_address/final_valueonly; passverbose:truefor the per-step trace.u64/i64final values come back as hex strings (JSON numbers can't hold 64 bits).re_read values/structreturnu64/i64as hex strings too; smaller ints as numbers.re_read bytescaps at 64KB unless you passraw:true(hard max 1MB) — hex payloads balloon fast.re_write valuesaccepts hex strings ("0x1122334455667788") for exact 64-bit writes; plain numbers still work for small types.re_diff diffreturns changed offsets only; passvalues:truefor per-byte a/b. Flagstruncated:trueat 1000 diffs.re_cs2 schema—filteris required (substring on field name) unless you passall:true; defaultlimit100, max 2000. Returnsname:offsetstrings.re_scan value/ptr_todefaultpage_limitis 100;countreflects the true total,has_moreflags more pages. Heavy scans have a caller-side 120s timeout — the MCP request rejects on timeout, but Perception's scan loop is not cancelled and keeps running until it finishes.
Example
You: attach to cs2.exe and show me the first 10 instructions at its entry point
Claude: [re_proc op:attach name:"cs2.exe"] [re_module op:module name:"client.dll"] [re_disasm op:disasm ...]
Project Structure
perception-mcp/
├── src/
│ └── index.ts # MCP server + WebSocket hub/relay bridge + 9 dispatchers
├── re_server.as # AngelScript server for Perception IDE
├── package.json
├── tsconfig.json
└── dist/ # Built output (gitignored)
└── index.js
API Reference
Perception AngelScript API: https://docs.perception.cx/perception-angel-script-api/
Установка Perception RE Server
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/verifizieren/perception-mcpFAQ
Perception RE Server MCP бесплатный?
Да, Perception RE Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Perception RE Server?
Нет, Perception RE Server работает без API-ключей и переменных окружения.
Perception RE Server — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Perception RE Server в Claude Desktop, Claude Code или Cursor?
Открой Perception RE Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Perception RE Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
