A daemon that accepts requests from MCP clients to start dev servers, allocating unique ports to avoid collisions and shutting down idle connections after 120s of inactivity.
--idle-timeout)Requirements: Node.js >= 18
The recommended way to use dev-manager-mcp is via npx:
Make sure the daemon is running in a terminal somewhere:
npx -y dev-manager-mcp
Add this MCP config to your coding CLI:
{
"mcpServers": {
"dev-manager": {
"command": "npx",
"args": ["dev-manager-mcp", "stdio"]
}
}
}
Finally, ask your coding CLI to start a dev server. You should see it use the MCP server.
startStart a development server. Auto-generates a unique 4-character session key.
Parameters:
- command (string): Shell command to execute (e.g., "npm run dev", "python -m http.server 8080")
- cwd (optional string): Working directory for the command. When using STDIO transport, defaults to client's working directory.
Returns:
{
"status": "started",
"port": 3010,
"session_key": "A3X9"
}
stopStop a running development server session.
Parameters:
- session_key (string): Session identifier
Returns:
{
"status": "stopped",
"session_key": "A3X9"
}
statusGet status of one or all development server sessions.
Parameters:
- session_key (optional string): Specific session to query, or omit for all sessions
Returns:
{
"sessions": [
{
"session_key": "B7K2",
"port": 3010,
"running": true
}
]
}
tailGet stdout/stderr logs for a development server session.
Parameters:
- session_key (string): Session identifier (e.g., "A3X9")
Returns:
{
"session_key": "A3X9",
"stdout": "Server started on port 3010...",
"stderr": ""
}
Arc<Manager> shared across all client connectionsDevManagerService instancenpx -y dev-manager-mcp daemonIf you prefer to build from source or need offline/advanced usage:
cargo build --release
The binary will be at target/release/dev-manager-mcp.
To use the built binary, replace npx dev-manager-mcp with ./target/release/dev-manager-mcp in all examples above.
MIT
$ claude mcp add dev-manager-mcp \
-- python -m otcore.mcp_server <graph>