mcpField
S
sysmcp

sysmcp

Local
github.com/arunmm8335Cloud & Infra0Updated 15w ago

About sysmcp

sysmcp is an MCP server that exposes live Linux host metrics to clients such as Cursor and Claude. It reads standard signals from /proc without root and adds optional eBPF activity and traffic data when capabilities are available.

Key features

  1. 01Live CPU and memory statistics
  2. 02Process and network connection inspection
  3. 03Per-interface and cgroup rates
  4. 04Optional eBPF activity and traffic data
  5. 05Browser dashboard and JSON APIs

Use cases

  1. 01Inspect host load while diagnosing a Linux system
  2. 02Find processes associated with network connections
  3. 03Monitor interface traffic rates
  4. 04View host metrics in a browser dashboard

MCP support

Exposes Linux host metrics and inspection tools to MCP clients, including system snapshots, process lists, network connections, and optional eBPF data.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository
Packages
mcpbsysmcp_0.5.0_linux_amd64.mcpb
mcpbsysmcp_0.5.0_linux_arm64.mcpb

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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

ToolWhat it returns
host_dashboardFull snapshot (CPU, mem, top procs, listeners, eBPF)
poll_host_statsLightweight CPU/mem/process snapshot for auto-refresh
system_statsCPU %, memory %, load averages, NIC rx/tx B/s
top_processesTop PIDs by CPU % over a sample window, plus skipped_count
network_connectionsIPv4+IPv6 TCP/UDP; filters + resolve_pid; row limit (default 200)
cgroup_cpuTop cgroups by CPU % (cgroup v2 cpu.stat)
iface_ratesPer-interface byte/packet rates (/proc/net/dev)
ebpf_statusWhether eBPF works; includes how_to_enable when not
ebpf_activityFork + sched_switch rates via eBPF, or available: false
ebpf_trafficKernel 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.

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
ArgEffect
listen_onlyTCP LISTEN + unbound UDP
protocoltcp / udp
familyipv4 / ipv6
statee.g. ESTABLISHED, LISTEN
local_portfilter by local port
pidowning PID (implies resolve_pid)
limitmax 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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.