内容
# Kubescape MCP Server
:exclamation: **警告:这是一个实验项目,可能会很快迁移到 Kubescape 组织。**
Kubescape MCP Server 是一个中间件组件,通过 Mark3 Labs MCP 协议公开 Kubernetes 漏洞清单和相关工具。它能够在您的 Kubernetes 集群中发现、列出和查询图像和工作负载级别的漏洞。
## 特性
- 列出可用的图像和工作负载的漏洞清单
- 查询给定清单中的所有漏洞
- 查询清单中特定 CVE 的所有匹配项
- 通过 MCP 资源模板公开漏洞清单资源
## 使用方法
1. **构建和运行**
- 确保您已安装 Go(推荐版本 1.18 及以上)。
- 克隆代码库并构建服务器:
```sh
go build -o ks-mcpserver ks-mcpserver.go
./ks-mcpserver
```
- 服务器将启动并通过 stdio 监听 MCP 协议请求。
2. **Kubernetes 访问**
- 服务器需要访问您的 Kubernetes 集群,并期望适当的 kubeconfig/context。
- 它使用 Kubescape 存储 API 来获取漏洞清单。
3. **MCP 工具**
- 提供以下工具:
- `list_vulnerability_manifests`: 发现图像和工作负载级别的可用漏洞清单。
- `list_vulnerabilities_in_manifest`: 列出给定清单中的所有漏洞。
- `list_vulnerability_matches_for_cve`: 列出给定清单中针对特定 CVE 的所有漏洞匹配项。
4. **资源模板**
- 漏洞清单作为 MCP 资源公开,例如:
- `kubescape://vulnerability-manifests/{namespace}/{manifest_name}/cve_list`
- `kubescape://vulnerability-manifests/{namespace}/{manifest_name}/cve_details/{cve_id}`
## 开发
- 欢迎贡献!请为错误修复、功能或文档改进打开问题或拉取请求。
- 确保代码使用 `gofmt` 格式化并通过 lint 检查。
## 许可证
本项目根据 Apache 2.0 或 MIT 许可证授权。有关详细信息,请参见 `LICENSE`。