The scope is exactly right for what it is: rather than a broad shell tool, the assistant can run only the targets you already decided are safe to run. The one rough edge is stated plainly in the README — there is no target discovery, so start each session by having it run `make help` or by naming the targets yourself.
A deliberately minimal MCP server: one tool that runs a make target and returns what it printed. Because your Makefile already encodes how to test, lint, format and build the project, this gives an assistant those capabilities without inventing shell commands. The Makefile path and working directory are fixed when the server starts, not chosen per call.
- A named make target executed with its output captured and returned — `make`, taking a required `target` string
- Any valid Makefile, yours or the opinionated one the repository includes
- The working directory respected, so relative paths inside your targets behave as they do in your terminal
- Errors surfaced rather than swallowed, which is what lets the assistant read a failing test run and react to it
No account and no key. Install with `uv pip install mcp-server-make` or pip, then run `uvx mcp-server-make --make-path /absolute/path/to/Makefile --working-dir /absolute/path/to/working/dir`. One behaviour to plan around: the server does not discover the targets in your Makefile. Ask it to run `make help` first, or tell the assistant which targets exist — and expect to do that again in each new conversation, since it does not carry over.
One command — uv pip install mcp-server-make
