Hot Module Replacement (HMR) for MCP (Model Context Protocol) servers - instant reloading on file changes
概览
Make changes to your MCP server code and see them instantly without restarting your MCP client. Just like nodemon automatically restarts Node.js applications, mcpmon automatically restarts MCP servers. mcpmon is a that sits between your MCP client (Claude Code, Claude Desktop, MCP Inspector, etc.) and your MCP server. When you modify your server code, mcpmon automatically restarts the server while keeping your client connected. - - Simple command-line interface you already know - - Just wrap your server command with mcpmon - - Your MCP client stays connected while your server reloads - - Requests are buffered during server restart - - Works with any MCP server (Node.js, Python, Deno, etc.) - - Import as a dependency for custom monitoring solutions Setup automatically configures your existing MCP servers for hot-reload! ✨ That's it! Your MCP server now has hot-reload enabled. Edit your server code and changes apply instantly.
README
以下为原文 README 节选,完整内容请查看原文。
mcpmon
Hot-reload monitor for MCP servers - like nodemon but for Model Context Protocol
Make changes to your MCP server code and see them instantly without restarting your MCP client. Just like nodemon automatically restarts Node.js applications, mcpmon automatically restarts MCP servers.
What it is
mcpmon is a transparent proxy that sits between your MCP client (Claude Code, Claude Desktop, MCP Inspector, etc.) and your MCP server. When you modify your server code, mcpmon automatically restarts the server while keeping your client connected.
Key benefits:
- Like nodemon, but for MCP - Simple command-line interface you already know
- Zero configuration - Just wrap your server command with mcpmon
- Non-disruptive development - Your MCP client stays connected while your server reloads
- Zero message loss - Requests are buffered during server restart
- Universal compatibility - Works with any MCP server (Node.js, Python, Deno, etc.)
- Library support - Import as a dependency for custom monitoring solutions
Quick Start
-
Install globally:
npm install -g mcpmon -
Use with your MCP server:
# Instead of: node server.js mcpmon node server.js # Instead of: python server.py mcpmon python server.py # Instead of: deno run --allow-all server.ts mcpmon deno run --allow-all server.ts -
Use with MCP clients:
# MCP Inspector npx @modelcontextprotocol/inspector mcpmon node server.js # For existing Claude Code/Desktop servers, use setup: mcpmon setup my-serverSetup automatically configures your existing MCP servers for hot-reload! ✨
That’s it! Your MCP server now has hot-reload enabled. Edit your server code and changes apply instantly.
Usage Examples
Basic Usage
# Node.js server
mcpmon node server.js
# Python server
mcpmon python -m mcp_server
# Python with args
mcpmon python server.py --port 3000
# Deno server
mcpmon deno run --allow-all server.ts
# With debugging
mcpmon node --inspect server.js
With MCP Inspector
# Direct command
npx @modelcontextprotocol/inspector mcpmon node server.js
# With environment variables
API_KEY=your-key npx @modelcontextprotocol/inspector mcpmon node server.js
With Claude Code or Claude Desktop
Easiest way: Use the automatic setup command for existing servers:
# Setup hot-reload for an existing server
mcpmon setup my-server
# Setup all stdio servers for hot-reload
mcpmon setup --all
# List available servers
安装
npx @modelcontextprotocol/inspector mcpmon node server.js配置
{
"mcpServers": {
"my-server": {
"command": "mcpmon",
"args": ["node", "server.js"],
"env": {
"API_KEY": "your-key"
}
}
}
}