Balena CLI包装服务

一个简单的MCP服务器,包装了Balena CLI,为支持的客户端提供Balena功能。

  • by balena-io-experimental
  • Go
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 balena-io-experimental/balenamcp

使用说明

BalenaMCP

一个简单的MCP服务器,它封装了 balena CLI提供Balena功能 支持的客户。

先决条件

  • 转到1.21或更高版本
  • balena CLI已安装并在PATH中可用
  • 已安装Claude Desktop

安装

# Clone the repository
git clone https://github.com/klutchell/balenamcp.git
cd balenamcp

# Install dependencies
go mod download

# Build the binary
go build -o bin/balenamcp

配置

Claude桌面设置

  1. 打开克劳德桌面

  2. 转到克劳德菜单,选择“设置…”

  3. 点击左侧栏中的“开发人员”

    您可能需要启用开发人员模式才能看到此选项。

  4. 点击“编辑配置”

    这将在以下位置创建或打开配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 窗户: %APPDATA%\Claude\claude_desktop_config.json
  5. 将以下配置添加到文件中:

    {
      "mcpServers": {
        "balenamcp": {
          "command": "/full/path/to/your/balenamcp/bin/balenamcp",
          "args": []
        }
      }
    }
    

    确保更换 /full/path/to/your/balenamcp 通过绝对路径 您的项目目录。

  6. 保存文件并重新启动Claude Desktop

认证

在使用这些工具之前,请确保您已通过Balena的身份验证:

balena login

可用的MCP命令

通过BalenaMCP可以使用以下命令:

  • device-list:列出所有设备
  • device-logs:显示设备日志(需要设备UUID或名称)
  • fleet-list:列出所有车队
  • os-versions:显示设备类型的可用balenaOS版本(需要 设备类型)
  • release-list:列出车队的所有版本(需要车队名称)
  • release-info:获取发布信息(需要发布ID)
  • version:显示balena CLI的版本信息
  • tag-list:列出车队、设备或版本的所有标签(需要资源 类型和名称)

每个命令都可以直接通过Claude Desktop访问。

发展

服务器是使用 MCP Go库 并与 Claude Desktop通过标准输入/输出流。

项目结构

  • main.go:带有工具定义的主服务器实现
  • server/setup.go:服务器设置和工具实现
  • main_test.go:服务器实现测试
  • bin/:内置二进制文件(gitignored)

建筑

# Build for current platform
go build -o bin/balenamcp

# Build for specific platforms
GOOS=linux GOARCH=amd64 go build -o bin/balenamcp-linux-amd64
GOOS=windows GOARCH=amd64 go build -o bin/balenamcp-windows-amd64.exe
GOOS=darwin GOARCH=amd64 go build -o bin/balenamcp-darwin-amd64
GOOS=darwin GOARCH=arm64 go build -o bin/balenamcp-darwin-arm64

运行测试

go test ./...

故障排除

如果遇到MCP服务器问题:

  1. 检查登录:

    • macOS: ~/Library/Logs/Claude/mcp-server-balenamcp.log
    • 窗户: %APPDATA%\Claude\logs\mcp-server-balenamcp.log
  2. 确保balenamcp二进制文件的路径正确且绝对

  3. 确保您拥有执行二进制文件所需的权限

  4. 验证是否已在PATH中安装并可访问balena

许可证

麻省理工学院