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:
- User Guide - Complete guide to installation, configuration, and usage
- Custom Makefiles - 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 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.
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 CONTRIBUTING.md for detailed instructions on setting up your development environment, using the project tools, and submitting changes.
License
MIT License - see LICENSE file for details
Metadata
Release files for orange-mcp-server-make 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| orange_mcp_server_make-0.3.1.tar.gz | 42.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| orange_mcp_server_make-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 59.2 kB
Release files / orange_mcp_server_make-0.3.1.tar.gz
| Download URL | orange_mcp_server_make-0.3.1.tar.gz |
|---|---|
| Size | 42.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dd976e119fe38b32f4d1e4f39b99255ff23304c0752d156ece609ffb48c0fcc0
|
|
BLAKE2b-256 checksum How to use checksums |
efb6c6562499c107756e1042eb7536a9b19e29fd3e364ae8c6be74e4bdd83a68
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.11
|
Release files / orange_mcp_server_make-0.3.1-py3-none-any.whl
| Download URL | orange_mcp_server_make-0.3.1-py3-none-any.whl |
|---|---|
| Size | 16.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1e583539b0bee00f1861a94b7819b9fdc2d3a4b36c57adc9d15ced02e19307b3
|
|
BLAKE2b-256 checksum How to use checksums |
3dbab3405795a64aad5302255313f09d08b398c0c1590e764d2881309a65c300
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.11
|