Skip to main content
Glama

MCP Server Make

CI Release PyPI version

make機能を提供するModel Context Protocolサーバーです。このサーバーにより、LLMは任意のMakefileからmakeターゲットを安全かつ制御された方法で実行できるようになります。

概要

このサーバーはModel Context Protocolを通じてmake機能を公開し、ClaudeのようなLLMが以下を行えるようにします:

  • 出力をキャプチャしながらmakeターゲットを安全に実行する

  • ビルドプロセスを理解し、ナビゲートする

  • 開発タスクを支援する

  • エラーを適切に処理する

  • 作業ディレクトリのコンテキストを尊重する

MCP Server Makeは、有効なMakefileであれば何でも動作します。同梱されている推奨のMakefileを使用することも、独自のカスタムビルドスクリプトを使用することも可能です。

Related MCP server: MCP Python Toolbox

クイックスタート

インストール

uvを使用する場合(推奨):

uv pip install mcp-server-make

pipを使用する場合:

pip install mcp-server-make

基本的な使用方法

# 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クライアントの設定

Claude Desktopで使用するには、Claudeの設定ファイル(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"
      ]
    }
  }
}

ドキュメント

MCP Server Makeの使用に関する詳細については、以下のドキュメントを参照してください:

開発ワークフローの強化

このサーバーは、LLMにmake機能への直接アクセス権を与えることで、強力な開発ワークフローを実現します:

開発者向け

  1. 自動化された支援

    • Claudeにテストを実行させ、結果を解釈させる

    • ビルドシステムの提案や改善を得る

    • 反復的な開発タスクを自動化する

  2. プロジェクト管理

    • Claudeに依存関係の更新を処理させる

    • リリースプロセスを自動化する

    • 一貫したコード品質を維持する

makeターゲットの操作

MCP Server Makeは、Makefile内の利用可能なターゲットを自動的に検出するわけではありません。Claudeで効果的に使用するには、以下の手順に従ってください:

  1. make helpから始める: 適切に設計されたMakefileの多くには、helpターゲットが含まれています

    Human: Please run make help to see what commands are available.
  2. Claudeにターゲットを伝える: 利用可能なターゲットとその目的を明示的に伝えてください

    Human: Our project has these make targets: test, lint, format, build, and clean.
  3. 標準的な慣習を使用する: 多くのMakefileに含まれる一般的なターゲット:

    • make test - テストの実行

    • make lint - コード品質のチェック

    • make format - コードのフォーマット

    • make build - プロジェクトのビルド

    • make clean - ビルド成果物のクリーンアップ

リポジトリには、追加のユーティリティターゲットを含む推奨のMakefileが含まれています。これらの拡張機能の詳細や独自のカスタムターゲットの作成方法については、ユーザーガイドを参照してください。

注: Claudeは会話間で利用可能なターゲットを記憶しません。会話の開始時に毎回ターゲットを伝える必要があります。

統合例

Claudeが開発タスクをどのように支援できるかの例です:

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.

利用可能なツール

このサーバーは単一のツールを公開しています:

  • make - Makefileからmakeターゲットを実行する

    • target (string, 必須): 実行するターゲット名

貢献

mcp-server-makeの改善への貢献を歓迎します!開発環境のセットアップ、プロジェクトツールの使用、変更の送信に関する詳細な手順については、CONTRIBUTING.mdを参照してください。

ライセンス

MITライセンス - 詳細はLICENSEファイルを参照してください

Available Tools

1 tool
makeA

Run a make target from the Makefile

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesMake target to run
argsNoList of command line arguments (e.g. VAR=value)

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description does not mention potential side effects like file creation or environment changes, and with no annotations, the agent lacks awareness of destructive behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, direct sentence with no unnecessary words; highly concise and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the essential functionality for a simple tool, though it could mention that the Makefile must exist in the current working directory.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description adds no extra meaning beyond the schema's parameter descriptions, earning a baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (run) and the resource (make target from the Makefile), leaving no ambiguity about the tool's purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool or prerequisites, but given the absence of sibling tools, the description is minimally adequate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev0.4.0
    • Changedmake1 field changed
      • addedInput schema / properties / args
        Added value: +{
        +  "description": "List of command line arguments (e.g. VAR=value)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "title": "Args",
        +  "type": "array"
        +}
  2. 1 tool updatev1.0.0
    • Addedmake

TDQS

A3.8/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no possibility of confusion between tools. The single tool 'make' is clearly distinct by default.

Naming Consistency5/5

With only one tool, naming consistency is perfect. The name 'make' directly describes the action, though it's a verb alone rather than verb_noun pattern.

Tool Count3/5

A single tool for a server named 'MCP Server Make' is borderline. While it directly serves the core purpose, the domain could benefit from additional tools like listing targets or showing help.

Completeness4/5

The tool fulfills its stated function of running a make target. Minor gaps exist (e.g., no way to list targets or specify options), but the core workflow is supported.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol server that enables AI assistants like Claude to perform Python development tasks through file operations, code analysis, project management, and safe code execution.
    9
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive Model Context Protocol server implementation that enables AI assistants to interact with file systems, databases, GitHub repositories, web resources, and system tools while maintaining security and control.
    42 npm
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that enables LLMs to run ANY code safely in isolated Docker containers.
    122
    MIT