mcp server make
A Model Context Protocol server that enables LLMs to safely execute make targets from a Makefile, allowing AI assistants to run tests, format code, and automate various development tasks through natural language interaction.
A Model Context Protocol server that enables LLMs to safely execute make targets from a Makefile, allowing AI assistants to run tests, format code, and automate various development tasks through natural language interaction.
A Model Context Protocol server that provides make functionality. This server enables LLMs to execute make targets from any Makefile in a safe, controlled way.
The server exposes make functionality through the Model Context Protocol, allowing LLMs like Claude to: - Run make targets safely with output capture - Understand and navigate build processes - Help with development tasks - Handle errors appropriately - Respect working directory context
MCP Server Make works with any valid Makefile - you can use the included opinionated Makefile or your own custom build scripts.
Using uv
(recommended):
uv pip install mcp-server-make
Using pip:
pip install mcp-server-make
# Run with default Makefile in current directory
uvx mcp-server-make
# Run with specific Makefile and working directory
uvx mcp-server-make --make-path /path/to/Makefile --working-dir /path/to/working/dir
To use with Claude Desktop, add to your Claude configuration (claude_desktop_config.json
):
{
"mcpServers": {
"make": {
"command": "uvx",
"args": [
"mcp-server-make",
"--make-path", "/absolute/path/to/Makefile",
"--working-dir", "/absolute/path/to/working/dir"
]
}
}
}
For detailed information about using MCP Server Make, please see our documentation:
This server enables powerful development workflows by giving LLMs direct access to make functionality:
Automate repetitive development tasks
Project Management
MCP Server Make does not automatically discover available targets in your Makefile. To effectively use it with Claude:
make help
: Most well-designed Makefiles include a help targetHuman: Please run make help to see what commands are available.
Human: Our project has these make targets: test, lint, format, build, and clean.
Use standard conventions: Common targets that many Makefiles include:
make test
- Run tests
make lint
- Check code quality make format
- Format codemake build
- Build the projectmake clean
- Clean build artifactsThe repository includes an opinionated Makefile with additional utility targets - see the User Guide for details on these extended capabilities or for creating your own custom targets.
Note: Claude doesn't remember available targets between conversations. You'll need to introduce them at the start of each conversation.
Here's how Claude can help with development tasks:
Human: Can you run our test suite and format any code that needs it?
Claude: I'll help run the tests and format the code:
1. First, let's format the code:
[Calling make tool with args {"target": "format"}]
2 files reformatted, 3 files left unchanged
2. Now let's run the tests:
[Calling make tool with args {"target": "test"}]
Running tests...
4 passed, 0 failed
All formatting and tests completed successfully. The code is now properly formatted and all tests are passing.
The server exposes a single tool:
make
- Run a make target from the Makefiletarget
(string, required): Target name to executeWe welcome contributions to improve mcp-server-make! Please see CONTRIBUTING.md for detailed instructions on setting up your development environment, using the project tools, and submitting changes.
MIT License - see LICENSE file for details
[
{
"description": "Run a make target from the Makefile",
"inputSchema": {
"description": "Parameters for running make.",
"properties": {
"target": {
"description": "Make target to run",
"title": "Target",
"type": "string"
}
},
"required": [
"target"
],
"title": "Make",
"type": "object"
},
"name": "make"
}
]