‘https://just.systems/ is a open source `justfile` command runner that offers powerful variety of syntaxes, modules, and macros developed in rust.
By putting commands into a justfile (similar to a makefile without .PHONY) they can support parameters and more and then idiomatically execute just command or run just -l to list commands.
The just-MCP server provides an LLM agent (or sub-agent) with low context mechanism to perform a memoized command. just-mcp is built in rust so it can be installed+run as a multi-arch binary or with npx uv or docker.
I just submitted this to the docker mcp repo.
Within a docker container we can mount a justfile and run the commands within a docker sandbox itself. This works best if there is either a mechanism to unfurl just install your requirements; OR a better pattern is to use a multi-stage build and put just-mcp directly within your applications Dockerfile (sample below)
# ------------------------------------------------------------
# Stage 1: Pull just-mcp binary from the promptexecution/just-mcp image
# ------------------------------------------------------------
FROM promptexecution/just-mcp:latest AS justmcp# The container usually contains:
# /usr/local/bin/just
# /usr/local/bin/just-mcp
# We will copy these binaries into our final image.
# ------------------------------------------------------------
# Stage 2: Your actual application
# ------------------------------------------------------------
....
# Copy your compiled binary from the builder stage
COPY --from=builder /app/target/release/myapp /usr/local/bin/myapp
# Copy JUST + JUST-MCP from the justmcp stage
COPY --from=justmcp /usr/local/bin/just /usr/local/bin/just
COPY --from=justmcp /usr/local/bin/just-mcp /usr/local/bin/just-mcp
# Copy *OR* MOUNT the project's justfile
# (Your MCP agent can introspect commands using `just -l`)
COPY justfile ./justfile
# Optional: set ENTRYPOINT so your MCP runner is available
ENTRYPOINT ["/usr/local/bin/myapp"]
Just is useful for spec driven projects because agents can be instructed using skills to memoize it’’s commands such as `just build` and the justfile becomes the persistent runnable tribal knowledge that is contained within the git version control.
There are also just runners for github actions and within VSCode LSP syntax and other editors. Just can run bash, node, python and more.
Using just-mcp within your projects reduces context waste because the LLM does NOT need to read the justfile, it can simply list the commands (on the cli `just -l` lists all commands and parameters) and so it is well suited for any LLM agent to run abstract commands such as build, release, test, commit; and if the llm finds an error then they should memoize any updates into the justfile and the tribal knowledge will persist indelibly with minimal token overhead potentially spanning an infinite number context compressions. As such using the `just` command runner within your LLM spec driven projects significantly reduces the waste. ‘
Just + Just-mcp is core to my 🥾 _b00t_ project