Pinner MCP 📍 について
Pinner MCPは、DockerのベースイメージとGitHub Actionsに対応し、サードパーティ依存関係を不変のダイジェストに固定するMCPサーバーです。AIワークフローで依存バージョンを管理する開発者向けです。
主な機能
- 01Dockerベースイメージのダイジェスト固定
- 02GitHub Actionsをコミットハッシュに固定
- 03固定した依存バージョンの更新
- 04Dockerコンテナで実行
活用シーン
- 01コンテナのベースイメージを固定
- 02GitHub Actionsをコミットに固定
- 03プロジェクト内の固定バージョンを更新
MCP 対応
stdioトランスポートで動作し、MCPクライアントからDockerベースイメージとGitHub Actionsのバージョン固定や更新を行えます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm ghcr.io/safedep/pinner-mcp:latestローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/safedep/pinner-mcp:lateststdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Pinner MCP 📍
サードパーティーの依存関係を不変のダイジェストに固定できる、Model Context Protocol(MCP)サーバーです。 対応する依存関係の種類は次のとおりです。
- Docker ベースイメージ
- GitHub Actions

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