Token导航 LogoToken导航TokenDH.com
PCILeech MCP Server logo
AI代理stdio官方级别未说明来源级核验

PCILeech MCP Server

MCP Server

一个提供标准化接口的MCP服务器,用于通过PCILeech进行基于DMA的内存操作,支持内存读写、系统信息查询、地址转换等功能。

工具数

19

提示词数

0

GitHub Stars

17

资源数

0
PythonClaudeAI代理Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Evan7198

提供方

Evan7198

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv .venv

详细介绍

PCILech的MCP服务器

英语 | 中文

英语

一种模型上下文协议(MCP)服务器,为基于DMA的内存操作提供到PCILech的标准化接口。这使得MCP客户端(例如Claude Code)能够通过工具调用执行内存/调试工作流。

作者: 埃文&莫尔\ 技术支持: 加入我们的Discord

特性

  • 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

  • 虚拟地址模式: 内存工具支持 pidprocess_name (相互排斥)
  • 非阻塞服务器: PCILech调用通过以下方式执行 asyncio.to_thread
  • 输出助手: 用于分析的hexdump+ASCII+字节/DWORD视图

先决条件

  • Windows 10/11 (x64)
  • Python 3.10+
  • PCILech硬件 配置正确且工作正常
  • PCILech二进制文件 (捆绑在下面 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 pcileech

2.安装依赖项

python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt

如果遇到MCP导入/版本问题,请从安装 pyproject.toml 相反:

pip install -e .

3.验证PCILech

cd pcileech
pcileech.exe probe

4.配置克劳德代码(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 控制PCILech可执行文件路径和超时:

{
  "pcileech": {
    "executable_path": "pcileech\\pcileech.exe",
    "timeout_seconds": 30
  },
  "server": {
    "name": "mcp-server-pcileech",
    "version": "1.0.0"
  }
}

使用示例

配置后,您可以用自然语言请求操作;客户端将把它们转换为工具调用:

Read 256 bytes from address 0x1000
Write the hex data 48656c6c6f to address 0x2000
Show me a formatted view of 64 bytes at address 0x1000

MCP工具(概述)

笔记:

  • 虚拟内存模式: 对于记忆工具,请使用 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/数组/raw

系统

  • 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)

建筑

双层设计

  1. MCP服务器层 (main.py)

- 标准传输、工具模式、验证、格式化 - 用途 asyncio.to_thread() 避免阻塞事件循环

  1. PCILech包装器 (pcileech_wrapper.py)

- 子流程调用 pcileech.exe - 地址对齐+256字节分块(PCILech display 行为) - 输出解析、超时和错误映射

故障排除

未找到PCILech

错误: PCILeech executable not found\ 修复: 验证 config.jsonpcileech.executable_path

硬件未连接

警告: PCILeech connection verification failed\ 修复:pcileech\\pcileech.exe probe 并验证驱动器/布线

内存访问失败

错误: Memory read/write failed\ 修复: 首先在CLI上验证地址/范围,然后通过MCP重试

超时

错误: PCILeech command timed out\ 修复: 增加 pcileech.timeout_secondsconfig.json

项目结构

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(PCILech是此仓库中以Windows为中心的)
  • 实际内存操作需要兼容的PCILech硬件
  • 读取大小限制:

- memory_read:高达1MB - memory_format:高达4KB(可读输出)

  • 一些工具是 仅FPGA (探头/TLP/config)
  • PCILech命令按顺序运行(每个子进程调用)

安全与法律

此工具用于授权调试/安全研究/教育。请勿将其用于未经授权的访问或恶意活动。您有责任遵守适用的法律法规。

许可证

这个项目封装了PCILech,它有自己的许可证。看 pcileech/LICENSE.txt.

学分

版本

此存储库中的工具集目前包括19个工具扩展集。有关包/config版本,请参阅:

  • pyproject.toml ([project].version)
  • config.json (server.version)

支持

更新日志

v1.0.0(2025-12-16)

  • 扩展到19个MCP工具,涵盖完整的PCILech功能
  • 添加了虚拟地址模式(pid / process_name)到记忆工具
  • 添加了地址转换、KMD和FPGA/高级工具
  • 增加了更广泛的验证和错误处理;非阻塞服务器执行

v0.1.0(2025-12-10)

  • 初始版本
  • 三种MCP工具: memory_read, memory_write, memory_format

目录标签

目录标签

PythonClaudeAI代理C本地部署内存操作系统调试DMA硬件接口安全研究

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

19

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP