项目简介
'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 系统为例:
- 下载最新的 'ocm-backplane' 压缩包:
(请将 '$(VERSION)' 替换为实际版本号,如 '0.1.1')$ wget https://github.com/openshift/backplane-cli/releases/latest/download/ocm-backplane_$(VERSION)_Linux_x86_64.tar.gz - 解压文件:
$ tar -xvzf ocm-backplane_$(VERSION)_Linux_x86_64.tar.gz - 赋予执行权限并移动到可执行路径:
('$GOBIN' 通常在您的系统 PATH 环境变量中)$ chmod +x ocm-backplane $ mv ocm-backplane $GOBIN
选项 2: 从源代码构建
- 克隆仓库到您的 '$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 - 进入仓库目录并构建:
这将生成名为 'ocm-backplane' 的二进制文件,并将其放置在您的 '$PATH' 中。$ cd backplane-cli $ make build
服务器配置
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' 提供的功能。以下是一些使用示例:
-
获取 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 -
登录到集群: 用户:“请帮我登录到集群 'abc123'。” AI助手将调用 'login' 工具,传入 'clusterId: "abc123"'。 返回消息示例:
Successfully logged in to cluster 'abc123' -
查看集群 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 ...
信息
分类
开发者工具