run_process takes argv or command_line, cwd, stdin_text and timeout_ms and gives back what the process printed, which is the whole surface of a terminal behind a single call. Nothing in those parameters narrows what may run, so the boundary is the account it was started under and the machine it sits on. That shape suits a container or a scratch VM, and it is the wrong shape for a workstation that holds credentials.
A single-tool server that runs a process on the machine hosting it and returns what that process produced.
- A process started either from an argv list or from a command_line string, so quoting is your choice rather than the server's
- A cwd per call, so a command runs where the files it needs are
- Text handed to the process on stdin, which covers everything that reads input rather than arguments
- A timeout_ms per call, bounding anything that will not finish
A Linux host you are willing to let a model start processes on, and no account or key of any kind. The user account the server was started under is what those processes get. MIT.
One command — npx mcp-server-commands
