Repository navigation
1.0.0
Keeps your MCP servers alive across editor restarts, reboots, and token expiry.MCP hosts run stdio servers as child processes, so when the host restarts, crashes, or exits — which every one-shot CLI run does — those servers die. mcp-pacemaker runs them as children of a small, long-lived bridge and exposes each over HTTP+SSE and Streamable HTTP, so hosts reconnect instead of respawning, and several hosts share the same warm, authenticated servers.## Getting started```bashnpm i -g github:girishkvs/mcp-pacemakermcp-pacemaker init````initdetects the MCP hosts you have installed, imports the servers already configured in them, rewires each host to the bridge, registers OS auto-start, and starts it. Every config file is backed up first,plan` shows the changes before anything is written, and `uninstall` restores them.## Highlights- Zero dependencies in the bridge. The long-running process pulls in nothing; the setup CLI is separate.- Seven hosts supported — VS Code, Cursor, Claude Desktop, Claude Code, Copilot CLI, Codex CLI, Gemini CLI — each written in its own config format.- Resumable sessions. A session id survives the bridge restarting, a recycle, or an idle reap: the bridge replays the client's `initialize` against a fresh server, so the client keeps the id it already holds. This is what makes idle reaping and scheduled recycle safe to run by default.- Pluggable auth. `command` runs anything that prints a token (az, gcloud, Vault, 1Password, a shell script) and caches it with proactive refresh; `env`, `static` and `none` are also supported. For servers where the client authenticates, the bridge relays OAuth discovery and challenges.- Auto-start and supervision on Windows, macOS and Linux, with a supervisor that restarts the bridge if it exits.- Dashboards and an HTTP API — a web UI at `/ui`, a terminal UI via `top`, and JSON/SSE endpoints for scripting.- Warm pooling, session caps with queueing, idle reaping, and scheduled recycle for servers holding a credential they can only refresh interactively.## A note on 1.0.0This starts at 1.0.0 rather than 0.x because the bridge, its config format and its HTTP surface were shaken out against a live 15-server setup used daily, not only a test suite. The `Hardening` section of the CHANGELOG lists the defects that came out of that — process-tree teardown on Windows, keep-alive socket lifetimes, empty token caching, and several others that are traps for anyone building something similar.Tested on Linux, macOS and Windows against Node 20 and 22.Full notes: CHANGELOG.md
Full changelog
https://github.com/girishkvs/mcp-pacemaker/blob/main/CHANGELOG.md