Perception RE MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| re_procB | Process lifecycle & validation. ops: attach {name?|pid?}, detach {}, info {}, is_valid {address}, tebs {} |
| re_readA | Read memory. ops: bytes {address,size}, values {address,type,count?}, string {address,max_length?}, wstring {address,max_length?}, ptr_chain {base,offsets[],final_type?}, struct {address,fields[]}, ptr_array {address,count,offset_delta?}, hex_dump {address,size?}, filter_ptrs {base,count,vtable_check_addr,stride?,deref_offset?}. types: u8..i64,f32,f64 (+ptr for ptr_chain). |
| re_writeA | Write memory. ops: bytes {address,data(hex)}, values {address,type,values[]}, string {address,text}, wstring {address,text}. types: u8..i64,f32,f64 |
| re_scanA | Search process memory. ops: pattern {signature,start?,size?,module_name?} (first match), pattern_all {signature,...,max_results?}, value {type,value,heap_only?,page_offset?,page_limit?}, ptr_to {target,heap_only?,page_offset?,page_limit?}, heap_regions {regions[],type,value,max_results?,alignment?,max_total_bytes?} (chunks all regions with overlap; alignment default=val_size), xrefs {target,start?,size?,module_name?}, string_refs {search_text} (whole-process). NOTE: pattern/xrefs with no module_name/start+size scan 256MB from process base. page_limit/max_results cap RETURNED results, not scan cost. Heavy scans have a caller-side 120s timeout; the AS loop is not cancelled. |
| re_moduleA | Resolve module internals. ops: module {name}, export {module_base,export_name}, import {module_base,import_name} |
| re_disasmA | Disassembly & code analysis. ops: disasm {address,count?,size?,bytes?}, vtable {address,max_entries?,disasm_preview?}, rtti {object_address} (address of an object instance; first qword must be its vtable ptr), gensig {address,length?}, bounds {address}, analyze_fn {address,max_size?} |
| re_vmA | Virtual memory. ops: vquery {address}, vad {heap_only?,compact?,min_size?,addr_start?,addr_end?,limit?,page_offset?} (compact defaults TRUE; paginated — default limit 500, max 5000; response has has_more/total_matched), alloc {size} (RWX), free {address} |
| re_diffB | Snapshots & emulation. ops: dump {address,size,label}, diff {label_a,label_b,values?} (returns changed offsets; set values:true for per-byte a/b), emulate {code_address,code_size,entry_offset?,registers?,map_regions?,read_registers?,max_instructions?} |
| re_cs2A | CS2-specific. ops: interface {module_base,interface_name}, schema {filter?,limit?} — ALWAYS pass filter (substring match on field name, e.g. 'C_BaseEntity' or 'm_iHealth'); unfiltered schema is huge. Returns 'name:offset' strings. count=returned, total_matched=all hits. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool targets a distinct area of reverse engineering: module resolution, disassembly, virtual memory, snapshots/emulation, game-specific structures, memory writing, process lifecycle, memory reading, and memory scanning. Overlap is minimal and the operations within each tool are complementary.
All tools follow a consistent re_<domain> convention with clear action-oriented operations inside (e.g., attach, dump, pattern). The lower-level read/write tools share parallel op names (bytes, values, string), reinforcing predictability.
Nine tools provide a comprehensive but not bloated surface for process memory manipulation, analysis, and game-specific tasks. Each tool is substantial and earns its place; the count is well within the ideal range.
The toolkit covers process attach, memory read/write, scanning, disassembly, module internals, and advanced analysis. The primary gap is the lack of process/module enumeration, forcing agents to know or guess names/bases, which is a minor but noticeable omission for discovery workflows.