Live Linux host signal (CPU, memory, processes, network, optional eBPF) for MCP clients.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
💡 Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
MCP server that exposes live host signal — CPU, memory, processes, network —
to Cursor / Claude. Default path is /proc (no root). Optional eBPF tools
activate when CAP_BPF / CAP_PERFMON is available.
Repo: https://github.com/arunmm8335/sysmcp · Version: 0.5.0
| Tool | What it returns |
|---|---|
host_dashboard | Full snapshot (CPU, mem, top procs, listeners, eBPF) |
poll_host_stats | Lightweight CPU/mem/process snapshot for auto-refresh |
system_stats | CPU %, memory %, load averages, NIC rx/tx B/s |
top_processes | Top PIDs by CPU % over a sample window, plus skipped_count |
network_connections | IPv4+IPv6 TCP/UDP; filters + resolve_pid; row limit (default 200) |
cgroup_cpu | Top cgroups by CPU % (cgroup v2 cpu.stat) |
iface_rates | Per-interface byte/packet rates (/proc/net/dev) |
ebpf_status | Whether eBPF works; includes how_to_enable when not |
ebpf_activity | Fork + sched_switch rates via eBPF, or available: false |
ebpf_traffic | Kernel RX/TX packet rates (netif_receive_skb / net_dev_xmit) |
True per-connection byte counters need sock-level eBPF; iface_rates +
ebpf_traffic are the practical deeper network signal today.
Optional: ./sysmcp serve -addr 127.0.0.1:9000
APIs: /api/dashboard, /api/poll (JSON).
Ask “Open the host dashboard” / “Refresh the host dashboard”. The agent
calls host_dashboard and opens a Cursor Canvas beside the chat.
MCP Apps resource ui://sysmcp/dashboard remains for hosts that render Apps
iframes. Cursor often uses Canvas + JSON instead.
network_connections filters| Arg | Effect |
|---|---|
listen_only | TCP LISTEN + unbound UDP |
protocol | tcp / udp |
family | ipv4 / ipv6 |
state | e.g. ESTABLISHED, LISTEN |
local_port | filter by local port |
pid | owning PID (implies resolve_pid) |
limit | max rows (default 200, max 1000); truncated in result |
Release binaries (linux amd64 / arm64) ship on each v* tag:
https://github.com/arunmm8335/sysmcp/releases
Or from source:
Namespace: io.github.arunmm8335/sysmcp. Tag releases build .mcpb assets and
attempt an OIDC publish via mcp-publisher. To publish manually after a
release (recommended if OIDC is not set up):
See https://modelcontextprotocol.io/registry/quickstart
Restart the MCP server after granting caps. Without caps, eBPF tools return
available: false — /proc tools still work.
MIT
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/sysmcp)<a href="https://allmcps.com/mcp/sysmcp"><img src="https://allmcps.com/api/badge/sysmcp?style=directory" alt="Sysmcp on AllMCPs" /></a>