Rake任务自动化服务器

一个用于连接大型语言模型(LLMs)和Rake任务的服务器,提供安全、标准化的任务执行接口,适用于项目自动化管理场景。

  • by giovanoh
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 giovanoh/mcp-server-govbox

使用说明

MCP服务器管理箱

模型上下文协议 (MCP) 服务器,旨在促进大语言模型 (LLM) 和 Govbox 项目 Rakefile 任务之间的集成。

📋 关于项目

该服务器充当LLM和Rake命令之间的桥梁,允许语言模型以安全和可控的方式执行自动化任务。该项目旨在简化Rake命令的执行,使其无需事先了解特定命令即可访问。

🎯 目标

主要目标是使LLM能够:

  • 以可编程方式执行 Rakefile 任务
  • 自动化常见进程
  • 减少对 Rake 命令的特定知识需求
  • 提供执行任务的标准化接口

🚀 功能

  • 安全可控的任务执行
  • 支持多个项目
  • 结果同步返回
  • 强大的错误处理

🛠️ 使用的技术

  • Go (Golang) 到 MCP 服务器
  • Ruby/Rake 任务执行
  • Docker 容器

⚙️ 安装和配置

📦 步骤 1: 获取代码

  • 克隆仓库

git clone https://github.com/giovanoh/mcp-server-govbox.git
cd mcp-server-govbox

🔨 Passo 2:构建

  • 使用Docker

docker build -t mcp-server-govbox .
  • 在本地运行

go build cmd/app/main.go

🔧 步骤 3:设置服务器

服务器使用环境变量进行配置。所有的环境变量都必须配置为服务器正常工作。首先:

cp .env.example .env
# Edite o arquivo .env com suas configurações

需要以下环境变量:

  • MCP_GOVBOX_PROJECT_PATHGovbox 项目目录路径
  • MCP_SHELL_PATH: 用于执行命令的 shell (例如 /bin/zsh)
  • MCP_SHELL_OPTIONS: 额外的 shell 参数 (例如: -c)

重要说明: .env 文件必须位于调用服务器的客户端项目的根文件夹中。例如:

  • 如果您在 Windows 上使用 Claude Desktop,则该文件应保存在: C:\Users\<Usuário>\AppData\Local\AnthropicClaude\app-<Versão>\.env
  • 如果您正在使用自己的客户端,请将.env 放在客户端的根文件夹中

在启动服务器之前,请确保在 .env 文件中正确配置了所有变量。

🔧 步骤 4: 客户端设置

要将此服务器与 Claude Desktop 应用程序作为客户端使用,请调整您的文件配置 claude_desktop_config.json 根据例子:

与 Docker 一起使用

{
    "mcpServers": {
        "mcp-server-govbox": {
            "command": "docker",
            "args": [
                "run",
                "--rm",
                "-i",
                "mcp-server-govbox:latest"
            ]
        }
    }
}

直接使用可执行文件

{
    "mcpServers": {
        "mcp-server-govbox": {
            "command": "/path/to/executable"
        }
    }
}

对于其他客户端,请复制所需的配置,并根据您的 LLM 客户端使用的模板进行配置。

# Usando Docker
cp config_docker_example.json config.json
# OU para executável
cp config_executable_example.json config.json

❌ 可能的错误

在服务器运行期间,可能会发生一些错误,并将返回给客户端。以下是可能的错误及其原因:

初始化错误

  • "Error loading .env file":

    • 当 .env 文件未找到时发生
    • 或者当有权限读取文件的问题
    • 或者当文件格式错误
  • "Invalid shell configuration":

    • 当 shell 环境变量不正确或不存在时发生
    • 可能的原因:
      • MCP_GOVBOX_PROJECT_PATH 未定义或为空
      • MCP_SHELL_PATH 未定义或为空
      • 指定的 shell 在系统中不存在

校验错误

  • "Param 'projects' must be a string":
    • 当请求中未提供“ projects” 参数时发生
    • 或者当给定的值不是一个有效的字符串

执行错误

  • "Error during command execution (start)":

    • 启动命令时出现问题
    • 可能的原因: 权限不足、 找不到 shell、 设置错误的环境变量
  • "Error during command execution (wait)":

    • 当执行命令时出现问题时发生
    • 可能的原因:命令突然中断,系统资源问题
  • "Error creating stdout/stderr pipe":

    • 当服务器无法创建管道以捕获命令输出时发生
    • 可能的原因:权限问题,操作系统限制受到影响

如何解决

  1. 检查 .env 文件中的所有环境变量是否正确配置
  2. 确保 .env 文件位于正确的位置
  3. 检查用户是否拥有适当的权限:
    • 读取 .env 文件
    • 运行配置的 shell
    • 访问 Govbox 项目目录
  4. 确认配置的 shell 是否存在并且可以访问
  5. 检查 Govbox 工程路径是否正确
  6. 请检查服务器日志以了解有关错误的详细信息

📝 许可证

这个项目是根据许可证 MIT 学士.