kiwagu

Mcproc — DevOps skill for Claude Code

DevOps community

pm2 process control for coding agents, over MCP and the CLI.

How to install Mcproc

This entry records only its repository, not the path inside it, so there is no exact command to give. Open kiwagu/mcproc and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Mcproc does

pm2 process control for coding agents, over MCP and the CLI. One manifest per project; local, ssh and docker exec hosts. See real ports and URL health, wait for ready, follow errors as incidents, catch in-process reloads (tsx, Vite, Next, bun --watch), and watch it all in a terminal dashboard. Plain pm2 underneath.

Alternatives in DevOps

  • Mirrord — Run any process, on your machine or in an AI agent's environment, as if it were a pod in your Kubernetes clust 5.3k ★
  • Skill Claw — OpenClaw instance administration — manage hosts across macOS, Ubuntu/Debian, Docker, OCI, and Proxmox 2.8k ★
  • Skill — Web extraction engine with antibot bypass 549 ★

README

mcproc

pm2 process control for coding agents, over MCP and on the command line. One manifest per project describes what each launch is; the agent (or you) starts, restarts, reads logs and, above all, sees which ports each app really listens on. Works on the local machine and on remote hosts over ssh and `docker exec`. The processes are plain pm2 processes: `pm2 monit` in any shell shows the same thing.

Install and register

npm i -g mcproc            # or run it with: npx -y mcproc
claude mcp add -s user mcproc -- mcproc mcp       # Claude Code, once, user scope

From a checkout instead: `bun run build && node dist/cli.js install` writes a `mcproc` launcher into `~/.local/bin` (adding that directory to your shell rc when it is not on `PATH` yet); `install --uninstall` removes it. Codex (`~/.codex/config.toml`):

[mcp_servers.mcproc]
command = "mcproc"
args = ["mcp"]

The server finds the project from `MCPROC_PROJECT`, then `CLAUDE_PROJECT_DIR` (set by Claude Code), then the client's MCP roots, then its working directory, and looks upward for `.mcproc/mcproc.yaml`. Every tool also accepts an explicit `project` path.

Quick start

cd my-project
mcproc init          # writes .mcproc/ (gitignored) with a manifest draft: on a turbo repo the dev task's apps are live, the rest commented out
$EDITOR .mcproc/mcproc.yaml   # write a description for each app; uncomment what else you need
mcproc start base    # or an app name, or "all"
mcproc ls            # status, pid, uptime and real vs declared ports
mcproc init --adopt-ports   # write the ports ls shows as undeclared into the manifest
mcproc logs api -n 200
mcproc logs base --since 2m    # every app of a profile, merged by time stamp
mcproc doctor        # why a host cannot be driven, and what to do

The manifest: `.mcproc/mcproc.yaml`

version: 1
project: demo                  # pm2 namespace and process-name prefix; default: directory name
apps:
  libs:
    descriptio