mcpField
P
Pinner MCP 📍

Pinner MCP 📍

ローカル
github.com/safedepセキュリティ1360 週間前に更新

Pinner MCP 📍 について

Pinner MCPは、DockerのベースイメージとGitHub Actionsに対応し、サードパーティ依存関係を不変のダイジェストに固定するMCPサーバーです。AIワークフローで依存バージョンを管理する開発者向けです。

主な機能

  1. 01Dockerベースイメージのダイジェスト固定
  2. 02GitHub Actionsをコミットハッシュに固定
  3. 03固定した依存バージョンの更新
  4. 04Dockerコンテナで実行

活用シーン

  1. 01コンテナのベースイメージを固定
  2. 02GitHub Actionsをコミットに固定
  3. 03プロジェクト内の固定バージョンを更新

MCP 対応

stdioトランスポートで動作し、MCPクライアントからDockerベースイメージとGitHub Actionsのバージョン固定や更新を行えます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"pinner": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/safedep/pinner-mcp:latest"
]
}
}
}
起動コマンドdocker run -i --rm ghcr.io/safedep/pinner-mcp:latest

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

パッケージ
ocighcr.io/safedep/pinner-mcp:latest

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Pinner MCP 📍

サードパーティーの依存関係を不変のダイジェストに固定できる、Model Context Protocol(MCP)サーバーです。 対応する依存関係の種類は次のとおりです。

  • Docker ベースイメージ
  • GitHub Actions

Pinner MCP

📦 使い方

stdio トランスポートを使用して、コンテナーとして実行します。

docker run -it --rm ghcr.io/safedep/pinner-mcp:latest
💻 VS Code

ワークスペースの .vscode/mcp.json ファイルに次の内容を追加します。GitHub Copilot 拡張機能がインストールされ、有効になっている必要があります。

{
  "servers": {
    "pinner-mcp": {
      "type": "stdio",
      "command": "docker",
      "args": ["run", "--rm", "-i", "ghcr.io/safedep/pinner-mcp:latest"]
    }
  }
}

次のようなプロンプトを使って、GitHub Copilot Chat を使用します。

Pin GitHub Actions to their commit hash
Pin container base images to digests

固定したバージョンを更新するには、次のようなプロンプトを使用できます。

Update pinned versions of container base images
💻 Cursor

.cursor/mcp.json ファイルに次の内容を追加します。設定で MCP サーバーを 有効にする 必要があります。詳しくはこちらをご覧ください。

{
  "mcpServers": {
    "pinner-mcp-stdio-server": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "ghcr.io/safedep/pinner-mcp:latest"]
    }
  }
}

特定のコミットハッシュを固定するには、次のような Composer プロンプトを使用します。

Pin GitHub Actions to their commit hash
Pin container base images to digests

固定したバージョンを更新するには、次のようなプロンプトを使用できます。

Update pinned versions of container base images
🔄 ツールの更新

MCP サーバーの更新は、GitHub Container Registry の latest タグに自動的にプッシュされます。ローカルのコンテナーイメージは、手動で最新バージョンに更新する必要があります。

docker pull ghcr.io/safedep/pinner-mcp:latest

🔧 開発

ローカルでのビルド

このプロジェクトをローカルで開発するには、コンテナーイメージをローカルでビルドします。

docker build -t pinner-mcp:local .

このリポジトリの .vscode/mcp.json と .cursor/mcp.json ファイルは、未公開の変更の開発とテストにローカルイメージ(pinner-mcp:local)を使用するように設定されています。

ローカルでビルドした後は、上記の使い方のセクションで説明したとおり、GitHub Copilot とともに VS Code または Cursor を使用できます。

📚 参考資料

  • 悪意のある GitHub Actions から vet を保護するために開発されました
  • mcp-go は、MCP サーバーの構築に最適なライブラリです
  • SafeDep Engineering が開発・保守しています

コメント

MCP は初めてですか?

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

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