Labsco
MCP SERVER

MCP Command Server

by brunorozendo

One run_command tool — shell commands with a working directory and stdin, over stdio, HTTP or SSE.

Editors, Terminals & Local Dev Environment
Summary
Shell access with three transports and a hard timeout.

The stdin parameter is what lifts this above a simple command runner — you can pipe a script or a document into a command instead of escaping it into an argument. Take the obvious precaution: anything your user can run, this can run, so keep it to a machine you are willing to have driven. The 60-second ceiling also means long builds belong elsewhere; run those directly and use this for the short commands.

What it is

A Java MCP server that executes shell commands on the host system, built as separate modules so you can pick the transport your client needs.

What you get
  • `run_command` — a required `command`, plus optional `workdir` and `stdin` to pipe input in
  • Structured results: stdout, stderr, a message when it fails, and an isError flag
  • Three transports built from one repository: stdio for desktop clients, plus HTTP and SSE
  • Commands time out after 60 seconds, so a hung process does not hold the client
  • Enhanced handling for the Fish shell, and cross-platform support across macOS, Linux and Windows
  • Logback logging with configurable levels and optional rolling files, set through `LOG_DIR` and `LOG_LEVEL`
  • An optional GraalVM native binary if you would rather not launch a JVM per session
Requirements

Java 25 or higher, and Gradle to build from source. `./gradlew build` produces a jar per transport; point Claude Desktop at the stdio one with an absolute path, or at the native executable if you compiled it.