项目简介
Cyclops MCP 是 Cyclops UI 项目的一部分,它提供了一个 Model Context Protocol (MCP) 服务器,旨在让AI代理能够安全、高效地管理 Kubernetes 集群中的应用程序和配置,通过抽象底层的Kubernetes复杂性,转而操作高层次的 Cyclops Module。
主要功能点
- 模块管理:提供工具用于列出、获取、创建和更新 Cyclops Module。Cyclops Module 是 Cyclops 中用于定义应用部署的抽象单元,隐藏了复杂的 Kubernetes YAML 细节。
- 模板信息查询:允许AI代理获取用于创建 Module 的应用模板的 JSON Schema,帮助代理理解配置结构、验证输入值,确保生成的配置有效。
- 模板库管理:提供工具列出和获取 Kubernetes 集群中已配置的模板库 (Template Stores),这些库包含了可用的应用模板信息。
安装步骤
-
安装 Cyclops UI:确保已经在您的 Kubernetes 集群中安装了 Cyclops UI。请参照 Cyclops 官方文档进行安装。
-
下载 MCP 服务器:使用 Go 工具链下载并安装 Cyclops MCP 服务器二进制文件。
GOBIN="$HOME/go/bin" go install github.com/cyclops-ui/mcp-cyclops/cmd/mcp-cyclops@latest这会将 'mcp-cyclops' 可执行文件安装到您的 '$HOME/go/bin' 目录下(请确保该目录已添加到您的系统 PATH 环境变量中)。
服务器配置
MCP 客户端需要知道如何启动 Cyclops MCP 服务器才能与之通信。通常,这通过一个配置文件指定 MCP 服务器的启动命令和参数。以下是一个典型的 JSON 格式配置示例:
{ "mcpServers": { "mcp-cyclops": { "command": "mcp-cyclops", // 启动 Cyclops MCP 服务器的命令 (确保该命令在 PATH 中可执行) // 可选的环境变量配置,用于自定义服务器行为: "env": { "KUBECONFIG": "/path/to/your/kubeconfig", // (可选) 指定 Kubernetes kubeconfig 文件路径,默认使用标准查找路径 (~/.kube/config 或 In-cluster) "CYCLOPS_KUBE_CONTEXT": "my-cluster-context", // (可选) 指定要使用的 Kubernetes context "CYCLOPS_MODULE_NAMESPACE": "cyclops", // (可选) 指定 Cyclops Module 所在的 Kubernetes 命名空间 (默认值: cyclops) "CYCLOPS_HELM_RELEASE_NAMESPACE": "default", // (可选) 指定通过 Module 部署的 Helm Release 所在的 Kubernetes 命名空间 "CYCLOPS_MODULE_TARGET_NAMESPACE": "my-app-namespace" // (可选) 指定 Module 默认的目标部署命名空间 } } } }
MCP 客户端会根据此配置来启动 'mcp-cyclops' 进程,并通过标准输入/输出与之建立 MCP 连接。
基本使用方法
配置完成后,AI代理通过MCP客户端连接到 Cyclops MCP 服务器。代理可以调用服务器提供的工具(例如 'list_template_store', 'get_template_schema', 'create_module', 'update_module', 'list_modules', 'get_module')来执行管理任务。例如:
- AI代理可以首先调用 'list_template_store' 工具获取所有可用的应用模板库列表。
- 选择一个模板后,调用 'get_template_schema' 获取该模板详细的配置结构,以便代理可以生成符合要求的配置值。
- 利用获取的 schema 和用户意图,代理构建配置值,并调用 'create_module' 工具来创建新的应用模块,部署应用。
- 代理还可以随时调用 'list_modules' 查看当前集群中已部署的应用模块,或调用 'update_module' 来修改现有模块的配置。
这种交互方式使得AI代理能够在更高级别的抽象上理解和管理 Kubernetes 应用,大大简化了复杂性。
信息
分类
开发者工具