使用说明
项目简介
'mcp-server-make' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 提供安全可控的 'make' 命令执行能力。通过此服务器,LLM 可以理解和操作软件构建流程,辅助开发者完成自动化任务,例如代码编译、测试、格式化等。
主要功能点
- 安全执行 Makefile 目标: 允许 LLM 调用 'make' 命令,执行 Makefile 中定义的目标 (targets)。
- 工作目录管理: 支持指定 Makefile 路径和工作目录,并在执行 'make' 命令前后自动切换和恢复工作目录。
- 错误处理: 能够捕获并返回 'make' 命令执行过程中的错误信息,方便 LLM 理解和处理构建失败的情况。
- 单一工具暴露: 目前仅提供 'make' 工具,专注于 Makefile 命令执行的核心功能。
- 标准 MCP 协议: 完全遵循 MCP 协议,易于与任何兼容 MCP 协议的 LLM 客户端集成。
安装步骤
推荐使用 'uv' 或 'pip' 进行安装。
使用 uv (推荐):
uv pip install mcp-server-make
使用 pip:
pip install mcp-server-make
服务器配置
要将 'mcp-server-make' 服务器与 MCP 客户端(例如 Claude Desktop)配合使用,您需要在客户端的配置文件中添加服务器配置信息。以下是 Claude Desktop 客户端 'claude_desktop_config.json' 的配置示例:
{ "mcpServers": { "make": { "command": "uvx", "args": [ "mcp-server-make", "--make-path", "/absolute/path/to/Makefile", // Makefile 的绝对路径,请替换为您的 Makefile 实际路径 "--working-dir", "/absolute/path/to/working/dir" // 工作目录的绝对路径,请替换为您的项目工作目录实际路径 ] } } }
配置参数说明:
- 'server name': 'make' (服务器名称,客户端使用此名称引用该服务器)
- 'command': 'uvx' (或 'pipx' 如果您使用 pipx 安装) - 用于启动 'mcp-server-make' 的命令,确保 'uvx' 或 'pipx' 在您的 PATH 环境变量中。
- 'args': 启动服务器的参数列表:
- '"mcp-server-make"': 服务器启动命令。
- '"--make-path", "/absolute/path/to/Makefile"': 指定 Makefile 的路径。请务必替换 '/absolute/path/to/Makefile' 为您实际的 Makefile 文件绝对路径。 如果不指定,默认使用当前目录下的 'Makefile'。
- '"--working-dir", "/absolute/path/to/working/dir"': 指定工作目录。请务必替换 '/absolute/path/to/working/dir' 为您实际的项目工作目录绝对路径。 如果不指定,默认使用 Makefile 所在目录。
基本使用方法
-
启动 MCP 服务器: 根据上述配置,MCP 客户端(如 Claude Desktop)将会在需要时自动启动 'mcp-server-make' 服务器。您也可以手动在命令行启动服务器进行测试:
# 运行服务器,使用当前目录下的 Makefile uvx mcp-server-make # 运行服务器,指定 Makefile 路径和工作目录 uvx mcp-server-make --make-path /path/to/Makefile --working-dir /path/to/working/dir -
在 LLM 中调用 'make' 工具: 在支持 MCP 协议的 LLM 客户端中,您可以指示 LLM 使用 'make' 工具执行 Makefile 中的目标。例如,在 Claude 中,您可以这样提问:
Human: 请运行 make test 命令来执行测试。LLM 客户端会将请求转发给 'mcp-server-make' 服务器,服务器执行 'make test' 命令并将结果返回给 LLM。
注意事项
- 确保指定的 Makefile 路径和工作目录是正确的,并且 LLM 客户端有权限访问这些路径。
- 'mcp-server-make' 服务器目前只提供 'make' 工具,未来可能会扩展更多与构建相关的工具。
信息
分类
开发者工具