项目简介
Tekton MCP 服务器是一个基于 Model Context Protocol (MCP) 的应用后端,旨在连接 LLM 客户端与 Kubernetes 集群中的 Tekton 资源及操作。它允许 LLM 通过标准化的协议访问 Tekton 管道、任务及其运行状态,并触发新的运行或重启现有运行。
主要功能点
- 资源访问: 将 Kubernetes 集群中的 Tekton 对象(包括 PipelineRun, TaskRun, Pipeline, Task, StepAction)作为 MCP 资源公开,允许 LLM 客户端通过 URI 方式读取其详细信息。
- 工具调用: 提供一系列工具,使 LLM 能够执行与 Tekton 相关的操作,例如:
- 按命名空间、名称前缀或标签选择器列出 Tekton 对象。
- 启动新的 Tekton Pipeline 或 Task。
- 重启现有的 Tekton PipelineRun 或 TaskRun。
安装步骤
- 构建项目: 使用 Go 编译器构建项目源代码以生成可执行文件。
- 部署: 将生成的可执行文件部署到具有访问 Kubernetes 集群(特别是 Tekton 安装)权限的环境中。具体的部署方式(例如作为 Kubernetes Pod)取决于您的环境配置。
MCP 客户端配置示例
MCP 客户端需要配置如何启动并连接到此服务器。以下是使用标准输入/输出 (Stdio) 作为传输协议的常见配置示例:
{ "serverName": "tektoncd-mcp-server", "command": ["/path/to/tekton-mcp-server-executable"], "args": [], "initializationOptions": {} }
- 'serverName': MCP 服务器的唯一标识符,用于客户端识别。
- 'command': 启动 Tekton MCP 服务器进程的命令及其在客户端环境中的路径。
- 'args': 传递给服务器进程的命令行参数(如果服务器支持且需要额外配置)。
- 'initializationOptions': MCP 协议定义的初始化参数(如果需要)。
基本使用方法
一旦 MCP 客户端成功连接到 Tekton MCP 服务器,即可通过 MCP 协议与 Kubernetes 集群中的 Tekton 资源和功能进行交互:
- 读取资源: 使用 MCP Resource Read 请求,提供 Tekton 对象的 URI(例如 'tekton://pipelinerun/my-namespace/my-run-name'),以获取该对象的 JSON 格式详情。
- 调用工具: 使用 MCP Tool Call 请求,指定要调用的工具名称(例如 'list_pipelineruns' 或 'start_pipeline')及必要的参数(例如命名空间、名称等),服务器将执行相应操作并返回结果。
信息
分类
开发者工具