Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Cross-platform MCP server for managing long-lived background processes from any MCP client
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
SIDECAR_MAX_PROCESSES, SIDECAR_BUFFER_SIZE, SIDECAR_KILL_TIMEOUT, SIDECAR_CLEANUP_AFTER, SIDECAR_MAX_OUTPUT_SIZE, SIDECAR_ALLOWED_EXECUTABLES, SIDECAR_BLOCKED_PATTERNS, SIDECAR_AUDIT_LOG必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"sidecar": {
"command": "npx",
"args": [
"-y",
"mcp-sidecar"
],
"env": {
"SIDECAR_MAX_PROCESSES": "your-value",
"SIDECAR_BUFFER_SIZE": "your-value",
"SIDECAR_KILL_TIMEOUT": "your-value",
"SIDECAR_CLEANUP_AFTER": "your-value",
"SIDECAR_MAX_OUTPUT_SIZE": "your-value",
"SIDECAR_ALLOWED_EXECUTABLES": "your-value",
"SIDECAR_BLOCKED_PATTERNS": "your-value",
"SIDECAR_AUDIT_LOG": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add sidecar --env SIDECAR_MAX_PROCESSES=your-value --env SIDECAR_BUFFER_SIZE=your-value --env SIDECAR_KILL_TIMEOUT=your-value --env SIDECAR_CLEANUP_AFTER=your-value --env SIDECAR_MAX_OUTPUT_SIZE=your-value --env SIDECAR_ALLOWED_EXECUTABLES=your-value --env SIDECAR_BLOCKED_PATTERNS=your-value --env SIDECAR_AUDIT_LOG=your-value -- npx -y mcp-sidecar動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"sidecar": {
"command": "npx",
"args": [
"-y",
"mcp-sidecar"
],
"env": {
"SIDECAR_MAX_PROCESSES": "your-value",
"SIDECAR_BUFFER_SIZE": "your-value",
"SIDECAR_KILL_TIMEOUT": "your-value",
"SIDECAR_CLEANUP_AFTER": "your-value",
"SIDECAR_MAX_OUTPUT_SIZE": "your-value",
"SIDECAR_ALLOWED_EXECUTABLES": "your-value",
"SIDECAR_BLOCKED_PATTERNS": "your-value",
"SIDECAR_AUDIT_LOG": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"sidecar": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-sidecar"
],
"env": {
"SIDECAR_MAX_PROCESSES": "your-value",
"SIDECAR_BUFFER_SIZE": "your-value",
"SIDECAR_KILL_TIMEOUT": "your-value",
"SIDECAR_CLEANUP_AFTER": "your-value",
"SIDECAR_MAX_OUTPUT_SIZE": "your-value",
"SIDECAR_ALLOWED_EXECUTABLES": "your-value",
"SIDECAR_BLOCKED_PATTERNS": "your-value",
"SIDECAR_AUDIT_LOG": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
SIDECAR_MAX_PROCESSES envSIDECAR_BUFFER_SIZE envSIDECAR_KILL_TIMEOUT envSIDECAR_CLEANUP_AFTER envSIDECAR_MAX_OUTPUT_SIZE envSIDECAR_ALLOWED_EXECUTABLES envSIDECAR_BLOCKED_PATTERNS envSIDECAR_AUDIT_LOG envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント lsequeiraa で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.3.2)がレジストリに届いたのは5 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, FactLot
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Cited CRE facts and deterministic calculators for agents: rent, CAM, debt sizing, IRR, parcel IDs.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
A lightweight, cross-platform MCP server for managing background processes. Built in Go for single-binary distribution with zero runtime dependencies.
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:
mcp-sidecar solves this by exposing process lifecycle management as MCP tools over stdio transport.
maxBytes and global SIDECAR_MAX_OUTPUT_SIZE to cap output returned to the LLMThe fastest way to install mcp-sidecar into any supported coding agent:
# Interactive -- detects installed agents and lets you pick
npx add-mcp mcp-sidecar
npx add-mcp mcp-sidecar -a claude-code npx add-mcp mcp-sidecar -a cursor npx add-mcp mcp-sidecar -a vscode
npx add-mcp mcp-sidecar --all
Supported agents: Claude Code, Codex, Cursor, VS Code, Gemini CLI, OpenCode, Zed, Goose, Cline, and more. See add-mcp for the full list.
Claude Code:
claude mcp add sidecar -- npx -y mcp-sidecar
opencode (~/.config/opencode/opencode.json):
{
"mcp": { "sidecar": { "type": "local", "command": ["npx", "-y", "mcp-sidecar"], "enabled": true } } }
Generic (mcp.json):
{
"mcpServers": { "sidecar": { "command": "npx", "args": ["-y", "mcp-sidecar"] } } }
go install github.com/lsequeiraa/mcp-sidecar@latest
Pre-built binaries are also available on GitHub Releases for windows/amd64, linux/amd64, darwin/arm64, and darwin/amd64.
| Tool | Description | Parameters | Returns |
|---|---|---|---|
start | Spawn a background process | command, name?, cwd?, env? | { id, name, pid } |
stop | Terminate a process (graceful, then force) | id | { id, exitCode, uptime } |
list | List all managed processes | -- | [{ id, name, pid, state, uptime }] |
output | Get buffered stdout/stderr | id, tail?, maxBytes? | { stdout, stderr, uptime } |
send | Write to a process's stdin | id, input | { ok } |
status | Get detailed state of one process | id | { id, name, pid, state, exitCode, uptime, outputSize } |
The uptime field reflects actual runtime: for running processes it's the time since start; for exited processes it's the time the process was alive (not the time since start).
The output tool's maxBytes parameter caps the total bytes of stdout+stderr combined. When both tail and maxBytes are provided, tail selects lines first, then maxBytes caps the byte size of the result. When the output exceeds the limit, the most recent content is kept and stderr is prioritized. Truncation preserves line boundaries. When output is truncated, the response includes "truncated": true and "totalBytes" indicating the original size.
| State | Meaning |
|---|---|
running | Process is alive |
exited | Process terminated normally |
failed | Process terminated with non-zero exit code |
killed | Process was stopped via the stop tool |
A typical session where an agent starts an API server, waits for it to be ready, tests it, and tears it down:
1. start { command: "dotnet run --project MyApi", name: "api" }
→ { id: "sc-a1b2c3", name: "api", pid: 12345 }
The agent uses its native shell for short-lived commands (curl, build tools, etc.) and mcp-sidecar for processes that need to stay alive across multiple tool calls.
All configuration is via environment variables (all optional):
| Variable | Default | Description |
|---|---|---|
SIDECAR_MAX_PROCESSES | 10 | Maximum concurrent processes |
SIDECAR_BUFFER_SIZE | 1048576 (1MB) | Output buffer size per process in bytes |
SIDECAR_KILL_TIMEOUT | 5000 | Milliseconds to wait between SIGTERM and SIGKILL |
SIDECAR_CLEANUP_AFTER | 1800 (30 min) | Seconds before exited processes are auto-removed. 0 = disabled |
SIDECAR_MAX_OUTPUT_SIZE | 0 (unlimited) | Global cap on bytes returned by the output tool. 0 = no limit |
SIDECAR_ALLOWED_EXECUTABLES | -- | Comma-separated allowlist of executables (enables secure mode) |
SIDECAR_BLOCKED_PATTERNS | -- | Comma-separated regex patterns to reject commands |
SIDECAR_AUDIT_LOG | -- | Audit log directory, or true (cwd) / temp (OS temp dir) |
Auto-cleanup note: When SIDECAR_CLEANUP_AFTER is enabled (the default), exited processes are removed from the manager after the TTL expires. Once removed, calls to output, status, or stop for that process ID will return "not found". Retrieve any output you need within the TTL window (30 minutes by default).
When SIDECAR_ALLOWED_EXECUTABLES is set, mcp-sidecar switches from shell mode to secure mode:
| Shell mode (default) | Secure mode | ||
|---|---|---|---|
| Execution | Via sh -c / cmd /C | Direct exec (no shell) | |
| Allowlist | None | Only listed executables can run | |
| Metacharacters | Allowed (shell interprets them) | Rejected (`\ | , &, ;, >, <, $, , (, )) |
| Blocked patterns | None | Regex patterns matched against full command | |
| Audit logging | None | Optional JSONL log of all start/stop/blocked events |
Metacharacters inside quotes are allowed -- grep "error|warning" file.txt works because the | is inside double quotes and won't be interpreted by a shell.
Backslash (\) is intentionally not treated as a metacharacter so Windows paths like C:\Users\me\app.exe work without escaping.
Claude Desktop / Cursor (mcp.json):
{
"mcpServers": { "sidecar": { "command": "npx", "args": ["-y", "mcp-sidecar"], "env": { "SIDECAR_ALLOWED_EXECUTABLES": "dotnet,npm,node,git,python", "SIDECAR_BLOCKED_PATTERNS": "rm\\s+-rf,--force,--no-verify", "SIDECAR_AUDIT_LOG": "./logs" } } } }
Claude Code:
claude mcp add sidecar \
-e SIDECAR_ALLOWED_EXECUTABLES=dotnet,npm,node,git,python \ -e SIDECAR_BLOCKED_PATTERNS="rm\\s+-rf,--force,--no-verify" \ -e SIDECAR_AUDIT_LOG=true \ -- npx -y mcp-sidecar
The audit log is always written to a file named sidecar-audit.jsonl inside the configured directory. The SIDECAR_AUDIT_LOG variable controls where:
| Value | Log file location |
|---|---|
true | ./sidecar-audit.jsonl (current working directory) |
temp | /sidecar-audit.jsonl |
./logs | ./logs/sidecar-audit.jsonl (directory auto-created) |
Each line is a JSON object with one of three event types:
{"ts":"2025-03-12T10:00:00Z","event":"start","id":"abc123","command":"dotnet run","cwd":"/app"}
{"ts":"2025-03-12T10:00:05Z","event":"stop","id":"abc123","exit_code":0,"duration":"5s"} {"ts":"2025-03-12T10:00:06Z","event":"blocked","command":"rm -rf /","reason":"executable \"rm\" is not in allowed list"}
The allowlist supports three matching modes:
| Allowlist entry | Matches |
|---|---|
dotnet | dotnet anywhere (basename match) |
./build.sh | Only ./build.sh (exact match) |
/usr/bin/python3 | Only /usr/bin/python3, or any python3 resolved via PATH |
| Channel | Usage |
|---|---|
| npm | npx -y mcp-sidecar (platform binary via @mcp-sidecar/* optional packages) |
| GitHub Releases | Pre-built binaries attached to each release |
| MCP Registry | io.github.lsequeiraa/mcp-sidecar |
MIT