项目简介

'backplane-cli' 是一个用于与 OpenShift Backplane API 交互的命令行工具。它集成了 Model Context Protocol (MCP) 服务器,使AI助手能够通过标准化的工具接口,查询 Backplane CLI 的安装和配置信息,并与 Backplane 资源进行交互,执行各种运维操作。

主要功能点

  • 信息查询 (info):获取 Backplane CLI 的安装版本、配置详情(如URL、代理设置、会话目录)及环境信息(如主目录、当前目录、Shell类型)。
  • 登录管理 (login):允许AI助手登录到指定的 Backplane 集群。
  • 控制台访问 (console):启动指定集群的 OpenShift Web 控制台,并可选择在浏览器中自动打开。
  • Kubernetes 资源操作 (cluster-resource):执行对集群Kubernetes资源的只读操作,包括获取 (get)、描述 (describe)、查看日志 (logs)、查看资源使用情况 (top) 和解释 (explain) 资源定义。
  • 云控制台访问 (cloud-console):获取集群云提供商控制台的访问链接,支持使用临时凭证并可选择在浏览器中自动打开。

安装步骤

在安装 'backplane-cli' 之前,请确保您的系统已安装 Go 语言环境,版本为 1.19 或更高。

选项 1: 从发布页面下载预构建二进制文件

访问 GitHub 的 releases 页面,下载对应您操作系统的最新二进制包。

以 Linux 系统为例:

  1. 下载最新的 'ocm-backplane' 压缩包:
    $ wget https://github.com/openshift/backplane-cli/releases/latest/download/ocm-backplane_$(VERSION)_Linux_x86_64.tar.gz
    (请将 '$(VERSION)' 替换为实际版本号,如 '0.1.1')
  2. 解压文件:
    $ tar -xvzf ocm-backplane_$(VERSION)_Linux_x86_64.tar.gz
  3. 赋予执行权限并移动到可执行路径:
    $ chmod +x ocm-backplane
    $ mv ocm-backplane $GOBIN
    ('$GOBIN' 通常在您的系统 PATH 环境变量中)

选项 2: 从源代码构建

  1. 克隆仓库到您的 '$PATH' 中的某个位置,例如 '$GOPATH/src/github.com/openshift':
    $ mkdir -p $GOPATH/src/github.com/openshift
    $ cd $GOPATH/src/github.com/openshift
    $ git clone [email protected]:openshift/backplane-cli.git
  2. 进入仓库目录并构建:
    $ cd backplane-cli
    $ make build
    这将生成名为 'ocm-backplane' 的二进制文件,并将其放置在您的 '$PATH' 中。

服务器配置

MCP 服务器通过 JSON-RPC 协议与客户端通信。要将 'backplane-cli' 的 MCP 服务器与AI助手集成,您需要在AI助手的配置中指定 MCP 服务器的启动命令及其参数。

以下是针对流行AI助手客户端的配置示例:

Gemini CLI 配置

在您的 Gemini CLI 配置文件中(通常是 '~/.config/gemini/config.yaml' 或类似路径)添加以下内容:

# Gemini CLI Configuration
tools:
  mcp:
    servers:
      backplane:
        command: ["ocm-backplane", "mcp"]
        description: "OpenShift Backplane CLI integration"
  • 'command': 指定启动 'backplane-cli' MCP 服务器的命令。
  • 'description': 对该 MCP 服务器的简要描述。

Claude Desktop 配置

在您的 Claude Desktop 配置文件中(macOS: '~/Library/Application Support/Claude/claude_desktop_config.json',Windows: '%APPDATA%\Claude\claude_desktop_config.json')添加以下内容:

{
  "mcpServers": {
    "backplane": {
      "command": ["ocm-backplane", "mcp"],
      "args": [],
      "description": "OpenShift Backplane CLI integration"
    }
  }
}
  • 'command': 指定启动 'backplane-cli' MCP 服务器的命令。
  • 'args': 启动服务器时附加的参数(例如 '["--http", "--port", "3000"]' 用于HTTP传输)。对于默认的 Std-io 传输,通常为空数组。
  • 'description': 对该 MCP 服务器的简要描述。

注意:

  • 'ocm-backplane mcp' 命令默认使用 'Stdio' 传输方式,直接通过标准输入/输出来与客户端通信。
  • 如果您想使用 HTTP 传输方式,可以在 'args' 中添加 '--http' 和 '--port <PORT>' 参数,例如 '["ocm-backplane", "mcp", "--http", "--port", "8080"]'。

基本使用方法

配置完成后,您的AI助手即可通过 MCP 协议调用 'backplane-cli' 提供的功能。以下是一些使用示例:

  1. 获取 Backplane CLI 信息: 用户向AI助手提问:“Backplane CLI 的当前版本是什么?或者 Backplane CLI 的配置信息是什么?” AI助手将调用 'info' 工具,并返回:

    Backplane CLI Information:
    
    Version: 1.2.3
    
    Configuration:
    - Backplane URL: https://api.backplane.example.com
    - Session Directory: backplane
    - Proxy URL: not configured
    - AWS Proxy: not configured
    - Display Cluster Info: true
    - GovCloud: false
    
    Environment:
    - Home Directory: /home/user
    - Current Directory: /path/to/backplane-cli
    - Shell: /bin/bash
  2. 登录到集群: 用户:“请帮我登录到集群 'abc123'。” AI助手将调用 'login' 工具,传入 'clusterId: "abc123"'。 返回消息示例:

    Successfully logged in to cluster 'abc123'
  3. 查看集群 Pods: 用户:“显示 'kube-system' 命名空间中的所有 Pod。” AI助手将调用 'cluster-resource' 工具,传入 'action: "get"', 'resourceType: "pod"', 'namespace: "kube-system"'。 返回消息示例:

    📋 Resources of type 'pod' in namespace 'kube-system':
    
    NAME                               READY   STATUS    RESTARTS   AGE
    kube-scheduler-6979685954-g4545    1/1     Running   0          1d
    kube-apiserver-65f57c5d7-f4f4f     1/1     Running   0          1d
    ...

信息

分类

开发者工具