mcpField
P
Pinner MCP 📍

Pinner MCP 📍

本地服务
github.com/safedep安全1360 周前更新

关于 Pinner MCP 📍

Pinner MCP 是用于将第三方依赖固定到不可变摘要的 MCP 服务,支持 Docker 基础镜像和 GitHub Actions。它面向希望通过 AI 工作流管理依赖版本的开发者。

主要功能

  1. 01固定 Docker 基础镜像摘要
  2. 02将 GitHub Actions 固定到提交哈希
  3. 03更新已固定的依赖版本
  4. 04通过 Docker 容器运行

适用场景

  1. 01固定容器基础镜像版本
  2. 02将 GitHub Actions 锁定到提交
  3. 03更新项目中的依赖固定版本

MCP 相关

该 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。

📚 参考资料

  • 最初构建此工具是为了保护 vet 免受恶意 GitHub Actions 的侵害
  • mcp-go 是一个用于构建 MCP 服务的优秀库
  • 由 SafeDep Engineering 构建并维护

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。