Token导航 LogoToken导航

MCP Server · 运维云端

bpf MCP

一个通过Model Context Protocol (MCP)服务器暴露Linux内核BPF功能的服务,提供对内核级BPF信息的结构化访问,包括跟踪点、内核函数、BTF类型数据和BPF程序/映射类型。

stdio官方级别未说明来源级核验工具 5
Rust系统监控AI代理

快速开始

作者 / 组织
Stringy
提供方
Stringy
运行时
Docker

工具数量

5

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

bpf MCP 属于运维云端类 MCP Server,公开资料标注 5 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

运维云端

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

docker run --rm -i --privileged \

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Docker,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 5 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

bpf mcp

A. 模型上下文协议(MCP) 该服务器向AI助手公开Linux内核BPF(Berkeley Packet Filter)功能。此服务器提供对内核级BPF信息的结构化访问,包括跟踪点、内核函数、BTF类型数据和BPF程序/映射类型。

特性

  • 内核跟踪点发现 -列出debugfs中的所有可用跟踪点
  • 内核函数枚举 -访问kprobe/kretprobe目标的kallsyms
  • BTF类型反思 -查询内核BTF数据以获取结构/联合/枚举定义
  • BPF参考数据 -BPF程序类型和映射类型的静态列表
  • 柔性运输 -支持stdio和HTTP传输
  • 集装箱准备就绪 -具有特权内核访问的Docker/Podman部署

MCP工具

list_tracepoints

列出所有可用的内核跟踪点 /sys/kernel/debug/tracing/events.

参数:

  • category (可选)-按类别名称筛选(子字符串匹配)
  • pattern (可选)-按跟踪点名称或类别筛选(子字符串匹配)
  • limit (可选)-返回的最大结果数(默认值:100)
  • offset (可选)-分页时要跳过的结果数

退货: 带有名称、类别和格式详细信息的跟踪点对象的JSON数组。

例子:

[
  {
    "name": "sched:sched_switch",
    "category": "sched",
    "format": "name: sched_switch\nID: 314\n..."
  }
]

list_kernel_functions

列出可用于kprobes/kretprobes的内核函数 /proc/kallsyms.

参数:

  • pattern (可选)-按函数名筛选(子字符串匹配)
  • limit (可选)-返回的最大结果数(默认值:100)
  • offset (可选)-分页时要跳过的结果数

退货: 包含名称、地址和模块的内核函数对象的JSON数组。

get_btf_types

在以下位置从内核检索BTF(BPF类型格式)类型信息 /sys/kernel/btf/vmlinux.

参数:

  • pattern (可选)-按类型名称筛选(子字符串匹配)
  • limit (可选)-返回的最大结果数(默认值:100)
  • offset (可选)-分页时要跳过的结果数

退货: BTF类型信息的JSON数组,包括结构、联合、枚举、typedef等。

例子:

[
  {
    "name": "file",
    "kind": "Struct",
    "size": 184,
    "members": ["f_lock", "f_mode", "f_op", "f_mapping", ...]
  }
]

list_bpf_program_types

列出所有支持的BPF程序类型及其说明。

退货: JSON对象将程序类型名称映射到描述(例如。, kprobe, tracepoint, xdp).

list_bpf_map_types

列出所有支持的BPF映射类型及其说明。

退货: JSON对象映射将类型名称映射到描述(例如。, hash, array, ringbuf).

需求

  • Linux x86_64 -目标平台
  • 内核功能:

- Debugs安装在 /sys/kernel/debug (用于追踪点) - 内核中的BTF支持(用于类型自检) - 可读的 /proc/kallsyms (用于内核函数)

  • 特权访问 -需要读取内核调试接口
  • Rust 2024版 -从源头进行建设

安装

从源代码构建

cargo build --release

二进制文件将在 target/release/bpf-mcp.

构建Docker镜像

make image
# or
docker build -t bpf-mcp -f Containerfile .

用法

标准传输(默认)

默认模式使用stdio进行MCP通信,适用于与MCP客户端直接集成:

cargo run

HTTP传输

构建与 http_service 在端口1337上启用HTTP传输的功能:

cargo build --features http_service
cargo run --features http_service

MCP服务器将在 http://localhost:1337/mcp.

Docker部署

使用所需的内核访问权限运行容器化服务器:

docker run --rm -i --privileged \
  -v /sys/kernel/debug:/sys/kernel/debug:ro \
  -v /proc:/proc:ro \
  bpf-mcp

或使用提供的MCP配置 .mcp.json:

{
  "mcpServers": {
    "bpf-mcp": {
      "command": "podman",
      "args": [
        "run", "--rm", "-i", "--privileged",
        "-v", "/sys/kernel/debug:/sys/kernel/debug:ro",
        "bpf-mcp"
      ]
    }
  }
}

发展

代码质量

# Run linter
cargo clippy

# Format code
cargo fmt

# Generate documentation
cargo doc

测试

单元测试:

cargo test

集成测试:

# Test stdio transport
./tests/test_server.sh

# Test Docker deployment
./tests/test_server_docker.sh

建筑

建立在 rmcp Rust MCP SDK包含以下关键组件:

  • src/main.rs -具有传输层设置的入口点(stdio/HTTP)
  • src/tools/mod.rs -MCP工具实现使用 #[tool] 宏
  • 异步运行时 -Tokio用于并发操作
  • 传输层 -用于进程通信的标准,通过Axum的HTTP

依赖项

  • rmcp (0.8.5)-官方Rust MCP SDK
  • tokio (1.x)-异步运行时
  • btf-rs (1.1)-BTF解析库
  • libbpf-rs (0.24)-BPF库绑定
  • axum (0.8)-HTTP服务器框架
  • serde/serde_json -JSON序列化

用例

  • 人工智能辅助BPF开发 -发现BPF程序开发的可用跟踪点和内核函数
  • 内核探索 -通过BTF自省了解内核数据结构
  • BPF教育 -了解BPF程序类型、映射类型和内核接口
  • 安全性研究 -调查安全工具的内核接口
  • 系统可观测性 -识别内核中的监视和跟踪点

贡献

本项目使用Rust 2024版本。请确保:

  • 代码传递 cargo clippy 没有警告
  • 代码格式为 cargo fmt
  • 测试通过 cargo test
  • stdio和Docker部署的集成测试成功

许可证

有关详细信息,请参阅LICENSE文件。

工具与能力

工具数量

5

资源数量

0

提示词数量

0

能力标签

内核访问Rust本地部署BPF工具系统监控安全研究AI辅助开发

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 只提供 5 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Docker,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
bpf MCP

MCP World · 本页

5stdio有1 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

bpf MCP 怎么安装?

公开资料给出的安装命令是 docker run --rm -i --privileged \,运行环境为 Docker。装完后按客户端要求写进 MCP 配置,重启客户端生效。

bpf MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Docker;保存后完全退出客户端再打开,配置才会生效。

bpf MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

bpf MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

bpf MCP 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP