MCP Server Make logo

MCP Server Make

by wrale

MCP Server Make exposes make functionality through the Model Context Protocol, allowing LLMs to execute make targets from any Makefile in a safe, controlled way. It enables LLMs to understand and navigate build processes, helping with development tasks.

View on GitHub

Last updated: N/A

MCP Server Make

Release

Release

PyPI version

PyPI version

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.

<a href="https://glama.ai/mcp/servers/g8rwy0077w"> <img width="380" height="200" src="https://glama.ai/mcp/servers/g8rwy0077w/badge" alt="Server Make MCP server" /> </a>

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

  1. Automated Assistance

    • Let Claude run and interpret test results
    • Get build system suggestions and improvements
    • Automate repetitive development tasks
  2. 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:

  1. Start with make help: Most well-designed Makefiles include a help target

    Human: Please run make help to see what commands are available.
    
  2. 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.
    
  3. Use standard conventions: Common targets that many Makefiles include:

    • make test - Run tests
    • make lint - Check code quality
    • make format - Format code
    • make build - Build the project
    • make 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 Makefile
    • target (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