mcp-server-make


Namemcp-server-make JSON
Version 0.2.0 PyPI version JSON
download
home_pageNone
SummaryA Model Context Protocol server providing access to make functionality
upload_time2024-12-18 04:43:05
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT
keywords automation llm make mcp
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # MCP Server Make

[![CI](https://github.com/wrale/mcp-server-make/actions/workflows/ci.yml/badge.svg)](https://github.com/wrale/mcp-server-make/actions/workflows/ci.yml)
[![Release](https://github.com/wrale/mcp-server-make/actions/workflows/release.yml/badge.svg)](https://github.com/wrale/mcp-server-make/actions/workflows/release.yml)
[![PyPI version](https://badge.fury.io/py/mcp-server-make.svg)](https://badge.fury.io/py/mcp-server-make)

A Model Context Protocol server that provides make functionality. This server enables LLMs to execute make targets from a 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

## Installation

Using `uv` (recommended):
```bash
uv pip install mcp-server-make
```

Using pip:
```bash
pip install mcp-server-make
```

## Configuration

### Basic Usage
```bash
# 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`):

```json
{
  "mcpServers": {
    "make": {
      "command": "uvx",
      "args": [
        "mcp-server-make",
        "--make-path", "/absolute/path/to/Makefile",
        "--working-dir", "/absolute/path/to/working/dir"
      ]
    }
  }
}
```

## 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
   - Get immediate feedback on changes

2. **Project Management**
   - Let Claude handle dependency updates
   - Automate release processes
   - Maintain consistent code quality
   - Track project status

### For Claude

1. **Self-Validation Capabilities**
   - Run tests to verify changes: `make test`
   - Check code quality: `make lint`
   - Format code: `make format`
   - Full validation: `make check`

2. **Project Understanding**
   - View project structure: `make x`
   - Check recent changes: `make z`
   - Full context snapshot: `make r`

3. **Independent Development**
   - Manage complete development cycles
   - Self-contained testing and validation
   - Build and prepare releases
   - Generate informed commit messages

## Available Tools

The server exposes a single tool:

- `make` - Run a make target from the Makefile
    - `target` (string, required): Target name to execute

## Error Handling

The server handles common errors gracefully:
- Missing Makefile
- Invalid working directory
- Failed make commands
- Invalid targets

All errors are returned with descriptive messages through the MCP protocol.

## Working Directory Behavior

- If `--working-dir` is specified, changes to that directory before executing make
- If omitted, uses the directory containing the Makefile
- Always restores original working directory after execution

## 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.
```

## Troubleshooting

Common issues:

1. **"Makefile not found"**: Verify the --make-path points to a valid Makefile
2. **"Working directory error"**: Ensure --working-dir exists and is accessible
3. **"Tool execution failed"**: Check make target exists and command succeeds
4. **"Permission denied"**: Verify file and directory permissions

## Contributing

We welcome contributions to improve mcp-server-make! Here's how:

1. Fork the repository
2. Create your feature branch
3. Make your changes
4. Run full validation: `make check`
5. Submit a pull request

## License

MIT License - see LICENSE file for details

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "mcp-server-make",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "\"Joshua M. Dotson\" <contact@jmdots.com>",
    "keywords": "automation, llm, make, mcp",
    "author": null,
    "author_email": "\"Joshua M. Dotson\" <contact@jmdots.com>",
    "download_url": "https://files.pythonhosted.org/packages/db/6a/8f9c3499c8e749fe97ca1be3b8620d98ffe72c2d83ca6290b02d0677c3be/mcp_server_make-0.2.0.tar.gz",
    "platform": null,
    "description": "# MCP Server Make\n\n[![CI](https://github.com/wrale/mcp-server-make/actions/workflows/ci.yml/badge.svg)](https://github.com/wrale/mcp-server-make/actions/workflows/ci.yml)\n[![Release](https://github.com/wrale/mcp-server-make/actions/workflows/release.yml/badge.svg)](https://github.com/wrale/mcp-server-make/actions/workflows/release.yml)\n[![PyPI version](https://badge.fury.io/py/mcp-server-make.svg)](https://badge.fury.io/py/mcp-server-make)\n\nA Model Context Protocol server that provides make functionality. This server enables LLMs to execute make targets from a Makefile in a safe, controlled way.\n\n## Overview\n\nThe server exposes make functionality through the Model Context Protocol, allowing LLMs like Claude to:\n- Run make targets safely with output capture\n- Understand and navigate build processes\n- Help with development tasks\n- Handle errors appropriately\n- Respect working directory context\n\n## Installation\n\nUsing `uv` (recommended):\n```bash\nuv pip install mcp-server-make\n```\n\nUsing pip:\n```bash\npip install mcp-server-make\n```\n\n## Configuration\n\n### Basic Usage\n```bash\n# Run with default Makefile in current directory\nuvx mcp-server-make\n\n# Run with specific Makefile and working directory\nuvx mcp-server-make --make-path /path/to/Makefile --working-dir /path/to/working/dir\n```\n\n### MCP Client Configuration \n\nTo use with Claude Desktop, add to your Claude configuration (`claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"make\": {\n      \"command\": \"uvx\",\n      \"args\": [\n        \"mcp-server-make\",\n        \"--make-path\", \"/absolute/path/to/Makefile\",\n        \"--working-dir\", \"/absolute/path/to/working/dir\"\n      ]\n    }\n  }\n}\n```\n\n## Enhancing Development Workflows\n\nThis server enables powerful development workflows by giving LLMs direct access to make functionality:\n\n### For Developers\n\n1. **Automated Assistance**\n   - Let Claude run and interpret test results \n   - Get build system suggestions and improvements\n   - Automate repetitive development tasks\n   - Get immediate feedback on changes\n\n2. **Project Management**\n   - Let Claude handle dependency updates\n   - Automate release processes\n   - Maintain consistent code quality\n   - Track project status\n\n### For Claude\n\n1. **Self-Validation Capabilities**\n   - Run tests to verify changes: `make test`\n   - Check code quality: `make lint`\n   - Format code: `make format`\n   - Full validation: `make check`\n\n2. **Project Understanding**\n   - View project structure: `make x`\n   - Check recent changes: `make z`\n   - Full context snapshot: `make r`\n\n3. **Independent Development**\n   - Manage complete development cycles\n   - Self-contained testing and validation\n   - Build and prepare releases\n   - Generate informed commit messages\n\n## Available Tools\n\nThe server exposes a single tool:\n\n- `make` - Run a make target from the Makefile\n    - `target` (string, required): Target name to execute\n\n## Error Handling\n\nThe server handles common errors gracefully:\n- Missing Makefile\n- Invalid working directory\n- Failed make commands\n- Invalid targets\n\nAll errors are returned with descriptive messages through the MCP protocol.\n\n## Working Directory Behavior\n\n- If `--working-dir` is specified, changes to that directory before executing make\n- If omitted, uses the directory containing the Makefile\n- Always restores original working directory after execution\n\n## Example Integration\n\nHere's how Claude can help with development tasks:\n\n```\nHuman: Can you run our test suite and format any code that needs it?\n\nClaude: I'll help run the tests and format the code:\n\n1. First, let's format the code:\n[Calling make tool with args {\"target\": \"format\"}]\n2 files reformatted, 3 files left unchanged\n\n2. Now let's run the tests:\n[Calling make tool with args {\"target\": \"test\"}]\nRunning tests...\n4 passed, 0 failed\n\nAll formatting and tests completed successfully. The code is now properly formatted and all tests are passing.\n```\n\n## Troubleshooting\n\nCommon issues:\n\n1. **\"Makefile not found\"**: Verify the --make-path points to a valid Makefile\n2. **\"Working directory error\"**: Ensure --working-dir exists and is accessible\n3. **\"Tool execution failed\"**: Check make target exists and command succeeds\n4. **\"Permission denied\"**: Verify file and directory permissions\n\n## Contributing\n\nWe welcome contributions to improve mcp-server-make! Here's how:\n\n1. Fork the repository\n2. Create your feature branch\n3. Make your changes\n4. Run full validation: `make check`\n5. Submit a pull request\n\n## License\n\nMIT License - see LICENSE file for details\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A Model Context Protocol server providing access to make functionality",
    "version": "0.2.0",
    "project_urls": null,
    "split_keywords": [
        "automation",
        " llm",
        " make",
        " mcp"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "31793db9e91f352cdb944c7615a3993ac1ebb3c8030a4bde15cebd8087ce2950",
                "md5": "be551449c3dd7db072b3e13e4fca999e",
                "sha256": "cdd0834e300fe4685958f1d56632eb6219694814dbb69e10415d33242df075e2"
            },
            "downloads": -1,
            "filename": "mcp_server_make-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "be551449c3dd7db072b3e13e4fca999e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 6790,
            "upload_time": "2024-12-18T04:43:02",
            "upload_time_iso_8601": "2024-12-18T04:43:02.875451Z",
            "url": "https://files.pythonhosted.org/packages/31/79/3db9e91f352cdb944c7615a3993ac1ebb3c8030a4bde15cebd8087ce2950/mcp_server_make-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "db6a8f9c3499c8e749fe97ca1be3b8620d98ffe72c2d83ca6290b02d0677c3be",
                "md5": "cfc0bd8add4bed4a82c38da172af97fa",
                "sha256": "64ae5055a07fd51ef8e35be3e3d05d0cda01f85e14b2cac055332de822561641"
            },
            "downloads": -1,
            "filename": "mcp_server_make-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "cfc0bd8add4bed4a82c38da172af97fa",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 33191,
            "upload_time": "2024-12-18T04:43:05",
            "upload_time_iso_8601": "2024-12-18T04:43:05.353002Z",
            "url": "https://files.pythonhosted.org/packages/db/6a/8f9c3499c8e749fe97ca1be3b8620d98ffe72c2d83ca6290b02d0677c3be/mcp_server_make-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-18 04:43:05",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "mcp-server-make"
}
        
Elapsed time: 0.51174s