Token导航 LogoToken导航

MCP Server · 开发工具

Toolhive Buildkite Plugin

一个用于在CI/CD管道中运行和管理Model Context Protocol (MCP)服务器的Buildkite插件,支持多种服务器来源和灵活配置。

stdio官方级别未说明来源级核验工具 0
自动化部署ShellPython

快速开始

作者 / 组织
StacklokLabs
提供方
StacklokLabs
运行时
Python

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

6

仓库热度

收录来源

1 个

MCP World

选型结论

Toolhive Buildkite Plugin 属于开发工具类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 访问 Token。

分类

开发工具

传输方式

stdio

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

安装命令

python -c "

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

ToolHive Buildkite插件

一个Buildkite插件,支持使用以下方式运行模型上下文协议(MCP)服务器 ToolHive 在您的CI/CD管道中。

特性

  • 自动ToolHive安装:下载并安装ToolHive(如果尚未可用)
  • MCP服务器管理:在管道执行期间启动、管理和清理MCP服务器
  • 多个服务器源:支持注册表服务器、Docker镜像和协议方案(uvx://, npx://, go://)
  • 灵活的配置:自定义传输方法、端口、卷、密钥等

用法

将插件添加到您的管道步骤中:

steps:
  - label: "Run with MCP Server"
    command: "your-command-here"
    plugins:
      - StacklokLabs/toolhive#v0.0.2:
          server: "fetch"  # Server from ToolHive registry

注册表服务器示例

steps:
  - label: "Use Fetch MCP Server"
    command: "curl http://localhost:8080/some-endpoint"
    plugins:
      - StacklokLabs/toolhive#v0.0.2:
          server: "fetch"
          transport: "stdio"
          proxy-port: 8080

Docker镜像示例

steps:
  - label: "Use Custom MCP Server"
    command: "your-command"
    plugins:
      - StacklokLabs/toolhive#v0.0.2:
          server: "my-registry/my-mcp-server:latest"
          transport: "sse"
          volumes:
            - "/host/path:/container/path:ro"

协议方案示例

steps:
  - label: "Use Python MCP Server"
    command: "your-command"
    plugins:
      - StacklokLabs/toolhive#v0.0.2:
          server: "uvx://some-python-mcp-package@1.0.0"
          transport: "streamable-http"
          args:
            - "--verbose"
            - "--config=/path/to/config"

与秘密

steps:
  - label: "Use GitHub MCP Server"
    command: "your-command"
    plugins:
      - StacklokLabs/toolhive#v0.0.2:
          server: "github"
          secrets:
            - name: "github-token"
              target: "GITHUB_PERSONAL_ACCESS_TOKEN"
            - name: "api-key"
              target: "API_KEY"

配置

必需

选项类型描述
serverString要运行的MCP服务器(注册表名、Docker镜像或协议方案)

可选的

选项类型默认值描述
name字符串自动生成MCP服务器实例的自定义名称
transport字符串"" (自动)运输方式: stdio, sse,或 streamable-http
proxy-port整数随机ToolHive代理的特定端口
secrets阵列[]传递给MCP服务器的秘密
volumes阵列[]卷装载格式 "host-path:container-path[:ro]"
args阵列[]要传递给MCP服务器的其他参数
permission-profile字符串默认值MCP服务器的权限配置文件
toolhive-versionString最新要下载的ToolHive的特定版本
cleanup布尔值true退出时是否清理MCP服务器
mcp-config-file字符串./mcp_servers.json生成MCP配置文件的路径
mcp-config-cleanup布尔值true退出时是否删除MCP配置文件

机密配置

Secrets被配置为一个对象数组 name 和 target 属性:

secrets:
  - name: "secret-name-in-toolhive"
    target: "ENVIRONMENT_VARIABLE_NAME"

这 name 指存储在ToolHive的秘密管理系统中的秘密,以及 target 是将在MCP服务器容器中设置的环境变量名称。

请注意,秘密必须在ToolHive中创建,然后才能在插件中使用。

卷配置

卷以Docker卷格式指定为字符串:

volumes:
  - "/host/path:/container/path"      # Read-write mount
  - "/host/path:/container/path:ro"   # Read-only mount

服务器类型

注册表服务器

使用来自的服务器 ToolHive注册表:

# Fetch MCP server
server: "fetch"
# GitHub MCP server
server: "github"
# Filesystem MCP server
server: "filesystem"

Docker镜像

使用任何实现MCP协议的Docker镜像:

# Custom Docker image
server: "my-registry/my-mcp-server:v1.0.0"
# GitHub Container Registry image
server: "ghcr.io/org/mcp-server:latest"

协议方案

使用包管理器运行MCP服务器:

# Python via uv
server: "uvx://python-mcp-package@1.0.0"
# Node.js via npm
server: "npx://node-mcp-package@2.0.0"
# Go module
server: "go://github.com/org/go-mcp-server"

MCP配置文件生成

该插件会自动生成一个MCP配置文件,其中包含所有生成的MCP服务器的连接详细信息。这使得MCP客户端能够轻松发现并连接到可用的服务器。

配置文件格式

生成的文件遵循标准MCP配置格式:

{
  "mcpServers": {
    "fetch-server": {
      "url": "http://localhost:8080/mcp",
      "type": "streamable-http"
    },
    "github-server": {
      "url": "http://localhost:8081/sse#github-server",
      "type": "sse"
    }
  }
}

URL格式详细信息

  • SSE服务器: http://localhost:{port}/sse#{server-name}
  • 流式HTTP服务器: http://localhost:{port}/mcp
  • 类型:要么 "sse" 或 "streamable-http"

环境变量

插件导出 BUILDKITE_PLUGIN_TOOLHIVE_MCP_CONFIG_FILE 指向生成的配置文件:

echo "MCP config file: $BUILDKITE_PLUGIN_TOOLHIVE_MCP_CONFIG_FILE"
cat $BUILDKITE_PLUGIN_TOOLHIVE_MCP_CONFIG_FILE

与MCP客户端一起使用

steps:
  - command: |
      # Use the generated MCP configuration with your tools
      my-mcp-client --config $BUILDKITE_PLUGIN_TOOLHIVE_MCP_CONFIG_FILE
      
      # Or read the configuration programmatically
      python -c "
      import json
      import os
      config_file = os.environ['BUILDKITE_PLUGIN_TOOLHIVE_MCP_CONFIG_FILE']
      with open(config_file) as f:
          config = json.load(f)
          print('Available MCP servers:', list(config['mcpServers'].keys()))
      "
    plugins:
      - StacklokLabs/toolhive#v0.0.2:
          server: "fetch"
          mcp-config-file: "./my_mcp_config.json"

运作原理

  1. 环境挂钩:检查ToolHive是否可用,必要时下载
  2. 预命令挂钩:使用给定的配置启动指定的MCP服务器
  3. 命令执行:您的管道命令在MCP服务器可用的情况下运行
  4. 预出口挂钩:停止并删除MCP服务器(如果启用了清理)

服务器命名

插件会自动生成唯一的服务器名称以避免冲突:

  • 如果通过提供,则使用自定义名称 name 选项
  • 否则将生成: build-{BUILD_NUMBER}-step-{STEP_KEY}-{SERVER_NAME}
  • 名称被规范化(小写,特殊字符被连字符替换)

需求

  • Docker或Podman容器运行时
  • 互联网访问以下载ToolHive(如果尚未安装)
  • 有足够的权限运行容器

故障排除

ToolHive安装问题

如果ToolHive安装失败:

  1. 检查互联网连接
  2. 验证GitHub版本是否可访问
  3. 确保有足够的磁盘空间
  4. 检查安装目录中的文件权限

MCP服务器启动问题

如果MCP服务器无法启动:

  1. 检查服务器日志: thv logs
  2. 验证服务器配置
  3. 确保所需的秘密可用
  4. 检查容器运行时(Docker/Podman)状态

端口冲突

如果遇到端口冲突:

  1. 使用 proxy-port 指定其他端口的选项
  2. 检查使用同一端口的其他服务
  3. 使用动态端口分配(默认行为)

例子

带所有选项的完整示例

steps:
  - label: "Complex MCP Server Setup"
    command: |
      echo "MCP server is running"
      curl http://localhost:9000/health
    plugins:
      - StacklokLabs/toolhive#v0.0.2:
          server: "my-registry/custom-mcp:v2.0.0"
          name: "my-custom-server"
          transport: "sse"
          proxy-port: 9000
          secrets:
            - name: "api-token"
              target: "API_TOKEN"
            - name: "db-password"
              target: "DATABASE_PASSWORD"
          volumes:
            - "./config:/app/config:ro"
            - "./data:/app/data"
          args:
            - "--log-level=debug"
            - "--config=/app/config/server.yml"
          permission-profile: "network"
          toolhive-version: "v0.0.33"
          cleanup: true
          mcp-config-file: "./custom_mcp_config.json"
          mcp-config-cleanup: false

使用不同服务器的多个步骤

steps:
  - label: "Step 1: Use Fetch Server"
    command: "test-fetch-functionality"
    plugins:
      - StacklokLabs/toolhive#v0.0.2:
          server: "fetch"
          
  - label: "Step 2: Use GitHub Server"
    command: "test-github-integration"
    plugins:
      - StacklokLabs/toolhive#v0.0.2:
          server: "github"
          secrets:
            - name: "github-token"
              target: "GITHUB_PERSONAL_ACCESS_TOKEN"

一步完成多个MCP服务器

通过多次调用插件,您可以在一个步骤中运行多个MCP服务器:

steps:
  - label: "Use Multiple MCP Servers"
    command: |
      echo "Both servers are now running"
      curl http://localhost:8080/fetch-endpoint
      curl http://localhost:8081/github-endpoint
    plugins:
      - StacklokLabs/toolhive#v0.0.2:
          server: "fetch"
          name: "fetch-server"
          proxy-port: 8080
      - StacklokLabs/toolhive#v0.0.2:
          server: "github"
          name: "github-server"
          proxy-port: 8081
          secrets:
            - name: "github-token"
              target: "GITHUB_PERSONAL_ACCESS_TOKEN"

多台服务器的重要注意事项:

  • 每个服务器都必须有一个唯一的 name 避免冲突
  • 每台服务器应使用不同的 proxy-port 如果指定
  • 所有服务器将在步骤结束时自动清理
  • 服务器按照插件列表中显示的顺序启动

贡献

  1. 复刻仓库
  2. 创建要素分支
  3. 进行更改
  4. 测试插件
  5. 提交拉取请求

许可证

此项目根据Apache许可证2.0获得许可-请参阅 许可证 文件以获取详细信息。

链接

-

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

Shell本地部署CI/CD插件MCP服务器管理自动化部署容器化工具

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到访问 Token的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Toolhive Buildkite Plugin

MCP World · 本页

0stdio有1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Toolhive Buildkite Plugin 怎么安装?

公开资料给出的安装命令是 python -c ",运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Toolhive Buildkite Plugin 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Toolhive Buildkite Plugin 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Toolhive Buildkite Plugin 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Toolhive Buildkite Plugin 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP