使用说明
项目简介
PipeCD MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,它允许大型语言模型 (LLM) 客户端通过标准化的 MCP 协议访问和操作 PipeCD (一个持续交付平台) 中的资源。该服务器作为 LLM 和 PipeCD 之间的桥梁,使得 LLM 应用能够获取 PipeCD 管理的应用、部署以及日志等信息,从而实现更智能化的 DevOps 流程集成,例如基于 LLM 的自动化运维、智能告警分析等。
主要功能点
- 资源访问 (Resources): 通过 MCP 协议提供对 PipeCD 平台中应用 (Application)、部署 (Deployment) 和部署阶段日志 (Deployment Stage Logs) 等资源的读取能力。支持通过预定义的 URI 模板访问特定资源,例如:
- 'pipecd://applications/{applicationId}' 获取应用详情
- 'pipecd://deployments/{deploymentId}' 获取部署详情
- 'pipecd://deployment-stage-logs/{deploymentId}/{stageId}' 获取部署阶段日志
- 工具调用 (Tools): 注册并提供了一系列工具,允许 LLM 客户端调用 PipeCD 的功能,目前包括:
- 'ListApplications': 列出 PipeCD 管理的所有应用,支持分页游标。
- 'ListDeployments': 列出 PipeCD 管理的部署,可以按应用 ID 筛选,支持分页游标。
- 'GetDeployment': 获取指定 ID 的部署详情。
- 'GetDeploymentStageLogs': 获取指定部署 ID 和阶段 ID 的部署阶段日志。
- 基于 Stdio 的传输协议: 使用标准输入输出 (stdio) 作为 MCP 服务器与客户端的通信通道,方便集成和部署。
安装步骤
- 安装 Go 环境: 确保你的开发环境中已安装 Go 语言环境 (>= 1.20)。
- 获取源代码: 使用 'go get' 命令下载仓库源代码:
go get github.com/Warashi/mcp-server-pipecd - 编译服务器: 进入项目目录 '$GOPATH/github.com/Warashi/mcp-server-pipecd',执行编译命令:
编译成功后,会在当前目录下生成可执行文件 'mcp-server' (或 'mcp-server.exe' 在 Windows 环境下)。go build -o mcp-server server.go main.go applications.go deployments.go resource.go
服务器配置
MCP 客户端需要配置以下 JSON 格式信息以连接到 PipeCD MCP Server。请根据你的实际 PipeCD 环境配置以下参数:
{ "serverName": "PipeCD-MCP-Server", "command": "/path/to/mcp-server", // 请替换为 mcp-server 可执行文件的实际路径 "args": [], "env": { "PIPECD_HOST": "<your_pipecd_api_endpoint>", // PipeCD API Endpoint,例如 "localhost:9082" "PIPECD_API_KEY": "<your_pipecd_api_key>", // PipeCD API Key,用于认证 // "PIPECD_API_KEY_FILE": "/path/to/api_key_file", // (可选) API Key 文件路径,如果使用文件存储 API Key // "PIPECD_INSECURE": "true" // (可选) 如果 PipeCD API Endpoint 使用非 TLS 连接,设置为 "true" } }
配置参数说明:
- 'serverName': MCP 服务器的名称,可以自定义。
- 'command': 'mcp-server' 可执行文件的绝对路径。请根据你的实际情况修改。
- 'args': 启动 'mcp-server' 的命令行参数,本项目不需要额外的参数,保持空数组即可。
- 'env': 环境变量配置,用于 'mcp-server' 连接 PipeCD API:
- 'PIPECD_HOST': (必须) PipeCD API 服务器的地址和端口。
- 'PIPECD_API_KEY': (必须) 用于访问 PipeCD API 的 API Key。 你可以直接将 API Key 字符串填在此处,或者使用 'PIPECD_API_KEY_FILE' 指定 API Key 文件路径。
- 'PIPECD_API_KEY_FILE': (可选) API Key 文件路径。如果设置此项,'mcp-server' 会从指定文件中读取 API Key。
- 'PIPECD_INSECURE': (可选) 如果你的 PipeCD API Endpoint 使用非 TLS 连接 (例如 HTTP),则需要设置为 '"true"'。 默认情况下,'mcp-server' 会尝试使用 TLS 连接 (HTTPS)。
重要提示:
- 请务必替换 '<your_pipecd_api_endpoint>' 和 '<your_pipecd_api_key>' 为你实际的 PipeCD API Endpoint 和有效的 API Key。
- 推荐使用 'PIPECD_API_KEY_FILE' 环境变量,并将 API Key 存储在安全的文件中,避免将敏感信息直接暴露在配置文件中。
- 确保 'mcp-server' 可执行文件具有执行权限。
基本使用方法
- 启动 MCP 客户端: 配置好上述 JSON 格式的服务器配置信息后,启动你的 MCP 客户端应用,客户端会根据配置连接到 PipeCD MCP Server。
- 发现服务器能力: 客户端连接成功后,可以向服务器发送 'Server.Describe' 请求,获取服务器提供的资源模板 (Resource Templates) 和工具 (Tools) 列表。
- 读取资源: 使用 'Resource.Read' 方法,并提供资源 URI (例如 'pipecd://applications/{applicationId}') 来读取 PipeCD 中的资源数据。
- 调用工具: 使用 'Tool.Execute' 方法,并指定工具名称和参数 (JSON 格式),来调用服务器提供的工具功能,例如列出应用或部署。
通过以上步骤,LLM 应用即可利用 PipeCD MCP Server 提供的接口,获取 PipeCD 平台的数据并进行进一步的分析和处理,实现更丰富的智能化应用场景。
信息
分类
开发者工具