Open source · MIT License

Your servers,
one command away.

Monitor, deploy, connect, and search across your entire fleet. Mesh VPN, instant SSH, distributed code search — all from one CLI.

curl -fsSL mpop.dev/install | bash

Linux & macOS · No root required · ~30 seconds

Toolchain

Five integrated tools that communicate through the Wire mesh VPN.

All Tools
ToolDescriptionTypeInstall
mpop
Fleet Manager
Monitor CPU, memory, GPU, services, logs, and run security audits across all servers.CLI
$ pip install meshpop
Wire
Mesh Network
WireGuard-based mesh VPN with NAT traversal, auto-discovery, and relay fallback.VPN
$ mpop.dev/wire
vssh
Secure Shell
High-speed SSH & file transfer over mesh. 50+ MB/s, P2P tunnels, port forwarding.SSH
$ mpop.dev/vssh
MeshDB
Code Search
Distributed full-text code search with BM25 ranking and semantic embeddings.Search
$ mpop.dev/meshdb
Agent
Remote Exec
Lightweight agent for metrics collection, health checks, and remote command execution.Agent
$ mpop.dev/agent

Architecture

All tools communicate through the Wire mesh VPN. No public IP required — every server is one hop away.

Network Topology
┌────────────────────────────┐ │ mpop Control Plane │ │ Dashboard · CLI · API │ └─────────────┬──────────────┘ │ ┌──────────────────┼──────────────────┐ │ │ │ ┌─────┴─────┐ ┌──────┴──────┐ ┌──────┴──────┐ │ Wire VPN │ │ vssh │ │ MeshDB │ │ Mesh Net │ │ SSH/SFTP │ │ Search │ └─────┬─────┘ └──────┬──────┘ └──────┬──────┘ │ │ │ ┌─────┼──────┬───────┬──┴──┬────────┬───────┤ │ │ │ │ │ │ │ [web] [gpu] [app] [nas] [cdn] [dev] [...] ↕ ↕ ↕ ↕ ↕ ↕ ↕ agent agent agent agent agent agent agent

Zero-config VPN

WireGuard mesh with NAT traversal. Connect any machine in seconds.

Instant fleet search

Full-text code search across all servers in under 1 second.

50+ MB/s transfers

P2P file transfer through the mesh. No speed limits.

Auto-healing agents

AI-powered diagnostics and predictions.

Dashboard
Loading...
-
Online
-
VPN Peers
-
Avg Load
-
Avg Memory
Machines
auto-refresh 30s
Loading server data...
Status
Loading...
mpop

Unified CLI for server fleet monitoring, security auditing, AI diagnostics, and remote execution.

Installation

# One-line install (Linux & macOS) $ curl -fsSL mpop.dev/install | bash # Or via pip $ pip install meshpop # Verify $ mpop --version

Requires Python 3.8+. Compatible with Linux, macOS, and WSL.

Getting Started

After installation, run mpop config auto to auto-detect servers on your Wire VPN mesh.

# Auto-discover servers $ mpop config auto # View all servers at a glance $ mpop dash # Deep dive into a specific server $ mpop info g1 # Run a command on all servers $ mpop exec "uptime"

Key Commands

CommandDescription
mpop dashDashboard — CPU, memory, disk, uptime for all servers
mpop info [server]Detailed info — GPU, processes, security status
mpop exec "cmd"Run shell command on all or specific servers
mpop servicesCheck running services (nginx, docker, ollama, etc.)
mpop logs [server]View server logs — auth, nginx, system
mpop securitySecurity overview — firewall, fail2ban, open ports
mpop audit [server]Deep security audit — SSH attack analysis
mpop gpuGPU status — VRAM, utilization, processes
mpop tempCPU/GPU temperatures across all servers
mpop matrixServer-to-server connectivity test
mpop diff s1 s2Side-by-side comparison of two servers
mpop trendHistorical resource trends (24h)
mpop heal [server]AI auto-diagnosis and fix suggestions
mpop predict [server]Predict future issues — disk full, memory pressure
mpop notify slack "msg"Notification via Slack, Discord, Telegram, email

MCP Integration (Claude Code)

mpop includes an MCP server that lets Claude Code directly manage your servers.

# Add to Claude Code settings or claude_desktop_config.json { "mcpServers": { "mpop": { "command": "mpop", "args": ["mcp"] } } }

Once configured, Claude can check server health, run remote commands, diagnose issues, and manage agents through natural conversation.

Wire

WireGuard-based mesh VPN with NAT traversal, auto-discovery, and relay fallback. The network backbone of the entire mpop ecosystem.

Installation

# Install WireGuard first (if not installed) $ sudo apt install wireguard # Ubuntu/Debian $ brew install wireguard-tools # macOS # Install Wire $ curl -fsSL mpop.dev/wire | bash # Connect to the mesh $ wire connect http://your-server:8786 # Check status $ wire status

Why VPS over Laptop?

Important: You can start on a single laptop for testing, but for production use, at least one VPS (relay node) is strongly recommended.

Wire works on any machine — a laptop, Raspberry Pi, or VPS. But for a reliable mesh network, a VPS provides critical advantages:

  • Always-on connectivity — Laptops sleep, lose Wi-Fi, or get closed. A VPS runs 24/7, so other nodes can always find each other.
  • Stable public IP — NAT traversal works most of the time, but some networks (corporate firewalls, CGNAT) block P2P connections. A VPS with a public IP acts as a reliable relay.
  • Consistent latency — VPS providers offer low-latency, high-bandwidth connections. Laptop connections vary with Wi-Fi and ISP quality.
  • Central coordination — Wire's discovery server runs best on a VPS. All peers register through it, and the VPS acts as the seed node.
  • Cost is minimal — A $5/month VPS (Vultr, Hetzner, DigitalOcean) is enough. Wire uses less than 50MB of RAM.
Recommended setup: 1 VPS as the relay/coordination server + your laptops, desktops, and other servers joining the mesh as peers.

How It Works

Wire creates a WireGuard mesh where every node can reach every other node. Each node gets a private VPN IP (e.g., 10.99.x.x). The coordination server distributes public keys and endpoints.

NAT Traversal

Wire uses UDP hole-punching for direct P2P connections, even behind NAT. If direct connection fails (symmetric NAT, strict firewall), traffic routes through the relay node automatically.

Watchdog

Built-in watchdog checks VPN connectivity every 5 minutes. If the connection drops, it re-establishes automatically. Install with wire watchdog install.

Key Commands

CommandDescription
wire statusVPN status — running state, connected peers, network info
wire peersList all connected peers with endpoints
wire connect URLJoin a Wire mesh network
wire add-node NAMEAdd a new node to the network
wire remove-node NAMERemove a node from the network
wire watchdogAuto-recovery watchdog status
wire diagnoseDiagnose connectivity issues

MCP Integration (Claude Code)

{ "mcpServers": { "wire": { "command": "wire", "args": ["mcp"] } } }

Claude can check VPN status, list peers, diagnose issues, and manage nodes through natural conversation.

vssh

High-speed SSH and file transfer over the Wire mesh. 50+ MB/s, P2P tunnels, port forwarding — without exposing SSH to the public internet.

Installation

# Install vssh $ curl -fsSL mpop.dev/vssh | bash # Check connection status to all servers $ vssh status

vssh requires Wire to be installed and connected. All connections go through the VPN mesh.

Why vssh?

  • No public SSH exposure — All connections through the Wire mesh. Port 22 stays closed to the internet.
  • Name-based access — Connect by server name (g1, v1) instead of IPs.
  • 50+ MB/s transfers — P2P through WireGuard, bypassing traditional SSH bottlenecks.
  • Built-in sync — Sync files between any two servers without rsync or SCP config.

Key Commands

CommandDescription
vssh statusConnection status to all servers with latency
vssh exec SERVER "cmd"Execute a command on a remote server
vssh put SERVER local remoteUpload a file (50+ MB/s)
vssh get SERVER remote localDownload a file from a server
vssh sync SRC DST pathSync files between two servers
vssh tunnel SERVER LP RPCreate SSH tunnel (port forwarding)
vssh speed-test SERVERTest transfer speed
vssh p2p-statusCheck P2P NAT hole-punch capability
vssh keysManage SSH keys and secrets

Usage Examples

# Run a command on server g1 $ vssh exec g1 "df -h" # Upload a script to v1 $ vssh put v1 ./deploy.sh /opt/scripts/deploy.sh # Download logs from d1 $ vssh get d1 /var/log/app.log ./app.log # Forward remote port 8080 to local 3000 $ vssh tunnel g1 3000 8080 # Sync a directory between servers $ vssh sync g1 g2 /opt/app/

MCP Integration (Claude Code)

{ "mcpServers": { "vssh": { "command": "vssh", "args": ["mcp"] } } }

Claude can execute remote commands, transfer files, create tunnels, and check connectivity through vssh.

MeshDB

Distributed full-text code search across all servers. BM25 ranking, semantic embeddings, parallel execution — typically under 500ms.

Installation

# Install MeshDB $ curl -fsSL mpop.dev/meshdb | bash # Index a local directory $ meshdb index ~/projects # Check index status $ meshdb status

Each server maintains its own local index. Searches query all servers in parallel through the Wire mesh.

Key Commands

CommandDescription
meshdb search "query"Full-text search across all servers (BM25)
meshdb find "filename"Find files by name across all servers
meshdb read SERVER pathRead indexed file contents
meshdb semantic "query"AI semantic search via ChromaDB
meshdb index PATHIndex a directory (local or remote)
meshdb statusIndex status — total docs, types, top directories

Search Syntax

MeshDB uses FTS5 (SQLite full-text search) with powerful operators:

# Basic keyword search $ meshdb search "vpn config" # AND/OR/NOT operators $ meshdb search "vpn AND wireguard NOT tailscale" # Exact phrase $ meshdb search '"mesh network"' # Prefix match $ meshdb search "deploy*" # Filter by server, type, or directory $ meshdb search "api endpoint" --server g1 --type python

Semantic Search

Find code by meaning, not just keywords. Uses ChromaDB embeddings for intelligent matching.

# Find code by meaning $ meshdb semantic "function that retries on network failure" # Requires: pip install chromadb

MCP Integration (Claude Code)

{ "mcpServers": { "meshdb": { "command": "meshdb", "args": ["mcp"] } } }

Claude can search code, find files, read contents, and perform semantic search across your fleet.

Agent

Lightweight daemon for metrics collection, health checks, and remote command execution. Runs on each node to provide real-time status to the mpop control plane.

Installation

# Install agent on a server $ curl -fsSL mpop.dev/agent | bash # Or deploy to all servers via mpop $ mpop setup --component agent --server all # Check agent status $ mpop services

The agent runs as a systemd service and communicates over the Wire mesh VPN.

What the Agent Does

  • Metrics collection — CPU, memory, disk, GPU, temperatures, processes. Reports every 30 seconds.
  • Health checks — Monitors critical services, disk space, detects anomalies.
  • Remote execution — Accepts commands from mpop control plane, authenticated and sandboxed.
  • Auto-healing — Restarts failed services, cleans temp files, rotates logs.
  • Security monitoring — Watches auth logs for brute force, reports firewall and SSH status.

Custom Agents

Create custom automation agents with AI-generated code:

# Create a custom agent $ mpop agent make --name disk-monitor \ --description "Alert when disk > 90%" # Deploy to servers $ mpop agent deploy disk-monitor --servers g1,g2,v1 # Run an agent $ mpop agent run disk-monitor # Chain agents into workflows $ mpop agent workflow create health-check \ --agents check-disk,check-memory,check-services

Agent Lifecycle

Deploy flow: Create → Test locally → Deploy to servers → Schedule or run on demand → Monitor results

Agents can be triggered manually, scheduled via cron, or chained into multi-step workflows. Each agent produces JSON output that pipes into the next agent in a chain.

MCP Integration (Claude Code)

# Agent capabilities are included in the mpop MCP server { "mcpServers": { "mpop": { "command": "mpop", "args": ["mcp"] } } }

Claude can create agents from natural language, deploy them, run them, and chain them into workflows.