Perception RE MCP Server

Perception RE MCP Server

Bridges Claude Code to Perception.cx reverse engineering tools via AngelScript WebSocket, providing 35+ tools for process manipulation, memory operations, disassembly, scanning, and more.

Category
访问服务器

README

Perception RE MCP Server

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

Installation

git clone https://github.com/verifizieren/perception-mcp.git
cd perception-mcp
npm install
npm run build

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 will automatically keep trying to connect to the MCP server and reconnect if disconnected. You can load it on Perception startup.

Console output when waiting:

[RE Server] Starting Perception RE server (background mode)...
[RE Server] Waiting for MCP server... (attempt 1)

Console output when connected:

[RE Server] Connected to MCP server. 35+ RE tools available.

2. Start Claude Code

Open Claude Code in any project. The MCP server starts automatically via the config in ~/.mcp.json. Once both sides are running, you can use all 35+ RE tools directly from Claude.

3. Multiple instances

The first Claude Code instance starts as a hub (WebSocket server on port 9001). Additional instances automatically connect as relays through the hub. All instances share the same Perception connection — no extra setup needed.

Available Tools (35+)

Process Management

Tool Description
attach_process Attach to a process by name or PID
detach_process Detach from current process
process_info Get PID, base address, PEB, alive status
is_valid_address Check if an address is valid

Memory Reading

Tool Description
read_memory Read raw hex bytes
read_values Read typed values (u8/u16/u32/u64/i8-i64/f32/f64)
read_string Read ANSI/UTF-8 string
read_wstring Read UTF-16 wide string
read_pointer_chain Follow pointer chain through offsets
read_struct Read structured fields with offset/type definitions
read_pointer_array Read array of pointers
hex_dump Traditional hex + ASCII dump

Memory Writing

Tool Description
write_memory Write raw hex bytes
write_values Write typed values
write_string Write ANSI string (null-terminated)
write_wstring Write UTF-16 string (null-terminated)

Pattern Scanning

Tool Description
pattern_scan IDA-style signature scan (first match)
pattern_scan_all IDA-style signature scan (all matches)

Module Info

Tool Description
get_module Get module base address + size
get_export Resolve exported function address
get_import Resolve IAT entry address

Disassembly & Assembly

Tool Description
disassemble Zydis disassembly at address
assemble Instruction encoding

Virtual Memory

Tool Description
virtual_query Query memory region info
get_vad_snapshot List all VAD entries
alloc_vm Allocate RWX memory in target
free_vm Free allocated memory

Scanning

Tool Description
scan_value Full-process value scan (u32/u64/float/double/string/wstring/pointer)
scan_pointer_to Find all pointers to an address

Advanced RE

Tool Description
find_xrefs Find cross-references (relative + absolute)
analyze_vtable Read vtable entries with optional disassembly preview
read_rtti Read MSVC RTTI class name + hierarchy
generate_signature Auto-generate IDA-style signature from code
find_function_bounds Find function start/end boundaries
analyze_function Full function disassembly with call/jump analysis
find_string_refs Find code references to strings

Memory Diff

Tool Description
dump_memory_region Snapshot memory for diffing
diff_memory Compare two snapshots

Emulation

Tool Description
emulate_code Unicorn x86_64 emulation with register I/O and memory mapping

Threads

Tool Description
get_tebs Get all Thread Environment Block addresses

CS2 Specific

Tool Description
cs2_get_interface Resolve Source 2 interface pointer
cs2_schema_dump Dump schema system classes and offsets

Example

You: attach to chrome.exe and show me the first 10 instructions at its entry point

Claude: [uses attach_process, get_module, disassemble]

Troubleshooting

MCP not showing up in Claude Code

  • Verify ~/.mcp.json has the correct absolute path to dist/index.js
  • Restart Claude Code after editing the config
  • Run npm run build if dist/ doesn't exist

AngelScript "Waiting for MCP server..."

  • This is normal — the script polls in the background until Claude Code starts
  • Once you open Claude Code, it connects automatically

Second Claude Code instance can't use tools

  • The relay auto-retries every 3 seconds, give it a moment
  • Check that the first instance (hub) is still running

Perception disconnected

  • The AngelScript server auto-reconnects when the MCP becomes available again
  • If Perception itself was closed, reopen it and reload re_server.as

Project Structure

perception-mcp/
├── src/
│   └── index.ts          # MCP server + WebSocket hub/relay bridge
├── re_server.as          # AngelScript server for Perception IDE
├── package.json
├── tsconfig.json
└── dist/                 # Built output (gitignored)
    └── index.js

API Reference

For Perception's AngelScript API documentation, see: https://docs.perception.cx/perception-angel-script-api/

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选