Skip to main content

MeshPOP Fleet Orchestration - installs Go binary

Project description

mpop

PyPI

Server fleet management CLI - Go binary installer

pip install meshpop
mpop  # Auto-downloads Go binary on first run

This package automatically downloads and installs the native Go binary for your platform. Python License: MIT

Server fleet management from one command. Monitor, execute, and heal with AI.

pip install meshpop

Pure Python. No external dependencies. Linux and macOS.


What mpop does

mpop                   # Fleet dashboard — all servers at a glance
mpop heal              # Auto-detect and fix issues across the fleet
mpop exec web1 "systemctl restart nginx"
mpop ask "which server is running low on disk?"

mpop gives you a single place to see and manage your entire server fleet. It uses a lightweight gossip agent (port 8721) that runs on each server, collects local stats, and shares them with peers every 30 seconds.

┌──────────────────────────────────────────┐
│  mpop CLI / MCP  (your machine or AI)    │
└──────────────────┬───────────────────────┘
                   │  HTTP :8721
      ┌────────────┼────────────┐
      │            │            │
┌─────▼─────┐ ┌───▼─────┐ ┌───▼─────┐
│  agent    │ │  agent  │ │  agent  │
│  web1     │ │  web2   │ │  db1    │
└─────┬─────┘ └────┬────┘ └────┬────┘
      └────────────┴────────────┘
        gossip every 30s

Installation

pip install meshpop

Configure your servers

Create ~/.mpop/config.json:

{
  "connection": {"vpn": "wire", "ssh_method": "vssh"},
  "relays": ["YOUR_RELAY_IP"],
  "servers": {
    "web1": {"ip": "10.99.0.10", "user": "root", "role": "Web server", "public_ip": "203.0.113.10"},
    "web2": {"ip": "10.99.0.11", "user": "root", "role": "Web server", "public_ip": "203.0.113.11"},
    "db1":  {"ip": "10.99.0.20", "user": "root", "role": "Database",   "public_ip": "203.0.113.20"}
  }
}

Deploy the agent

mpop setup web1     # Install and start the monitoring agent
mpop setup web2
mpop setup db1
mpop servers        # Verify all agents are online

The agent runs as a systemd service — ~10MB RAM, negligible CPU.


CLI Reference

Monitoring

mpop                       # Main fleet dashboard
mpop servers               # List servers with IPs, roles, agent status
mpop info web1             # Deep dive — CPU, GPU, processes, security
mpop full                  # Comprehensive report with AI summary
mpop watch                 # Real-time monitoring with anomaly alerts
mpop temp                  # CPU/GPU temperatures
mpop gpu                   # GPU status — VRAM, utilization, processes
mpop services              # Running services on each server
mpop logs web1 nginx        # View logs
mpop trend                 # Historical trends
mpop matrix                # Server-to-server connectivity matrix
mpop diff web1 web2        # Compare two servers side-by-side

Network profiles

Manage multiple wire VPN networks (main fleet, private cluster, etc.):

mpop network               # Show active network + connection status
mpop network list          # List saved profiles
mpop network create        # Create a profile from a relay (auto-discovers peers)
mpop network switch main   # Switch to 'main' profile
mpop network save main     # Save current config as 'main'

Profiles: ~/.mpop/networks/<name>.json · Active: ~/.mpop/.active_network

Security

mpop security              # Security overview — firewall, fail2ban, SSH
mpop audit web1            # Detailed security audit
mpop ssh-attacks           # SSH attack analysis — top IPs, geo distribution

Remote execution

mpop exec web1 "df -h"
mpop exec web1 "systemctl restart nginx"
mpop python web1 "import os; print(os.uname())"
mpop read-file web1 /etc/nginx/nginx.conf
mpop scp ./config.json web1 /etc/app/config.json

AI diagnostics

mpop heal                         # Detect and suggest fixes
mpop heal web1 --execute          # Detect and apply fixes
mpop predict web1                 # Predict future issues (disk, memory)
mpop advise                       # Infrastructure optimization recommendations
mpop logai                        # AI cross-server log analysis
mpop ask "which server is low on disk?"
mpop ask "restart nginx on all web servers" --execute

NAS

mpop nas-ls /backups
mpop nas-read /backups/latest.log
mpop nas-backup web1 /var/data /backups/web1
mpop nas-usage /backups

Agents & automation

mpop agent-make --name disk-watcher \
  --behavior "Alert when any server disk exceeds 80%"
mpop agent-deploy disk-watcher web1 web2 db1
mpop agent-run disk-watcher

AI Management via MCP

{
  "mcpServers": {
    "mpop": { "command": "mpop-mcp" }
  }
}

"Show me the fleet dashboard" "Which servers are running low on disk?" "Restart nginx on all web servers" "Run a security audit on db1" "Predict which servers might have issues this week"

MCP Tools

Monitoring
Tool Description
mpop_dashboard Main fleet dashboard
mpop_servers List servers
mpop_info Deep server details
mpop_full Comprehensive report
mpop_watch Real-time monitoring
mpop_temp Temperatures
mpop_gpu GPU status
mpop_services Running services
mpop_logs Server logs
mpop_trend Historical trends
mpop_matrix Connectivity matrix
mpop_diff Side-by-side comparison
Execution & Files
Tool Description
mpop_exec Run shell command
mpop_python Run Python code
mpop_raw Raw CLI with pipes
mpop_read_file Read file
mpop_write_file Write file
mpop_scp Transfer file
AI & Diagnostics
Tool Description
mpop_heal Auto-detect and fix issues
mpop_predict Predict future problems
mpop_advise Optimization recommendations
mpop_logai AI log analysis
mpop_ask Natural language → commands
mpop_ai Trend analysis
Security
Tool Description
mpop_security Security overview
mpop_audit Detailed audit
mpop_ssh_attacks SSH attack analysis

MeshPOP Stack

mpop     Fleet orchestration — monitor, manage, automate  ← this
vssh     Authenticated transport — remote exec, file transfer
wire     Encrypted mesh VPN — connects all nodes
Package Role Install
wire Mesh VPN pip install meshpop-wire
vssh Transport pip install vssh
mpop Orchestration pip install meshpop
meshclaw Agent workflows pip install meshclaw
meshdb Distributed search pip install meshpop-db

License

MIT — MeshPOP

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meshpop-5.1.0.tar.gz (294.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

meshpop-5.1.0-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file meshpop-5.1.0.tar.gz.

File metadata

  • Download URL: meshpop-5.1.0.tar.gz
  • Upload date:
  • Size: 294.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for meshpop-5.1.0.tar.gz
Algorithm Hash digest
SHA256 b419682120c4597178e19d0f76f5f63e0b97b43a70ad94083e1a48ad87eec4be
MD5 5bdd4c544e3a8d872fce7c0dac8a4303
BLAKE2b-256 5d0c426bee7c844e38ef925640941c8b7d76056a12867a98cff41fa60136b119

See more details on using hashes here.

File details

Details for the file meshpop-5.1.0-py3-none-any.whl.

File metadata

  • Download URL: meshpop-5.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for meshpop-5.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 73fb99e1149e9360600a72257d904a64181bbd74bef367609176b1d7e7833858
MD5 b9821df953e9faa48129c373a93e0d8e
BLAKE2b-256 4dbf86462a3dc80f8178f34c05f4b8fe89ad09df462ae22cbeff4238a3e334e9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page