Releases: TadMSTR/pm2-mcp
Releases · TadMSTR/pm2-mcp
Release list
v0.4.0
What's Changed
- Baseline → Showcase: lint, enforced coverage, mutation pilot, buildable package, docs by @TadMSTR in #7
- Make shadow logging reach disk (#772), add real argv bind support (#770) by @TadMSTR in #9
Full Changelog: v0.3.2...v0.4.0
v0.3.2
v0.3.1
[0.3.1] — 2026-07-16
Fixed
_run_pm2: stripNODE_CHANNEL_FD,NODE_CHANNEL_SERIALIZATION_MODE, andNODE_UNIQUE_IDfrom the subprocess environment before invoking thepm2CLI. PM2 injects these for its own IPC channel; leaking them into a spawnedpm2(Node.js) child causes a SIGABRT during teardown. (PM2-1, sibling to HLOPS-1)
v0.2.0 — Showcase Polish
What's New
Four new tools, env var entry point, and expanded test coverage.
Added
reload_service— graceful zero-downtime reload viapm2 reload. Preferred overrestart_servicefor production services.save— persists the PM2 process list to disk after write operationsflush_logs— clears log files for a named serviceget_status— server metadata and PM2 health summary (host, port, PM2 version, service counts by status)- GitHub Actions CI: Python 3.11/3.12/3.13 test matrix +
pip-auditdependency audit - Input validation:
_VALID_STATUS_FILTERSallowlist inlist_services, 500-line cap inget_logs
Changed
- Entry point switched from argparse flags to env vars (
MCP_HOST,MCP_PORT) — defaults unchanged (127.0.0.1:8486).ecosystem.config.jsis now the recommended setup path. - Pinned
fastmcp>=3.2.4(path traversal CVE fix)
Migration
If you were using pm2 start server.py -- --host 127.0.0.1 --port 8486, switch to:
MCP_HOST=127.0.0.1 MCP_PORT=8486 pm2 start server.py --interpreter python3 --name pm2-mcpOr use ecosystem.config.js — see README for the recommended snippet.