mcp-server-make
MCP Server Make is a protocol server enabling LLMs to execute and interact with make targets safely and efficiently. It enhances development workflows by automating tasks and managing project processes using the Model Context Protocol.
MCP Server Make
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.
Overview
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.
Quick Start
Installation
Using uv
(recommended):
uv pip install mcp-server-make
Using pip:
pip install mcp-server-make
Basic Usage
# 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
MCP Client Configuration
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"
]
}
}
}
Documentation
For detailed information about using MCP Server Make, please see our documentation:
- - Complete guide to installation, configuration, and usage
- - Creating effective Makefiles for use with MCP Server Make
Enhancing Development Workflows
This server enables powerful development workflows by giving LLMs direct access to make functionality:
For Developers
-
Automated Assistance
- Let Claude run and interpret test results
- Get build system suggestions and improvements
- Automate repetitive development tasks
-
Project Management
- Let Claude handle dependency updates
- Automate release processes
- Maintain consistent code quality
Working with Make Targets
MCP Server Make does not automatically discover available targets in your Makefile. To effectively use it with Claude:
-
Start with
make help
: Most well-designed Makefiles include a help targetHuman: Please run make help to see what commands are available.
-
Tell Claude about your targets: Explicitly mention available targets and their purpose
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 testsmake lint
- Check code qualitymake format
- Format codemake build
- Build the projectmake clean
- Clean build artifacts
The repository includes an opinionated Makefile with additional utility targets - see the 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.
Example Integration
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.
Available Tools
The server exposes a single tool:
make
- Run a make target from the Makefiletarget
(string, required): Target name to execute
Contributing
We welcome contributions to improve mcp-server-make! Please see for detailed instructions on setting up your development environment, using the project tools, and submitting changes.
License
MIT License - see LICENSE file for details