Skip to content

1.0.0

Choose a tag to compare

@girishkvs girishkvs released this 31 Aug 07:22
· 13 commits to main since this release

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