OLM v0 MCP服务器
操作员生命周期管理器(OLM)v0的模型上下文协议(MCP)服务器,为AI助手提供与Kubernetes集群中的OLM资源交互的能力。
概述
OLM v0 MCP服务器通过模型上下文协议公开OLM特定的资源和操作,允许AI助手帮助用户管理其Kubernetes集群中的操作员。此服务器遵循与 kubernetes mcp服务器 但特别关注OLM v0资源。
特性
- 群集服务版本(CSV)操作:列出并检查操作员部署
- 订阅管理:查看运营商订阅和更新频道
- 目录来源检查:检查目录源及其运行状况
- 安装计划分析:审查计划中的运营商安装和更新
- 只读模式:默认情况下无写入功能的安全操作
- 可配置工具集:启用/禁用特定功能组
- 多集群支持:使用OLM连接到任何Kubernetes集群
可用工具
集群服务版本工具
list_csvs:在命名空间中列出ClusterServiceVersionsget_csv:获取特定ClusterServiceVersion的详细信息
订阅工具
list_subscriptions:在命名空间中列出订阅get_subscription:获取特定订阅的详细信息
目录源工具
list_catalog_sources:在命名空间中列出CatalogSourceget_catalog_source:获取特定CatalogSource的详细信息
安装计划工具
list_install_plans:在命名空间中列出InstallPlansget_install_plan:获取特定InstallPlan的详细信息
通用工具
list_tools:显示可用工具及其参数
安装
来源
git clone https://github.com/operator-framework/operator-lifecycle-manager.git
cd operator-lifecycle-manager/olmv0-mcp-server
make build使用Docker
docker build -t olmv0-mcp-server .用法
基本用法
# Start the server with default settings
./bin/olmv0-mcp-server
# Start on a specific port
./bin/olmv0-mcp-server --port 8080
# Use a specific kubeconfig
./bin/olmv0-mcp-server --kubeconfig /path/to/kubeconfig
# Enable only specific toolsets
./bin/olmv0-mcp-server --toolsets csv,subscription命令行选项
--port, -p:HTTP/SSE服务器端口(默认值:8080)--kubeconfig:kubeconfig文件的路径(默认:$HOME/.kube/config)--read-only:阻止写入操作(默认值:true)--toolsets:启用特定的工具集(默认:csv、订阅、目录、安装计划)
Docker使用
# Run with default settings
docker run --rm -p 8080:8080 \
-v ~/.kube/config:/root/.kube/config:ro \
olmv0-mcp-server
# Run with custom kubeconfig
docker run --rm -p 8080:8080 \
-v /path/to/kubeconfig:/kubeconfig:ro \
olmv0-mcp-server --kubeconfig /kubeconfigAPI示例
列出集群服务版本
curl -X POST http://localhost:8080 \
-H "Content-Type: application/json" \
-d '{
"method": "list_csvs",
"params": {
"namespace": "operators"
}
}'获取特定订阅
curl -X POST http://localhost:8080 \
-H "Content-Type: application/json" \
-d '{
"method": "get_subscription",
"params": {
"name": "my-operator",
"namespace": "operators"
}
}'列出可用工具
curl -X POST http://localhost:8080 \
-H "Content-Type: application/json" \
-d '{
"method": "list_tools",
"params": {}
}'发展
先决条件
- 转到1.24.4或更高版本
- 访问安装了OLM的Kubernetes集群
- kubectl已配置为访问集群
建筑
# Download dependencies
make deps
# Build the binary
make build
# Run tests
make test
# Format code
make fmt
# Run linter
make lint项目结构
olmv0-mcp-server/
├── cmd/olmv0-mcp-server/ # Main application entry point
├── pkg/
│ ├── client/ # OLM Kubernetes client wrappers
│ ├── server/ # HTTP server and MCP request handling
│ ├── tools/ # Tool implementations for each resource type
│ └── types/ # Common types and interfaces
├── docs/ # Documentation
├── Dockerfile # Container build file
├── Makefile # Build automation
└── README.md # This file配置
服务器使用标准的Kubernetes客户端配置:
- 集群内:如果在Kubernetes集群内运行,则使用服务帐户令牌
- Kubeconfig:使用由指定的kubeconfig文件
--kubeconfig旗帜 - 默认:回落到
$HOME/.kube/config
安全考虑
- 默认情况下为只读:默认情况下,服务器以只读模式运行
- 无写入操作:目前仅支持读取操作(列表、获取、检查)
- 群集访问:需要具有适当RBAC权限的有效Kubernetes凭据
- 无身份验证:HTTP服务器未实现身份验证(用于本地使用)
贡献
欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
许可证
此项目根据Apache许可证2.0获得许可-请参阅 许可证 文件以获取详细信息。
相关项目
- kubernetes mcp服务器 -通用Kubernetes MCP服务器
- 操作员生命周期管理器 -主要OLM项目
- 模型上下文协议 -MCP规范
