OLM v1 MCP服务器
操作员生命周期管理器(OLM)v1的模型上下文协议(MCP)服务器,为AI助手提供与OLM v1资源交互以及从OLM v0迁移到v1的能力。
概述
OLM v1 MCP服务器通过模型上下文协议公开OLM v1特定的资源和操作,允许AI助手帮助用户使用新的OLM v1架构管理操作员。此服务器提供用于管理ClusterExtensions、ClusterCatalogs的工具,并包括强大的迁移功能,以帮助用户从OLM v0过渡到v1。
特性
- 集群扩展操作:列出、获取、创建、更新和删除ClusterExtensions
- 集群目录操作:列出并检查ClusterCatalogs
- 迁移工具:计划、验证和执行从OLM v0到v1的迁移
- MCP协议支持:基于标准stdio的MCP通信
- 只读模式:默认情况下无写入功能的安全操作
- 迁移验证:迁移前检查和模拟运行能力
可用工具
集群扩展工具
list_cluster_extensions:列出群集中的ClusterExtensionsget_cluster_extension:获取特定ClusterExtension的详细信息create_cluster_extension:创建新的ClusterExtensionupdate_cluster_extension:更新现有的ClusterExtension(频道/版本)delete_cluster_extension:删除群集扩展
ClusterCatalog工具
list_cluster_catalogs:列出群集中的ClusterCatalogsget_cluster_catalog:获取特定ClusterCatalog的详细信息
迁移工具
plan_migration:计划从OLM v0订阅迁移到v1 ClusterExtensionsvalidate_migration:验证迁移准备状态和群集状态execute_migration:执行迁移(带模拟运行支持)
安装
来源
git clone https://github.com/operator-framework/olmv1-mcp-server.git
cd olmv1-mcp-server
make build用法
基本用法
# Start the server (stdio mode for MCP clients)
./bin/olmv1-mcp-server
# Use a specific kubeconfig
./bin/olmv1-mcp-server --kubeconfig /path/to/kubeconfig
# Enable write operations (disabled by default for safety)
./bin/olmv1-mcp-server --read-only=false
# Enable only specific toolsets
./bin/olmv1-mcp-server --toolsets clusterextension,migration命令行选项
--kubeconfig:kubeconfig文件的路径(默认:$HOME/.kube/config)--read-only:阻止写入操作(默认值:true)--toolsets:启用特定的工具集(默认:集群扩展、集群目录、迁移)
从OLM v0迁移到v1
此服务器的关键功能是帮助用户从OLM v0(订阅)迁移到OLM v1(集群扩展)。
迁移工作流
- 验证迁移准备情况
validate_migration --namespace=这将检查OLM v0和v1是否可访问,ClusterCatalogs是否可用等。
- 规划迁移
plan_migration --namespace=这将分析现有的订阅,并显示将创建哪些ClusterExtensions。
- 执行迁移(模拟运行)
execute_migration --namespace= --dryRun=true这显示了如果不做出改变会发生什么。
- 执行迁移
execute_migration --namespace=这将基于现有订阅创建ClusterExtensions。
迁移过程
迁移过程:
- 发现 指定命名空间中的所有订阅
- 地图 OLM v0目录源到OLM v1集群目录
- 创建 具有适当设置的相应ClusterExtensions
- 保留 包、频道和版本信息
- 增加 用于跟踪的迁移注释
重要说明
- 备份优先:迁移前始终备份OLM v0资源
- 测试环境:首先在非生产环境中测试迁移
- 服务帐户:确保存在具有必要RBAC权限的适当ServiceAccounts
- 手动清理:成功迁移和验证后,手动删除旧订阅
- 只读模式:为了安全起见,服务器默认以只读模式运行
Claude桌面集成
将此添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"olmv1": {
"command": "/path/to/olmv1-mcp-server/bin/olmv1-mcp-server"
}
}
}安全考虑
- 默认情况下为只读:默认情况下,服务器以只读模式运行
- 迁移安全:迁移包括验证和模拟运行功能
- 群集访问:需要具有适当RBAC权限的有效Kubernetes凭据
- 无身份验证:stdio服务器未实现身份验证(用于本地使用)
发展
先决条件
- 转到1.24.4或更高版本
- 访问安装了OLM v1的Kubernetes集群
- kubectl已配置为访问集群
- 对于迁移功能:还安装了OLM v0
建筑
# Download dependencies
make deps
# Build the binary
make build
# Run tests
make test
# Format code
make fmt
# Run linter
make lint例子
创建集群扩展
create_cluster_extension \
--name=my-operator \
--namespace=default \
--packageName=my-package \
--serviceAccount=my-service-account \
--channel=stable \
--catalog=operatorhub迁移示例
# Check if migration is possible
validate_migration --namespace=operators
# See what will be migrated
plan_migration --namespace=operators
# Perform dry run
execute_migration --namespace=operators --dryRun=true
# Execute migration
execute_migration --namespace=operators贡献
欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
许可证
此项目根据Apache许可证2.0获得许可-请参阅 许可证 文件以获取详细信息。
相关项目
- 操作员控制器 -OLM v1实现
- olmv0 mcp服务器 -OLM v0 MCP服务器
- 模型上下文协议 -MCP规范
