Skip to main content

A Model Context Protocol server providing access to make functionality

Project description

MCP Server Make

CI Release 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.

Server Make MCP server

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_server_make-0.3.1.tar.gz (41.9 kB view details)

Uploaded Source

Built Distribution

mcp_server_make-0.3.1-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file mcp_server_make-0.3.1.tar.gz.

File metadata

  • Download URL: mcp_server_make-0.3.1.tar.gz
  • Upload date:
  • Size: 41.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for mcp_server_make-0.3.1.tar.gz
Algorithm Hash digest
SHA256 3eeae8ff7381642d6a4c6a062da166b2ae4ece37d616693aef134db23310e70b
MD5 5e1f42276043ec060c0ccfe5a41e04c2
BLAKE2b-256 e0066085f1824c5522f3249ad7dbe5beaebabaecae94b405b9cb79885a96eaa0

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_server_make-0.3.1.tar.gz:

Publisher: release.yml on wrale/mcp-server-make

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_server_make-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_server_make-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 17e37f177149a172985e21d51fc9329c7e946e6c5b03bb255e9aab5e68d5a29a
MD5 24006cb3a71046fcccbe1eef149d0759
BLAKE2b-256 461a83b0be968e7c0eb9d401efb4c3d0e58df42821643f250859988754e74a54

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_server_make-0.3.1-py3-none-any.whl:

Publisher: release.yml on wrale/mcp-server-make

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page