返回市场
巴拉纳MCP

巴拉纳MCP

作者:balena-io-experimental2 星标更新:2025-05-26

项目介绍

BalenaMCP

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

预备条件

  • Go 1.21或更高版本
  • 已安装并添加到PATH中的balena CLI
  • 已安装的Claude Desktop

安装

# 克隆仓库
git clone https://github.com/klutchell/balenamcp.git
cd balenamcp

# 安装依赖
go mod download

# 构建二进制文件
go build -o bin/balenamcp

配置

Claude Desktop 设置

  1. 打开Claude Desktop

  2. 转到Claude菜单并选择“设置...”

  3. 在左侧栏中点击“开发者”

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

  4. 点击“编辑配置”

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

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %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/: 构建的二进制文件(被git忽略)

构建

# 为当前平台构建
go build -o bin/balenamcp

# 为特定平台构建
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
    • Windows: %APPDATA%\Claude\logs\mcp-server-balenamcp.log
  2. 确保balenamcp二进制文件的路径正确且为绝对路径

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

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

许可证

MIT