项目简介
'spacectl' 是 Spacelift 官方提供的命令行工具,用于方便地以程序化方式访问 Spacelift 的 GraphQL API。除了常规的CLI功能外,'spacectl' 还包含一个 Model Context Protocol (MCP) 服务器组件,使兼容MCP的AI客户端(如大型语言模型)能够理解并调用 Spacelift 的特定功能。
主要功能点
当作为MCP服务器运行时,'spacectl' 为AI客户端提供以下能力:
- 列表与搜索: 浏览和搜索 Spacelift 中的 Stacks(基础设施单元)。
- 运行管理: 查看 Stack 的运行历史、获取详细日志、查看基础设施变更。
- 操作触发: 触发 Stack 的新运行、确认等待批准的运行、取消或丢弃运行。
- 资源查看: 列出由 Stack 管理的基础设施资源。
- 本地预览: 基于本地代码创建预览运行,检查基础设施变更计划。
这些功能通过标准化的MCP工具接口暴露给AI客户端,使得AI能够理解和执行与 Spacelift 基础设施相关的任务。
安装步骤
'spacectl' 是一个可执行的命令行工具。请根据您的操作系统和偏好,参考 Spacelift 官方文档或 GitHub 仓库 README 中详细的安装说明进行安装。常见安装方式包括使用包管理器(如 Homebrew, winget)、下载预编译的二进制文件或使用 Docker 镜像。
例如 (使用 Homebrew): 安装命令为 'brew install spacelift-io/spacelift/spacectl'
服务器配置
MCP服务器通常不是独立运行的守护进程,而是由MCP客户端(您的AI工具)在需要时启动并通信的进程。要将 Spacelift MCP 服务器集成到您的AI工具中,您需要在AI工具的MCP配置中指定如何启动 'spacectl' 的MCP服务器模式。
AI工具的MCP配置通常是一个JSON文件。您需要添加一个条目来描述如何启动 Spacelift 的MCP服务器,其中包括服务器名称、启动命令和参数。
- 服务器名称 (server name): 您可以在AI工具中为其指定一个友好的名称,例如 '"spacelift"'。
- 启动命令 (command): 指向 'spacectl' 可执行文件的路径。通常是 '"spacectl"',如果安装在系统的 PATH 中。
- 参数 (args): 启动MCP服务器模式所需的命令行参数,固定为 '["mcp", "server"]'。
如果您使用 Docker 运行 'spacectl' 作为MCP服务器,命令和参数会有所不同,需要包含 Docker 相关的命令和参数,以及必要的环境变量(如认证信息)。
在配置中,您还需要确保 'spacectl' 能够通过环境配置或配置文件获取认证信息,以便连接到您的 Spacelift 账户。具体的认证方法请参考 'spacectl' 的官方文档(通常涉及环境变量如 'SPACELIFT_API_KEY_ID', 'SPACELIFT_API_KEY_SECRET' 或使用 'spacectl profile login' 创建的配置)。
基本使用方法
一旦在您的AI工具中正确配置了 Spacelift MCP 服务器,AI将能够自动识别可用的 Spacelift 工具(如 'list_stacks', 'trigger_stack_run' 等)。当您与AI交互并提出与 Spacelift 相关的任务时,AI会根据上下文自动调用相应的MCP工具来获取信息或执行操作。您无需直接与 'spacectl mcp server' 命令交互,所有通信都由AI客户端后台处理。
例如,您可以直接问AI:"列出我的 Spacelift Stacks",AI应能通过调用 'list_stacks' 工具获取并展示结果。
信息
分类
开发者工具