lsequeiraa avatar

MCP Sidecar

lsequeiraa/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 tools

Public 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_PROCESSES

Maximum number of concurrent managed processes (default: 10)

SIDECAR_BUFFER_SIZE

Output buffer size per stream in bytes (default: 1048576)

SIDECAR_KILL_TIMEOUT

Milliseconds to wait between graceful and forced termination (default: 5000)

SIDECAR_CLEANUP_AFTER

Seconds before exited processes are auto-removed. 0 disables cleanup (default: 1800)

SIDECAR_MAX_OUTPUT_SIZE

Global cap on bytes returned by the output tool. 0 means unlimited (default: 0)

SIDECAR_ALLOWED_EXECUTABLES

Comma-separated allowlist of executable names. When set, enables security mode with direct exec (no shell). Unset means security disabled.

SIDECAR_BLOCKED_PATTERNS

Comma-separated regex patterns to reject in commands. Only applies when security is enabled.

SIDECAR_AUDIT_LOG

Audit 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 maxBytes and global SIDECAR_MAX_OUTPUT_SIZE to cap output returned to the LLM
  • Command security -- Optional executable allowlist, blocked patterns, and audit logging

View the full README on GitHub

Details

Repository
github.com/lsequeiraa/mcp-sidecar
Package
mcp-sidecar
Transport
STDIO
Registry
MCP registry, active