项目简介

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。

安装步骤

  1. 构建项目: 使用 Go 编译器构建项目源代码以生成可执行文件。
  2. 部署: 将生成的可执行文件部署到具有访问 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')及必要的参数(例如命名空间、名称等),服务器将执行相应操作并返回结果。

信息

分类

开发者工具