AgentStack
MCP verified MIT Self-run

Machinestate

mcp-reza-ebrahimi-machinestate · by reza-ebrahimi

MachineState - A single-binary Linux system state reporter with real-time JSONL streaming and a native MCP server for direct LLM integration. Built in Go and Zig from identical Markdown specs using Claude Opus.

No reviews yet
0 installs
7 views
0.0% view→install

Install

$ agentstack add mcp-reza-ebrahimi-machinestate

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Machinestate? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

MachineState

[](LICENSE) [](https://go.dev/) [](https://ziglang.org/)

A single-binary Linux system state reporter with real-time JSONL streaming and a native MCP server for direct LLM integration. Built in Go and Zig from identical Markdown specs using Claude Opus.

Available in two implementations:

  • Go - Using gopsutil library
  • Zig - Native implementation with minimal dependencies

Both produce identical JSON output and can be used interchangeably.

Features

  • Comprehensive System Analysis
  • CPU, memory, load average, uptime, timezone
  • Disk usage and inode status
  • Network interfaces and listening ports
  • Package updates (APT, Snap)
  • Systemd service status
  • Security checks (firewall, SSH, failed logins)
  • Hardware health (battery, temperatures, crash reports)
  • Docker containers and images
  • GPU monitoring (NVIDIA, AMD, Intel)
  • Log analysis (errors, OOM events, kernel panics)
  • Multiple Output Formats
  • Terminal (colored ANSI)
  • HTML (dark theme, standalone)
  • JSON (for scripting/monitoring)
  • Markdown
  • Continuous Streaming
  • Stream data per collector as JSONL
  • Configurable intervals
  • Stop conditions: cycle count or duration
  • Collector filtering
  • Issue Detection
  • Automatic problem detection with severity levels
  • Actionable fix recommendations
  • MCP Server Integration
  • Run as Model Context Protocol (MCP) server
  • Integrate with Claude Code
  • 14 tools for querying system state
  • HTTP Server Mode
  • REST API endpoints
  • Prometheus metrics
  • Web dashboard

Quick Start

Download

# Download the latest release (Go version)
curl -LO https://github.com/reza-ebrahimi/machinestate/releases/latest/download/machinestate-go-linux-amd64
chmod +x machinestate-go-linux-amd64
sudo mv machinestate-go-linux-amd64 /usr/local/bin/machinestate

Build from Source

Go:

cd go/
go build -o machinestate .
sudo cp machinestate /usr/local/bin/

Zig:

cd zig/
zig build -Doptimize=ReleaseFast
sudo cp zig-out/bin/machinestate /usr/local/bin/

Docker

# Build and run Go version
docker build -f Dockerfile.go -t machinestate:go .
docker run -d -p 8080:8080 -v /proc:/host/proc:ro -v /sys:/host/sys:ro machinestate:go

# Or use docker-compose (runs both on ports 8080 and 8081)
docker-compose up -d

Usage

# Generate terminal report (default)
machinestate

# Generate HTML report
machinestate --format html > report.html

# Generate JSON output
machinestate --format json | jq '.issues'

# Stream JSONL output
machinestate --stream

# Run HTTP server
machinestate --http 8080

# Run as MCP server (for Claude Code)
machinestate --mcp

Options

| Flag | Description | | -------------- | ------------------------------------------------------------ | | --format | Output format: terminal, html, json, markdown, all | | --output | Output file path | | --stream | Enable continuous streaming mode (JSONL) | | --interval | Streaming interval in seconds (default: 5) | | --duration | Max streaming duration in seconds | | --count | Number of streaming cycles | | --collectors | Comma-separated collectors to stream | | --config | Path to YAML config file | | --http | Run HTTP server on port | | --mcp | Run as MCP server | | --version | Show version |

HTTP Server

machinestate --http 8080

| Endpoint | Description | | -------------- | -------------------------------- | | / | Web dashboard (auto-refresh 30s) | | /health | Health check | | /api/report | Full system report JSON | | /api/issues | Detected issues | | /api/system | CPU, memory, load | | /api/disk | Filesystem usage | | /api/network | Interfaces, ports | | /metrics | Prometheus format |

MCP Server (Claude Code)

# Add to Claude Code
claude mcp add-json machinestate '{"type":"stdio","command":"/path/to/machinestate","args":["--mcp"]}'

Available tools: get_system_report, get_issues, get_system_info, get_disk_info, get_network_info, get_package_info, get_service_info, get_security_info, get_hardware_info, get_docker_info, get_snap_info, get_gpu_info, get_log_info, stream_system_report

Configuration

Create ~/.config/machinestate/config.yaml:

disk_warning_percent: 80
disk_critical_percent: 90
memory_warning_percent: 90
battery_health_warning: 80
battery_health_critical: 50
uptime_warning_days: 30
gpu_temp_warning: 80
gpu_temp_critical: 90

System Requirements

  • OS: Linux (any distribution with systemd)
  • Tested on: Ubuntu, Debian, Fedora, Arch Linux
  • Optional tools: apt, snap, docker, nvidia-smi, journalctl

The tool gracefully degrades when optional tools are unavailable.

Performance

| Metric | Go | Zig | | ---------------- | ------ | ------- | | Binary Size | 11 MiB | 4.6 MiB | | Startup Time | 4.0 ms | 0.79 ms | | Full Report | ~4.2 s | ~3.1 s |

Most execution time is spent on CPU sampling and external commands.

Development

make all          # Build both implementations
make test         # Run tests
make validate     # Validate JSON output against schema
make benchmark    # Run performance benchmarks
make docker-build # Build Docker images

License

[MIT License](LICENSE) - Copyright (c) 2026 Reza Ebrahimi

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.