关于 sysmcp
sysmcp 是向 Cursor、Claude 等客户端提供 Linux 主机实时指标的 MCP 服务。它无需 root 权限即可从 /proc 读取常规信号,并在具备相应能力时提供可选的 eBPF 活动和流量数据。
主要功能
- 01实时 CPU 和内存统计
- 02进程与网络连接检查
- 03网卡和 cgroup 速率
- 04可选 eBPF 活动与流量数据
- 05浏览器仪表板和 JSON API
适用场景
- 01排查 Linux 系统时检查主机负载
- 02查找网络连接关联的进程
- 03监测网卡流量速率
- 04在浏览器仪表板查看主机指标
MCP 相关
向 MCP 客户端提供 Linux 主机指标和检查工具,包括系统快照、进程列表、网络连接及可选的 eBPF 数据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
sysmcp
MCP 服务,可向 Cursor / Claude 提供实时主机信号——CPU、内存、进程、网络——
默认路径为 /proc(无需 root)。在具备 CAP_BPF / CAP_PERFMON 时,
可启用可选的 eBPF 工具。
仓库: https://github.com/arunmm8335/sysmcp · 版本: 0.5.0
工具
| 工具 | 返回内容 |
|---|---|
host_dashboard | 完整快照(CPU、内存、主要进程、监听端口、eBPF) |
poll_host_stats | 轻量级 CPU / 内存 / 进程快照,用于自动刷新 |
system_stats | CPU 百分比、内存百分比、平均负载、网卡接收 / 发送速率(B/s) |
top_processes | 按采样窗口内的 CPU 百分比排列的主要 PID,以及 skipped_count |
network_connections | IPv4 + IPv6 TCP / UDP;支持筛选和 resolve_pid;行数上限(默认 200) |
cgroup_cpu | 按 CPU 百分比排列的主要 cgroup(cgroup v2 cpu.stat) |
iface_rates | 每个网络接口的字节 / 数据包速率(/proc/net/dev) |
ebpf_status | eBPF 是否可用;不可用时包含 how_to_enable |
ebpf_activity | 通过 eBPF 获取 fork 和 sched_switch 速率,或返回 available: false |
ebpf_traffic | 内核 RX / TX 数据包速率(netif_receive_skb / net_dev_xmit) |
每个连接的真实字节计数需要基于 sock 层的 eBPF;目前,iface_rates +
ebpf_traffic 是实用性较强的深层网络信号。
浏览器仪表板(HTTP)
go build -o sysmcp ./cmd/sysmcp
./sysmcp serve
# open http://127.0.0.1:8787/
可选:./sysmcp serve -addr 127.0.0.1:9000
API:/api/dashboard、/api/poll(JSON)。
Cursor 中的交互式视图
询问 “打开主机仪表板” / “刷新主机仪表板”。Agent
会调用 host_dashboard,并在聊天旁打开 Cursor Canvas。
MCP Apps 资源 ui://sysmcp/dashboard 仍供可渲染 Apps
iframe 的宿主使用。Cursor 通常使用 Canvas + JSON。
network_connections 筛选项
| 参数 | 效果 |
|---|---|
listen_only | TCP LISTEN + 未绑定的 UDP |
protocol | tcp / udp |
family | ipv4 / ipv6 |
state | 例如 ESTABLISHED、LISTEN |
local_port | 按本地端口筛选 |
pid | 所属 PID(会启用 resolve_pid) |
limit | 最大行数(默认 200,最大 1000);结果中包含 truncated |
安装
发布二进制文件(linux amd64 / arm64)会随每个 v* 标签发布:
https://github.com/arunmm8335/sysmcp/releases
# example amd64
curl -fsSL -o sysmcp.tgz \
https://github.com/arunmm8335/sysmcp/releases/download/v0.5.0/sysmcp_0.5.0_linux_amd64.tar.gz
tar -xzf sysmcp.tgz
也可从源代码安装:
go install github.com/arunmm8335/sysmcp/cmd/sysmcp@latest
# or
git clone https://github.com/arunmm8335/sysmcp.git
cd sysmcp
go build -o sysmcp ./cmd/sysmcp
MCP Registry(一键安装)
命名空间:io.github.arunmm8335/sysmcp。标签发布会构建 .mcpb 资源,
并尝试通过 mcp-publisher 使用 OIDC 发布。发布后可手动发布(如果尚未配置 OIDC,建议手动发布):
# fill fileSha256 in server.json from the release *.mcpb.sha256 files, then:
curl -fsSL -o mcp-publisher.tgz \
https://github.com/modelcontextprotocol/registry/releases/download/v1.8.0/mcp-publisher_linux_amd64.tar.gz
tar -xzf mcp-publisher.tgz mcp-publisher
./mcp-publisher login github
./mcp-publisher publish ./server.json
参见 https://modelcontextprotocol.io/registry/quickstart
Cursor / Claude MCP 配置
{
"mcpServers": {
"sysmcp": {
"command": "/absolute/path/to/sysmcp"
}
}
}
启用 eBPF(可选)
go build -o sysmcp ./cmd/sysmcp
./scripts/grant-caps.sh ./sysmcp
# sets: cap_bpf,cap_perfmon+ep
授予 capabilities 后,请重启 MCP 服务。未授予 capabilities 时,eBPF 工具会返回
available: false——/proc 工具仍可正常工作。
演示
go test ./... -count=1
go build -o sysmcp ./cmd/sysmcp
go run ./scripts/smoke.go ./sysmcp
./sysmcp serve # then open http://127.0.0.1:8787/
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。