{
  "markdown": "# procm-mcp\n\nA Model Context Protocol (MCP) server for process management.\n\n## Supported features\n\n- Secure and automatable process creation\n- Cleanup created processes automatically on termination (e.g. exiting claude code)\n- Common process management features supported, restarting, deleting, checking status or retreving stdout/stderr of processes\n\nUsing these features, LLMs start processes like development servers, docker-compose, or test watchers and check their outputs to fix bugs automatically.\n\n## Installation\n\n```bash\nnpm i -D procm-mcp\n```\n\n`.mcp.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"procm-mcp\": {\n      \"command\": \"node\",\n      \"args\": [\"./node_modules/procm-mcp/build/index.js\"],\n      \"env\": {}\n    }\n  }\n}\n```\n\n## Secure process creation\n\nYou can permit LLMs to use `start-process` tool without confirmation, because procm-mcp only allow whitelisted process creations.\n\nLLMs will ask you to use `allow-start-process` tool to add specific process creation to the whitelist.\n\nOnce you allow a process creation, you don't have to confirming it anymore as long as the command and the working directory are the same.\n\nI call it \"allow-x pattern\", which can balances security and usability in MCP.\n\n**Warning: Do not permit LLMs to use `allow-start-process` without confirmation.That means \"Do anything you want to\".**\n\n## Tools\n\n- `allow-start-process` Allow specific processes to be created\n  - `script` (required): The script/command to allow\n  - `args` (optional): Array of arguments\n  - `cwd` (optional): Working directory\n- `start-process` Start a new process with specified script and arguments\n  - `script` (required): The script/command to execute\n  - `name` (optional): A friendly name for the process\n  - `args` (optional): Array of arguments to pass to the script\n  - `cwd` (required): Working directory for the process\n  - `envs` (optional): Environment variables to set for the process\n- `delete-process` Stop and remove a process by ID.The default signal is SIGTERM, but SIGKILL(force killing) will be sent after 10 seconds unless the process exits.\n  - `id` (required): The process ID\n- `restart-process` Restart an existing process by ID\n  - `id` (required): The process ID\n- `get-process-info` Get detailed information about a process\n  - `id` (required): The process ID\n- `list-processes` List all currently managed processes\n  - No parameters required\n- `get-process-stdout` Retrieve stdout logs from a process\n  - `id` (required): The process ID\n  - `chunkCount` (optional): Number of recent log entries to retrieve (default: 10)\n- `get-process-stderr` Retrieve stderr logs from a process\n  - `id` (required): The process ID\n  - `chunkCount` (optional): Number of recent log entries to retrieve (default: 10)\n\n## License\n\nMIT\n",
  "bytes": 2762,
  "sha": "fe17ef3b4327be81117486eb770fb039fcb41b962efbf137a246b9dbc3150751",
  "repo_slug": "coder-ka/procm-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_coder_ka_procm_mcp_e7d15c4b/readme"
}