
MCP Sidecar
If you've ever tried to get Claude to start a dev server, wait for it to initialize, then make requests against it, you've hit the long-running process problem. This server solves it by exposing six process management tools over MCP: start, stop, list, output, send, and status. It's a single Go binary with no runtime dependencies that manages background processes while your AI agent continues working. Use it when you need watch mode builds, test databases that need setup and teardown, or any API server that has to stay alive across multiple agent interactions. Includes output buffering, auto-cleanup of dead processes, and optional security controls with executable allowlists and command pattern blocking. Works with Claude Desktop, Cursor, VS Code, and any other MCP-compatible client.
- tools
- 6
- transport
- STDIO
- env vars
- 8
- last updated
- Jun 2, 2026
Tools
6 toolsPublic tool metadata for what this MCP can expose to an agent.
startSpawn a background process
Spawn a background process
No parameter schema in public metadata yet.
stopTerminate a process (graceful, then force)
Terminate a process (graceful, then force)
No parameter schema in public metadata yet.
listList all managed processes
List all managed processes
No parameter schema in public metadata yet.
outputGet buffered stdout/stderr
Get buffered stdout/stderr
No parameter schema in public metadata yet.
sendWrite to a process's stdin
Write to a process's stdin
No parameter schema in public metadata yet.
statusGet detailed state of one process
Get detailed state of one process
No parameter schema in public metadata yet.
Sponsors
Configuration
SIDECAR_MAX_PROCESSESMaximum number of concurrent managed processes (default: 10)
SIDECAR_BUFFER_SIZEOutput buffer size per stream in bytes (default: 1048576)
SIDECAR_KILL_TIMEOUTMilliseconds to wait between graceful and forced termination (default: 5000)
SIDECAR_CLEANUP_AFTERSeconds before exited processes are auto-removed. 0 disables cleanup (default: 1800)
SIDECAR_MAX_OUTPUT_SIZEGlobal cap on bytes returned by the output tool. 0 means unlimited (default: 0)
SIDECAR_ALLOWED_EXECUTABLESComma-separated allowlist of executable names. When set, enables security mode with direct exec (no shell). Unset means security disabled.
SIDECAR_BLOCKED_PATTERNSComma-separated regex patterns to reject in commands. Only applies when security is enabled.
SIDECAR_AUDIT_LOGAudit log destination. 'true' writes to cwd, 'temp' writes to OS temp dir, or a directory path. Unset disables audit logging.
Readme
mcp-sidecar
A lightweight, cross-platform MCP server for managing background processes. Built in Go for single-binary distribution with zero runtime dependencies.
Why?
AI coding agents (Claude Code, Gemini CLI, Cursor, etc.) lack the ability to run long-lived processes while continuing to interact with them. Common workflows affected:
- Start an API server, wait for it to be ready, then run HTTP requests against it
- Run a build in watch mode while editing code
- Start a database, seed it, run tests, tear it down
mcp-sidecar solves this by exposing process lifecycle management as MCP tools over stdio transport.
Features
- Cross-platform -- Windows, Linux, macOS from a single codebase
- Zero dependencies -- Single Go binary, no runtime required
- Minimal surface -- 6 tools, no unnecessary complexity
- Reliable cleanup -- All child processes are terminated when the server exits; exited processes are auto-removed after a configurable TTL
- Output control -- Per-request
maxBytesand globalSIDECAR_MAX_OUTPUT_SIZEto cap output returned to the LLM - Command security -- Optional executable allowlist, blocked patterns, and audit logging
Details
- Repository
- github.com/lsequeiraa/mcp-sidecar
- Package
mcp-sidecar- Transport
- STDIO
- Registry
- MCP registry, active