MCP Server for GNU Make
Configuration
View docs{
"mcpServers": {
"wrale-mcp-server-make": {
"command": "uvx",
"args": [
"mcp-server-make",
"--make-path",
"/absolute/path/to/Makefile",
"--working-dir",
"/absolute/path/to/working/dir"
]
}
}
}You can run Makefile targets safely and capture their output through an MCP server, enabling large language models to navigate and manage build tasks across any project. This server exposes the make functionality via MCP so you can execute make targets from any Makefile in a controlled, auditable way and integrate with your development workflows.
You use this server from an MCP client by calling the make tool with a target you want to execute. The client should provide the target name you want to run in the context of your Makefile, and you can optionally point to a specific Makefile and working directory. The server executes the requested target, captures the output, and returns it to you so you can analyze results, handle failures, or drive subsequent steps in your workflow.
Prerequisites: You need a Python environment and a compatible command runner for your setup.
Install the MCP server package using the recommended runner.
Install with uv (recommended):
uv pip install mcp-server-makeAlternatively, install with Python's pip directly.
pip install mcp-server-makeRun the MCP server with default behavior, which uses the Makefile in the current directory.
uvx mcp-server-makeTo target a specific Makefile and working directory, provide the path options when you start the server.
uvx mcp-server-make --make-path /path/to/Makefile --working-dir /path/to/working/dirIf you use Claude Desktop, configure the MCP server by adding a server entry that runs the MCP client command and passes the make path and working directory.
{
"mcpServers": {
"make": {
"command": "uvx",
"args": [
"mcp-server-make",
"--make-path", "/absolute/path/to/Makefile",
"--working-dir", "/absolute/path/to/working/dir"
]
}
}
}Run a make target from the Makefile and return the execution results, including stdout/stderr, status, and exit code.