mcpField
S
shipshape-mcp

shipshape-mcp

本地服务
shipshape.bytestay.pt开发工具0今天更新

关于 shipshape-mcp

shipshape-mcp 是面向编码 Agent 的开源 MCP 服务,用于检查 Dockerfile 和 Kubernetes 清单,并返回 A–F 等级及包含行号、修复建议和参考资料的问题。

主要功能

  1. 01检查 Dockerfile 和 Kubernetes 清单
  2. 02检查 Pod Security Standards 与资源设置
  3. 03发现 root 用户和明文密钥等风险
  4. 04返回等级、问题和修复建议

适用场景

  1. 01交付前审查容器配置文件
  2. 02检查 Kubernetes 清单中的安全问题

MCP 相关

向 MCP 客户端提供 `lint` 工具,可检查文本内容或文件路径。服务通过 stdio 在本地运行,并调用 Shipshape API。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"bytestay-shipshape": {
"command": "uvx",
"args": [
"bytestay-shipshape-mcp"
],
"env": {
"RAPIDAPI_KEY": "<RAPIDAPI_KEY>",
"API_MARKET_KEY": "<API_MARKET_KEY>",
"BYTESTAY_MARKETPLACE": "<BYTESTAY_MARKETPLACE>"
}
}
}
}
启动命令uvx bytestay-shipshape-mcp
需要配置的环境变量
RAPIDAPI_KEY密钥Your RapidAPI key
API_MARKET_KEY密钥Your api.market key, used when RAPIDAPI_KEY is not set
BYTESTAY_MARKETPLACErapidapi or apimarket, when both keys are set (the old name HFL_MARKETPLACE still works)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypibytestay-shipshape-mcp0.2.8

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Shipshape MCP 服务

M8ven Score CI PyPI Python 3.10+ License: MIT

让你的编码 Agent 在交接前检查 Dockerfile 或 Kubernetes 清单:最终阶段以 root 身份运行、基础镜像未固定版本、curl | sh、ENV/ARG 中的密钥、Pod Security Standards、资源和探针。

此服务开源(MIT)。它会调用Shipshape API,该 API 为付费服务,但提供免费套餐。

  • 使用你自己的密钥,可从 RapidAPI 或 api.market 获取。
  • 每次工具调用都会消耗套餐中的一次请求。
  • 免费 Basic 套餐每月有 15 次请求,并设有硬性上限,因此不会产生额外账单。

1. 获取密钥

平台
RapidAPI套餐
api.market商店

2. 将服务添加到 MCP 客户端

此服务通过 uv 在本地使用 stdio 运行。将密钥放入其环境变量中。

JSON 配置(Claude Desktop、Cursor、VS Code 和大多数客户端):

{
  "mcpServers": {
    "shipshape": {
      "command": "uvx",
      "args": ["--from", "bytestay-shipshape-mcp", "shipshape-mcp"],
      "env": { "RAPIDAPI_KEY": "your-rapidapi-key" }
    }
  }
}

Claude Code:

claude mcp add shipshape --env RAPIDAPI_KEY=your-rapidapi-key -- uvx --from bytestay-shipshape-mcp shipshape-mcp
环境变量
变量含义
RAPIDAPI_KEY你的 RapidAPI 密钥
API_MARKET_KEY你的 api.market 密钥;仅在未设置 RAPIDAPI_KEY 时使用
HFL_MARKETPLACE两个密钥都已设置时,指定 rapidapi 或 apimarket

即使没有密钥,服务仍会启动。首次调用工具时,会说明如何获取密钥。

也已在 Glama 上列出:

Glama 上的 shipshape-mcp

3. 工具

工具功能
lint(content=… | path=…, type="auto", fail_on="high", ignore=[…])检查单个文件,并返回 A–F 等级、分数、passed,以及每项发现的问题、对应行、修复方法和参考资料
  • 使用 path 时,名称类似 Dockerfile、*.Dockerfile、Dockerfile.* 或 Containerfile 的文件会作为 Dockerfile 检查。
  • 当某项发现的问题达到或超过 fail_on 时,passed 为 false。

每个工具都会返回 API 的 JSON 响应。

  • 如果平台提供此信息,响应中会添加 quota_remaining:本月套餐剩余的请求次数。
  • 错误会用通俗易懂的语言说明,并告知后续操作:
    • 密钥被拒绝,并附上订阅链接;
    • 配额已用完,并附上套餐信息;
    • API 无法处理的输入,并附上 API 给出的原因。

隐私

  • 仅当工具收到文件路径时才会读取本地文件,并且只会为该次请求将文件发送到 API。
  • API 会在内存中处理输入,不会存储这些内容。请参阅隐私政策。
  • 你的密钥只会发送给你选择的平台。

限制

  • 文件最大为 512 KiB。
  • 必须先渲染 Helm 模板(helm template)。
  • 不会检查 NetworkPolicies、PodDisruptionBudgets 和 RBAC。
  • 服务需要 Python 3.10+(uv 会为你安装)。

开发

uv venv && uv pip install -e ".[dev]"
.venv/bin/pytest            # unit tests, no network; 100% coverage required
.venv/bin/ruff check src tests scripts

scripts/e2e_stdio.py shipshape 会像客户端一样通过 stdio 运行服务,并调用其工具访问真实 API。需要设置 RAPIDAPI_KEY 或 API_MARKET_KEY。

许可

MIT。Shipshape 本身是由 ByteStay 提供的付费 API,并有免费套餐。

评论

支持 Markdown

第一次接触 MCP?

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

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