MCP Server for delegated command execution — run shell commands asynchronously and retrieve output on demand.
uvx delegate-runneruvx --from git+https://github.com/uppet/delegate_runner delegate-runnergit clone https://github.com/uppet/delegate_runner
cd delegate_runner
uv sync
uv run delegate-runnerStart the server:
delegate-runner [--host HOST] [--port PORT]Options:
--host: Bind host (default:0.0.0.0)--port: Listen port (default:3001)
Execute a shell command asynchronously.
Parameters:
command(required): Shell command to executecwd(optional): Working directoryenv(optional): Extra environment variables as JSON stringtimeout(optional): Timeout in seconds
Returns: task_id
Get the current status of a task.
Parameters:
task_id(required): Task identifier
Returns: Status info with running, exit_code, elapsed
Retrieve output lines from a task with pagination.
Parameters:
task_id(required): Task identifieroffset(optional): Line offset to start reading (default: 0)limit(optional): Max lines to return (default: 200)stream(optional): Filter by "stdout" or "stderr" (default: both)
Cancel a running task.
Parameters:
task_id(required): Task identifier
List all tasks with status summaries.
# Run a command
task_id = await run_command(command="ls -la", cwd="/tmp")
# Check status
status = await get_task_status(task_id)
# Get output
output = await get_task_output(task_id)MIT