Makefile工具调用服务

一个将Makefile目标暴露为可调用工具的MCP服务器,适用于Claude、Cursor等AI助手。

  • by mparker3
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 mparker3/makefilemcp

使用说明

makefilemcpserver

一个MCP(模型上下文协议)服务器,它将Makefile目标公开为Claude、Cursor等AI助手的可调用工具。

⚠️ ALPHA软件-仅限本地使用 ⚠️
此服务器使用用户提供的参数执行Make命令。仅在受信任的环境中使用。它智能地解析出命令和参数。 这几乎肯定不会完美地适用于您的Makefile。事实上,它甚至可能根本不起作用。

安装

先决条件

  • Node.js 16或更高版本
  • make PATH中可用的命令
  • 项目目录中的Makefile

快速开始

  1. 克隆此存储库:
git clone https://github.com/mparker3/makefilemcpserver.git
cd makefilemcpserver
  1. 安装依赖项:
npm install
  1. 构建服务器:
npm run build

用法

添加到MCP服务器配置中:

{
  "mcpServers": {
    "makefilemcpserver": {
      "command": "node",
      "args": [
        "/absolute/path/to/makefilemcpserver/build/index.js",
        "/path/to/your/project"
      ]
    }
  }
}

第二个参数(可选)指定包含Makefile的目录。如果省略,则使用当前目录。

Makefile示例

# Build the project
build:
	npm run build

# Run tests
test:
	npm test

# Deploy to production
deploy: build test
	./deploy.sh

这将暴露工具: make_build, make_test,以及 make_deploy 克劳德。

运作原理

  1. 服务器在启动时读取您的Makefile
  2. 每个Make目标都成为一个名为的工具 make_<target>
  3. 直接位于目标上方的注释成为工具描述
  4. 然后,MCP客户端可以使用可选参数运行任何目标。我们尽最大努力解析docs+命令中的args,更好的方法是在启动时将其卸载到另一个LLM调用中。

安全考虑

⚠️ 警告:此服务器通过Make执行shell命令。它目前具有最小的输入验证。

  • 您在Makefile中公开的任何内容,任何MCP客户端都可以访问。强烈建议运行 仅限本地.
  • 服务器会进行一些必要的输入净化,但不能保证有进取心的安全研究人员无法找到解决办法。

发展

# Install dependencies
npm install

# Build once
npm run build

# Build and watch for changes
npm run watch

# Run the MCP Inspector for debugging
npm run inspector

调试

由于MCP服务器通过stdio进行通信,请使用MCP检查器:

npm run inspector

然后打开提供的URL以访问调试工具。

贡献

这是阿尔法软件。欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 提交拉取请求

许可证

MIT-有关详细信息,请参阅许可证文件

路线图

  • []支持多个Makefile
  • []超时值的配置
  • []更好的错误消息和日志记录
  • []测试和CI/CD管道