MeshPOP Fleet Orchestration - installs Go binary
Project description
mpop
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.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b419682120c4597178e19d0f76f5f63e0b97b43a70ad94083e1a48ad87eec4be
|
|
| MD5 |
5bdd4c544e3a8d872fce7c0dac8a4303
|
|
| BLAKE2b-256 |
5d0c426bee7c844e38ef925640941c8b7d76056a12867a98cff41fa60136b119
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73fb99e1149e9360600a72257d904a64181bbd74bef367609176b1d7e7833858
|
|
| MD5 |
b9821df953e9faa48129c373a93e0d8e
|
|
| BLAKE2b-256 |
4dbf86462a3dc80f8178f34c05f4b8fe89ad09df462ae22cbeff4238a3e334e9
|