Skip to main content
Glama
arunmm8335
by arunmm8335

sysmcp

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

Tools

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.

Related MCP server: infra-mcp

Browser dashboard (HTTP)

go build -o sysmcp ./cmd/sysmcp
./sysmcp serve
# open http://127.0.0.1:8787/

Optional: ./sysmcp serve -addr 127.0.0.1:9000

APIs: /api/dashboard, /api/poll (JSON).

Interactive views in Cursor

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

Install

Release binaries (linux amd64 / arm64) ship on each v* tag:

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

Or from source:

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 (one-click)

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):

# 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

See https://modelcontextprotocol.io/registry/quickstart

Cursor / Claude MCP config

{
  "mcpServers": {
    "sysmcp": {
      "command": "/absolute/path/to/sysmcp"
    }
  }
}

Enable eBPF (optional)

go build -o sysmcp ./cmd/sysmcp
./scripts/grant-caps.sh ./sysmcp
# sets: cap_bpf,cap_perfmon+ep

Restart the MCP server after granting caps. Without caps, eBPF tools return available: false/proc tools still work.

Demo

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/

License

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A lean MCP server that provides LLM agents with transparent access to multiple Prometheus instances for metrics analysis and SRE operations.
    4
    GPL 2.0
  • A
    license
    A
    quality
    D
    maintenance
    MCP server that enables AI assistants to query Grafana/Loki logs and Thanos/Prometheus metrics directly from MCP-compatible clients like Cursor or Claude Desktop.
    8
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    A read-only system observability and OS algorithm lab MCP server for openEuler/Linux, encapsulating memory, filesystem, process, and CPU info into typed tools for reliable LLM client use.
    -