PCILeech MCP Server
PCILeech MCP 服务器
English
一个模型上下文协议 (MCP) 服务器,为 PCILeech 提供标准化的接口,用于执行基于 DMA 的内存操作。这使得 MCP 客户端(例如 Claude Code)能够通过工具调用执行内存/调试工作流。
作者: EVAN & MOER 支持: 加入我们的 Discord
Related MCP server: Volatility MCP
功能特性
19 个 MCP 工具,按功能分组:
核心内存:
memory_read,memory_write,memory_format系统:
system_info,memory_probe,memory_dump,memory_search,memory_patch,process_list地址转换:
translate_phys2virt,translate_virt2phys,process_virt2phys内核模块 (KMD):
kmd_load,kmd_exit,kmd_execute,kmd_list_scripts高级/FPGA:
benchmark,tlp_send,fpga_config
虚拟地址模式: 内存工具支持
pid或process_name(互斥)非阻塞服务器: PCILeech 调用通过
asyncio.to_thread执行输出辅助: 提供 hexdump + ASCII + 字节/DWORD 视图以供分析
前置要求
Windows 10/11 (x64)
Python 3.10+
PCILeech 硬件(已正确配置并正常工作)
PCILeech 二进制文件(捆绑在
pcileech/下)
快速开始
1. 克隆
git clone https://github.com/Evan7198/mcp_server_pcileech
cd mcp_server_pcileech
// download release in https://github.com/ufrisk/pcileech for using the latest pcileech2. 安装依赖
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt如果遇到 MCP 导入/版本问题,请改用以下命令从 pyproject.toml 安装:
pip install -e .3. 验证 PCILeech
cd pcileech
pcileech.exe probe4. 配置 Claude Code (MCP)
添加服务器条目(调整路径):
"mcpServers": {
"pcileech": {
"command": "C:\\path\\to\\mcp_server_pcileech\\.venv\\Scripts\\python.exe",
"args": [
"C:\\path\\to\\mcp_server_pcileech\\main.py"
],
"cwd": "C:\\path\\to\\mcp_server_pcileech",
"env": {}
}
}编辑 MCP 配置后,请重启 Claude Code。
配置
config.json 控制 PCILeech 可执行文件路径和超时设置:
{
"pcileech": {
"executable_path": "pcileech\\pcileech.exe",
"timeout_seconds": 30
},
"server": {
"name": "mcp-server-pcileech",
"version": "1.0.0"
}
}使用示例
配置完成后,您可以用自然语言请求操作;客户端会将其转换为工具调用:
Read 256 bytes from address 0x1000Write the hex data 48656c6c6f to address 0x2000Show me a formatted view of 64 bytes at address 0x1000MCP 工具(概览)
注意:
虚拟内存模式: 对于内存工具,请使用
pid或process_name(不能同时使用)。仅限 FPGA: 某些操作需要基于 FPGA 的设备(例如
memory_probe,tlp_send)。
核心内存
memory_read(address, length, pid?, process_name?)→ 十六进制数据 + 元数据memory_write(address, data, pid?, process_name?)→ 成功/确认memory_format(address, length, formats?, pid?, process_name?)→ hexdump/ASCII/数组/原始数据
系统
system_info(verbose?)→ 目标系统 + 设备信息memory_probe(min_address?, max_address?)→ 可读区域(仅限 FPGA)memory_dump(min_address, max_address, output_file?, force?)→ 转储文件路径/结果memory_search(pattern? | signature?, min_address?, max_address?, find_all?)→ 匹配项memory_patch(signature, min_address?, max_address?, patch_all?)→ 补丁结果process_list()→ PID/PPID/名称列表
地址转换
translate_phys2virt(physical_address, cr3)→ 转换详情translate_virt2phys(virtual_address, cr3)→ 转换详情process_virt2phys(pid, virtual_address)→ 转换详情
内核模块 (KMD)
kmd_load(kmd_type, use_pt?, cr3?)→ 加载结果(+ 缓存 KMD 地址)kmd_exit(kmd_address?)→ 卸载结果(如果省略则使用缓存地址)kmd_execute(script_name, kmd_address?, input_file?, output_file?, parameter_string?, parameter_int0?, parameter_int1?)kmd_list_scripts(platform?)→ 按平台分组的可用.ksh脚本
高级 / FPGA
benchmark(test_type?, address?)→ MB/s 结果(取决于硬件)tlp_send(tlp_data?, wait_seconds?, verbose?)→ 发送/接收的 TLP(仅限 FPGA)fpga_config(action?, address?, data?, output_file?)→ 配置读取/写入(仅限 FPGA)
架构
双层设计
MCP 服务器层 (
main.py)Stdio 传输、工具模式、验证、格式化
使用
asyncio.to_thread()避免阻塞事件循环
PCILeech 包装器 (
pcileech_wrapper.py)子进程调用
pcileech.exe地址对齐 + 256 字节分块(PCILeech
display行为)输出解析、超时和错误映射
故障排除
未找到 PCILeech
错误: PCILeech executable not found
修复: 验证 config.json → pcileech.executable_path
硬件未连接
警告: PCILeech connection verification failed
修复: 运行 pcileech\pcileech.exe probe 并验证驱动程序/线缆
内存访问失败
错误: Memory read/write failed
修复: 先在 CLI 上验证地址/范围,然后再通过 MCP 重试
超时
错误: PCILeech command timed out
修复: 在 config.json 中增加 pcileech.timeout_seconds
项目结构
mcp_server_pcileech/
├── main.py
├── pcileech_wrapper.py
├── config.json
├── pyproject.toml
├── requirements.txt
├── README.md
├── README_CN.md
└── pcileech/
├── pcileech.exe
└── LICENSE.txt限制
仅限 Windows(本仓库中的 PCILeech 专注于 Windows)
需要兼容的 PCILeech 硬件才能进行实际内存操作
读取大小限制:
memory_read:最大 1MBmemory_format:最大 4KB(可读输出)
部分工具仅限 FPGA(probe/TLP/config)
PCILeech 命令按顺序执行(每个子进程调用)
安全与法律
本工具旨在用于授权的调试/安全研究/教育。请勿将其用于未经授权的访问或恶意活动。您有责任遵守适用的法律法规。
许可证
本项目包装了 PCILeech,其拥有自己的许可证。请参阅 pcileech/LICENSE.txt。
致谢
版本
本仓库中的工具集目前包含 19 个工具的扩展集。有关包/配置版本,请参考:
pyproject.toml([project].version)config.json(server.version)
支持
Discord: 加入我们的 Discord
问题:在本仓库中提交 issue
PCILeech 文档: PCILeech GitHub
MCP 文档: MCP 文档
更新日志
v1.0.0 (2025-12-16)
扩展至 19 个 MCP 工具,涵盖完整的 PCILeech 功能
为内存工具添加了虚拟地址模式 (
pid/process_name)添加了地址转换、KMD 和 FPGA/高级工具
增强了验证和错误处理;非阻塞服务器执行
v0.1.0 (2025-12-10)
初始版本
三个 MCP 工具:
memory_read,memory_write,memory_format
This server cannot be deployed
Maintenance
Related MCP Connectors
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
- EngramOAuthapp.getengram
Persistent, verbatim, searchable memory for AI assistants — one memory across every MCP client.
Private cross-media memory for AI assistants: recommendations, progress and controlled actions.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceBridges AI models with WinDbg to analyze Windows crash dumps and perform remote debugging through natural language queries, enabling execution of debugger commands and automated crash analysis.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to perform memory forensics analysis using Volatility 3 through natural language prompts. Supports process listing, network connection analysis, and other memory artifact inspection from memory images.52Apache 2.0
- AlicenseNot gradedqualityBmaintenanceA Linux-native MCP server that gives AI assistants direct access to DMA-based memory operations for memory inspection, process analysis, reverse engineering, and game engine SDK extraction via natural language.13AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to control the x64dbg debugger through natural language, providing tools for breakpoints, memory, disassembly, tracing, PE dumping, and anti-debug bypass, all locally via stdio.131MIT