Token导航 LogoToken导航TokenDH.com
Shipwright MCP Server logo
运维云端未说明官方级别未说明来源级核验

Shipwright MCP Server

MCP Server

Shipwright Build MCP服务器是一个用于管理Kubernetes原生CI/CD框架中容器镜像构建的工具,支持构建、构建运行和策略管理。

工具数

11

提示词数

0

GitHub Stars

0

资源数

0
Go开发工具CI/CD

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ayushsatyam146

提供方

ayushsatyam146

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Shipwright构建MCP服务器

Shipwright Build项目的模型上下文协议(MCP)服务器。此服务器提供用于与Shipwright构建资源交互的工具,包括构建、构建运行、构建策略和集群构建策略。

概述

此MCP服务器通过MCP客户端可以使用的标准化工具公开Shipwright Build功能。它旨在与Shipwright Build Kubernetes原生CI/CD框架配合使用,从源代码构建容器映像。

特性

构建管理

  • list_builds -列表在具有筛选选项的命名空间中构建
  • get_build -获取特定版本的详细信息
  • 创建_构建 -从源创建新的构建资源
  • 删除_构建 -删除构建资源

BuildRun管理

  • list_buildruns -在具有筛选选项的命名空间中列出构建运行
  • get_buildrun -获取特定构建运行的详细信息
  • create_buildrun -创建新的BuildRun(从现有的Build或内联规范)
  • restart_buildrun -通过创建新的buildrun来重新启动buildrun
  • delete_buildrun -删除BuildRun资源

战略管理

  • 列表_构建策略 -列出具有筛选选项的命名空间范围的构建策略
  • list_clusterbuild策略 -列出具有筛选选项的集群范围的构建策略

先决条件

  • 转到1.23或更高版本
  • 安装Shipwright Build后访问Kubernetes集群
  • 正确的Kubernetes配置(kubeconfig或集群配置)

安装

  1. 构建服务器:
go build -o shipwright-build-mcp-server main.go

用法

该服务器作为标准MCP服务器在stdin/stdout上运行。您可以将其与任何MCP客户端一起使用。

运行服务器

./shipwright-build-mcp-server

客户端配置示例

请参考本项目根目录下的config.example.json

可用工具

构建工具

list_builds -使用筛选选项在命名空间中构建列表

  • namespace:要列出生成的命名空间(字符串,必填)
  • prefix:筛选器构建的名称前缀(字符串,可选)
  • label-selector:用于筛选构建的标签选择器(字符串,可选)

get_build –按名称获取特定版本

  • name:要获取的版本名称(字符串,必填)
  • namespace:构建所在的命名空间(字符串,可选,默认值:“default”)

create_build –创建新的构建资源

  • name:要创建的版本名称(字符串,必填)
  • namespace:将创建构建的命名空间(字符串,可选,默认值:“default”)
  • source-type:源类型-“Git”或“OCI”(字符串,必填)
  • source-url:源URL(Git存储库或OCI映像)(字符串,必填)
  • context-dir:源中的上下文目录(字符串,可选)
  • revision:Git修订版(分支、标记或提交SHA)(字符串,可选)
  • strategy:构建策略名称(字符串,必填)
  • strategy-kind:构建策略类型-“构建策略”或“集群构建策略”(字符串,可选,默认值:“集群构建战略”)
  • output-image:输出容器图像引用(字符串,必填)
  • parameters:将参数构建为键值对(对象,可选)
  • timeout:构建超时持续时间,例如“30m”、“1h”(字符串,可选)

delete_build –删除构建资源

  • name:要删除的版本名称(字符串,必填)
  • namespace:构建所在的命名空间(字符串,可选,默认值:“default”)

BuildRun工具

list_buildruns –列表构建在具有筛选选项的命名空间中运行

  • namespace:用于列出构建运行的命名空间(字符串,必填)
  • prefix:筛选构建运行的名称前缀(字符串,可选)
  • label-selector:筛选构建运行的标签选择器(字符串,可选)

get_buildrun –按名称获取特定的BuildRun

  • name:要获取的构建运行的名称(字符串,必填)
  • namespace:buildrun所在的命名空间(字符串,可选,默认值:“default”)

create_buildrun –创建新的BuildRun资源

此工具支持两种模式:

模式1:参考现有版本

  • name:构建运行的名称(字符串,可选-如果未提供,则自动生成)
  • namespace:将创建buildrun的命名空间(字符串,可选,默认值:“default”)
  • build-name:要运行的现有版本的名称(字符串,此模式需要)
  • parameters:构建要覆盖的参数(对象,可选)
  • timeout:BuildRun超时持续时间(字符串,可选)
  • service-account:构建运行的服务帐户(字符串,可选)

模式2:内联构建规范

  • name:构建运行的名称(字符串,可选-如果未提供,则自动生成)
  • namespace:将创建buildrun的命名空间(字符串,可选,默认值:“default”)
  • source-type:源类型-“Git”或“OCI”(字符串,此模式需要)
  • source-url:源URL(字符串,此模式需要)
  • context-dir:上下文目录(字符串,可选)
  • revision:Git版本(字符串,可选)
  • strategy:构建策略名称(字符串,此模式需要)
  • strategy-kind:构建策略类型(字符串,可选,默认值:“ClusterBuildStrategy”)
  • output-image:输出图像(字符串,此模式需要)
  • parameters:构建参数(对象,可选)
  • timeout:BuildRun超时持续时间(字符串,可选)
  • service-account:构建运行的服务帐户(字符串,可选)

restart_buildrun –通过创建新的BuildRun重新启动BuildRun

  • name:要重新启动的构建运行的名称或引用(字符串,必填)
  • namespace:buildrun所在的命名空间(字符串,可选,默认值:“default”)

delete_buildrun –删除BuildRun资源

  • name:要删除的构建运行的名称(字符串,必填)
  • namespace:buildrun所在的命名空间(字符串,可选,默认值:“default”)

战略工具

list_buildstrategies –在命名空间中列出带有筛选选项的构建策略

  • namespace:用于列出生成策略的命名空间(字符串,必填)
  • prefix:筛选构建策略的名称前缀(字符串,可选)
  • label-selector:用于筛选构建策略的标签选择器(字符串,可选)

list_clusterbuildstrategies –列出带有过滤选项的集群构建策略

  • prefix:用于筛选集群构建策略的名称前缀(字符串,可选)
  • label-selector:用于筛选集群构建策略的标签选择器(字符串,可选)

例子

创建构建

{
  "name": "my-app-build",
  "namespace": "default",
  "source-type": "Git",
  "source-url": "https://github.com/my-org/my-app",
  "context-dir": ".",
  "revision": "main",
  "strategy": "buildah",
  "strategy-kind": "ClusterBuildStrategy",
  "output-image": "quay.io/my-org/my-app:latest",
  "parameters": {
    "dockerfile": "Dockerfile"
  },
  "timeout": "30m"
}

从现有版本创建BuildRun

{
  "name": "my-app-build-run-1",
  "namespace": "default",
  "build-name": "my-app-build",
  "service-account": "build-sa"
}

使用内联规范创建BuildRun

{
  "namespace": "default",
  "source-type": "Git",
  "source-url": "https://github.com/my-org/my-app",
  "strategy": "buildah",
  "output-image": "quay.io/my-org/my-app:v1.0.0",
  "parameters": {
    "dockerfile": "Dockerfile.prod"
  }
}

删除内部版本

{
  "name": "my-app-build",
  "namespace": "default"
}

删除BuildRun

{
  "name": "my-app-build-run-1",
  "namespace": "default"
}

配置

服务器会自动检测并使用Kubernetes配置:

  1. 在集群配置中 -在Kubernetes pod中运行时
  2. Kubeconfig文件 -在集群外运行时(使用 ~/.kube/config 默认情况下)

Docker支持

您还可以在容器中运行服务器:

podman build -t shipwright-build-mcp-server .
podman run shipwright-build-mcp-server

发展

从源头运行

go run main.go

添加新工具

要添加新工具,请修改 main.go:

  1. 为工具定义参数结构
  2. 执行工具功能
  3. 使用在服务器上注册该工具 mcp.AddTool()

与Shipwright Build集成

此服务器旨在与Shipwright Build v0.13.0及更高版本配合使用。它使用 v1beta1 API版本,即当前的稳定版本。

支持的资源

  • 构建 (builds.shipwright.io/v1beta1)-构建定义
  • BuildRun (buildruns.shipwright.io/v1beta1)-构建执行实例
  • 构建策略 (buildstrategies.shipwright.io/v1beta1)-命名空间范围的构建策略
  • 集群建设策略 (clusterbuildstrategies.shipwright.io/v1beta1)-集群范围的构建策略

错误处理

服务器通过描述性消息提供全面的错误处理:

  • 验证错误 -缺少必需的参数,格式无效
  • Kubernetes错误 -找不到资源,权限被拒绝,API错误
  • 网络错误 -连接问题、超时错误

所有错误都以MCP错误响应的形式返回,并带有有用的上下文。

目录标签

目录标签

Go开发工具CI/CD容器构建本地部署Kubernetes镜像构建

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

11

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP