Mcptrace

Mcptrace

🚀 bpftrace MCP Server:生成eBPF以跟踪Linux内核

bpftrace MCP Server是一个轻量级的MCP(模型上下文协议)服务器,它为AI助手提供了访问bpftrace内核跟踪功能的途径,可助力开发者高效地对Linux内核进行跟踪和分析。

✨ 主要特性

  • list_probes:列出可用的bpftrace探测点,并支持可选的过滤功能。
  • list_helpers:获取bpftrace辅助函数的相关信息。
  • exec_program:执行bpftrace程序,并以缓冲输出的方式返回结果。
  • get_result:异步检索程序执行的结果。

📦 安装指南

前提条件

  1. 安装Rust(若尚未安装):
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  1. 确保已安装bpftrace:
sudo apt-get install bpftrace  # Ubuntu/Debian
# 或者
sudo dnf install bpftrace      # Fedora
  1. 构建服务器:
cargo build --release

快速设置

可以使用我们提供的自动化设置脚本:

  • Claude桌面版./setup/setup_claude.sh
  • Claude代码版./setup/setup_claude_code.sh

如需详细的设置说明和手动配置方法,请参阅 setup/SETUP.md。

🚀 快速开始

直接执行

./target/release/bpftrace-mcp-server

通过Cargo执行

cargo run --release

手动配置

如需Claude桌面版或Claude代码版的手动设置说明,请参阅 setup/SETUP.md。

💻 使用示例

列出系统调用探测点

await list_probes(filter="syscalls:*read*")

获取BPF系统信息

info = await bpf_info()
# 返回系统信息、内核辅助函数、特性、映射类型和探测点类型

执行简单跟踪

result = await exec_program(
'tracepoint:syscalls:sys_enter_open { printf("%s\\n", comm); }',
timeout=10
)
exec_id = result["execution_id"]

获取执行结果

output = await get_result(exec_id)
print(output["output"])

🔧 技术细节

Rust服务器采用了以下技术和组件:

  • Tokio异步运行时,以实现并发操作。
  • 子进程管理,用于执行bpftrace程序。
  • DashMap,实现线程安全的内存缓冲。
  • 自动清理旧缓冲区。
  • rmcp crate,用于实现MCP协议。

⚠️ 安全注意事项

  • 服务器需要sudo权限才能运行bpftrace。
  • 密码处理:创建一个 .env 文件并存储你的sudo密码:
    echo "BPFTRACE_PASSWD=your_sudo_password" > .env
    
  • 替代方法:为bpftrace配置无密码sudo:
    sudo visudo
    # 添加:your_username ALL=(ALL) NOPASSWD: /usr/bin/bpftrace
    
  • 无脚本验证 - 信任AI客户端生成安全的脚本。
  • 资源限制:最大执行时间为60秒,缓冲区最多可容纳10000行。
  • 详细的安全配置请参阅 SECURITY.md。

📄 局限性

  • 不支持实时流式传输(需使用 get_result 进行轮询)。
  • 密码处理方式简单(生产环境中需改进)。
  • 执行记录无持久化存储。
  • 错误处理机制较为基础。

📚 详细文档

  • 设置指南 - 详细的安装和配置说明。
  • Claude代码版设置 - Claude代码版的特定说明。
  • CLAUDE.md - AI助手的开发指南。
  • 设计文档 - 架构和设计细节。

🚧 未来改进方向

  • 增加SSE传输,以支持实时流式传输。
  • 实现适当的身份验证机制。
  • 增加脚本验证和沙箱功能。
  • 支持保存/加载跟踪会话。
  • 与eBPF程序进行集成。
  • 0 关注
  • 0 收藏,24 浏览
  • system 提出于 2025-10-06 10:15

相似服务问题

相关AI产品