mcpField
G
gocd

gocd

ローカル
github.com/Sahilll15クラウド・インフラ19 週間前に更新

gocd について

gocd-mcp は GoCD の REST API を MCP クライアントに公開し、パイプラインの確認と操作を可能にします。Go と TypeScript の実装があり、簡潔で絞り込み可能な出力により、モデルのコンテキストに入るダッシュボード情報を抑えます。

主な機能

  1. 01パイプラインとサーバーの状態確認
  2. 02実行・ステージ・履歴の確認
  3. 03エージェント、マテリアル、環境の一覧
  4. 04実行間の比較とアーティファクト取得
  5. 05パイプラインの実行・一時停止・再開
  6. 06大きな応答の圧縮と絞り込み

活用シーン

  1. 01GoCD ダッシュボード全体のパイプライン状態確認
  2. 02失敗したステージやジョブの調査
  3. 03パイプライン実行間のコミット比較
  4. 04モデルのコンテキストを抑えながらパイプラインを操作

MCP 対応

読み取り操作とパイプライン制御を含む GoCD REST API の機能を MCP ツールとして公開します。GOCD_READONLY=1 を設定すると、3つの書き込みツールが非表示になります。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"sahilll15-gocd": {
"command": "npx",
"args": [
"-y",
"gocd-mcp"
],
"env": {
"GOCD_BASE_URL": "<GOCD_BASE_URL>",
"GOCD_ACCESS_TOKEN": "<GOCD_ACCESS_TOKEN>"
}
}
}
}
起動コマンドnpx -y gocd-mcp
設定が必要な環境変数
GOCD_BASE_URLGoCD base host, e.g. https://gocd.example.com (no trailing /go)
GOCD_ACCESS_TOKENシークレットGoCD personal access token

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmgocd-mcp0.1.2

ツール

19

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
limitnumberいいえ
detailbooleanいいえ
filterstringいいえ
statusstringいいえ

詳細

gocd-mcp

GoCD 用の MCP サーバーです。GoCD の REST API を MCP ツールとして公開するため、どの MCP クライアント(Claude Code、Claude Desktop、Cursor)からでもパイプラインの状態を読み取り、パイプラインを実行できます。このリポジトリには、通信時の動作が同一の 2 つの実装があります。インストール方法に合わせて選んでください。

  • go/ — Go の実装です。単一の静的バイナリまたは Docker イメージとして提供されます。起動が速く、メモリ使用量も少なくなっています。
  • ts/ — TypeScript の実装です。依存関係なしで Node 上で動作するため、npx でビルドする必要はありません。

どちらも同じくコンテキストを節約する出力を返します。ダッシュボードはデフォルトで要約され、行は列指向で、レスポンスはコンパクトな JSON です。GoCD の完全なダッシュボードは多数のパイプラインを含み、数 MB に及びますが、これらのツールはモデルに必要な情報だけに絞り込みます。

ツール

読み取りツール(安全):

ツール説明
gocd_dashboardダッシュボードの健全性。引数なしの場合は要約を返し、filter/status/detail で詳細を確認できます
gocd_pipeline_status1 つのパイプラインの一時停止/ロック/スケジュール可能状態
gocd_pipeline_instance1 回の実行:ジョブごとの結果を含むステージとトリガー
gocd_pipeline_history1 つのパイプラインの最近の実行履歴。limit は省略可能です
gocd_stage_instance1 回のステージ実行のジョブごとの状態とエージェント
gocd_stage_history1 つのステージの最近の実行履歴
gocd_compare2 回の実行間での変更点:マテリアルごとのコミット
gocd_list_artifactsジョブのアーティファクトファイルを [path, url] として返します
gocd_get_artifact1 つのアーティファクトファイル。コンテキストを節約するため末尾を cap_kb で制限します
gocd_list_agentsビルドエージェントと状態。filter、limit は省略可能です
gocd_get_agentUUID を指定して 1 つのエージェントを取得します
gocd_materials設定済みのマテリアル。filter は省略可能です
gocd_environments環境と、パイプライン/変数の数
gocd_pipeline_groupsパイプライングループ。フィルターを指定するとグループ内のパイプラインを一覧表示します
gocd_server_healthサーバーの健全性メッセージをレベルごとに集計します
gocd_versionGoCD サーバーのバージョン

書き込みツール(操作):

ツール説明
gocd_trigger_pipelineパイプラインの実行をスケジュールします
gocd_pause_pipelineパイプラインを一時停止します
gocd_unpause_pipelineパイプラインを再開します

GOCD_READONLY=1 を設定すると、3 つの書き込みツールが非表示になります。大規模な一覧 (dashboard、pipeline_groups、materials、environments)は要約または フィルター可能なため、数 MB に及ぶ生の内容がモデルのコンテキストにそのまま渡されることはありません。

設定

環境変数は 2 つあり、どちらも必須です。

GOCD_BASE_URL=https://gocd.example.com
GOCD_ACCESS_TOKEN=<personal access token>

GOCD_BASE_URL は末尾に /go を付けないホストの URL です。ツールが /go/api/... を付加します。トークンは GoCD のプロフィールにある「Personal Access Tokens」で作成してください。

インストール

npx(Node >= 18)、推奨

インストール不要で、ビルドも不要です。サーバーを実行する最も簡単な方法です。

claude mcp add gocd -e GOCD_BASE_URL=... -e GOCD_ACCESS_TOKEN=... -- npx -y gocd-mcp

npm では gocd-mcp、MCP Registry では io.github.Sahilll15/gocd として公開されているため、レジストリに対応したクライアントは名前で見つけられます。

Go バイナリ

Releases からビルド済みバイナリをダウンロードするか、自分でビルドしてください。

cd go && go build -o gocd-mcp .

登録します。

claude mcp add gocd -e GOCD_BASE_URL=... -e GOCD_ACCESS_TOKEN=... -- /path/to/gocd-mcp
Docker
claude mcp add gocd -e GOCD_BASE_URL=... -e GOCD_ACCESS_TOKEN=... \
  -- docker run -i --rm -e GOCD_BASE_URL -e GOCD_ACCESS_TOKEN ghcr.io/sahilll15/gocd-mcp

開発中に TypeScript のソースを直接実行する場合(Node >= 22.6、型ストリッピングを使用):

cd ts && node --experimental-strip-types src/server.ts

どちらを選ぶか

機能は同一です。ローカルのベンチマークでは、Go ビルドは約 4 倍速く起動し(コールドスタートで約 21ms 対 約 80ms)、メモリ使用量は約 6 分の 1 でした。リクエストごとのレイテンシは、GoCD へのネットワーク往復が支配的なため同等でした。セッションごとに起動するサーバーには Go バイナリまたは Docker イメージを、インストール不要の方法を使いたく、すでに Node がある場合は npx をおすすめします。

構成

gocd-mcp/
├── go/            Go implementation (main.go, internal/gocd)
├── ts/            TypeScript implementation (src/server.ts source; publishes as compiled dist/server.js)
├── Dockerfile     builds the Go binary into a distroless image
├── .goreleaser.yaml + .github/workflows/release.yml   prebuilt binaries + ghcr image on tag
└── server.json    MCP Registry manifest

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。