mcpField
S
sysmcp

sysmcp

本地服务
github.com/arunmm8335云与基础设施015 周前更新

关于 sysmcp

sysmcp 是向 Cursor、Claude 等客户端提供 Linux 主机实时指标的 MCP 服务。它无需 root 权限即可从 /proc 读取常规信号,并在具备相应能力时提供可选的 eBPF 活动和流量数据。

主要功能

  1. 01实时 CPU 和内存统计
  2. 02进程与网络连接检查
  3. 03网卡和 cgroup 速率
  4. 04可选 eBPF 活动与流量数据
  5. 05浏览器仪表板和 JSON API

适用场景

  1. 01排查 Linux 系统时检查主机负载
  2. 02查找网络连接关联的进程
  3. 03监测网卡流量速率
  4. 04在浏览器仪表板查看主机指标

MCP 相关

向 MCP 客户端提供 Linux 主机指标和检查工具,包括系统快照、进程列表、网络连接及可选的 eBPF 数据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbsysmcp_0.5.0_linux_amd64.mcpb
mcpbsysmcp_0.5.0_linux_arm64.mcpb

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

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_statsCPU 百分比、内存百分比、平均负载、网卡接收 / 发送速率(B/s)
top_processes按采样窗口内的 CPU 百分比排列的主要 PID,以及 skipped_count
network_connectionsIPv4 + IPv6 TCP / UDP;支持筛选和 resolve_pid;行数上限(默认 200)
cgroup_cpu按 CPU 百分比排列的主要 cgroup(cgroup v2 cpu.stat)
iface_rates每个网络接口的字节 / 数据包速率(/proc/net/dev)
ebpf_statuseBPF 是否可用;不可用时包含 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_onlyTCP LISTEN + 未绑定的 UDP
protocoltcp / udp
familyipv4 / 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。