lizzy-0323/okctl-mcp-server
The OceanBase Kubernetes Control Tool (okctl) MCP Server provides a set of tool functions for managing OceanBase clusters, tenants, and backup policies through the MCP protocol.
Tools
Functions exposed to the LLM to take actions
install_okctl
安装okctl
install_ob_operator
安装ob-operator
list_all_clusters
列出所有的OceanBase集群
show_cluster
显示指定OceanBase集群的概览 IMPORTANT: 当集群状态不是"Running"时,直接停止回答返回信息 Args: cluster_name: 要显示的集群名称 namespace: 集群所在的命名空间(默认为"default") Important: 1. 不要在短时间内重复调用该命令
scale_cluster
扩缩OceanBase集群,支持添加/调整/删除可用区
Args: cluster_name: 要扩缩的集群名称 zones: 集群的可用区,例如 'z1=1',设置副本数为0以删除可用区,每次只能修改一个可用区 namespace: 集群所在的命名空间(默认为"default") Important: 1. 该操作可能需要几分钟时间
update_cluster
更新OceanBase集群,支持CPU/内存/存储的调整
Args: cluster_name: 要更新的集群名称 namespace: 集群所在的命名空间(默认为"default") cpu: 观察者的CPU(默认为2) memory: 观察者的内存(默认为10) data_storage_class: 数据存储的存储类 data_storage_size: 数据存储的大小(默认为50) log_storage_class: 日志存储的存储类 log_storage_size: 日志存储的大小(默认为20) redo_log_storage_class: 重做日志存储的存储类 redo_log_storage_size: 重做日志存储的大小(默认为50) Important: 1. 该操作可能需要几分钟时间
upgrade_cluster
升级OceanBase集群,请指定新的镜像
Args: cluster_name: 要升级的集群名称 image: 观察者的镜像 namespace: 集群所在的命名空间(默认为"default") Important: 1. 该操作可能需要几分钟时间
delete_cluster
删除指定命名空间中的OceanBase集群
Args: cluster_name: 要删除的集群名称 namespace: 要从中删除集群的命名空间
create_cluster
在指定命名空间中创建新的OceanBase集群
Args:
cluster_name: 要创建的集群名称
namespace: 要在其中创建集群的命名空间(默认为"default")
backup_storage_address: 备份存储的存储类
backup_storage_path: 备份存储的大小
cpu: 观察者的CPU(默认为2)
data_storage_class: 数据存储的存储类(默认为"local-path")
data_storage_size: 数据存储的大小(默认为50)
id: 集群的ID
image: 观察者的镜像(默认为"quay.io/oceanbase/oceanbase-cloud-native:4.3.3.1-101000012024102216")
log_storage_class: 日志存储的存储类(默认为"local-path")
log_storage_size: 日志存储的大小(默认为20)
memory: 观察者的内存(默认为10)
mode: 集群的模式(默认为"service")
parameters: OBCluster中的其他参数设置,例如__min_full_resource_pool_memory
redo_log_storage_class: 重做日志存储的存储类(默认为"local-path")
redo_log_storage_size: 重做日志存储的大小(默认为50)
root_password: 集群的root密码
zones: 集群的可用区,例如'--zones=
list_tenants
列举租户
Args: namespace: 命名空间(默认为"default")
create_tenant
创建租户
Args: tenant_name: 租户名称 cluster: 租户所在集群名称(必需) namespace: 命名空间(默认为"default") archive_source: 归档来源 bak_data_source: 备份数据来源 bak_encryption_password: 备份加密密码 charset: 租户使用的字符集(默认为"utf8mb4") connect_white_list: 租户使用的连接白名单(默认为"%") cpu_count: 单位的CPU数量(默认为"1") from_tenant: 创建租户时使用的源租户或归档租户 iops_weight: 单位的IOPS权重(默认为1) log_disk_size: 单位的日志磁盘大小(默认为"4Gi") max_iops: 单位的最大IOPS(默认为1024) memory_size: 单位的内存大小(默认为"2Gi") min_iops: 单位的最小IOPS(默认为1024) oss_access_id: 归档的OSS访问ID oss_access_key: 归档的OSS访问密钥 priority: 租户的可用区优先级,格式为'Zone=Priority',可使用逗号分隔多个优先级(必需) restore: 是否从备份恢复,默认为False restore_type: 恢复类型,支持OSS或NFS(默认为"OSS") root_password: 租户的root密码,如果不指定,则会自动生成 tenant_name_override: 租户名称覆盖,如果不指定,则使用k8s的名称 unit_number: 租户的单位数量(默认为1) unlimited: 是否不限制时间,默认为True until_timestamp: 租户的截止时间 Important: 1. 该操作可能需要几分钟时间
delete_tenant
删除指定租户
Args: tenant_name: 租户名称 namespace: 命名空间(默认为"default")
activate_tenant
激活备用租户
Args: standby_tenant_name: 备用租户名称 namespace: 命名空间(默认为"default") force: 是否强制激活
change_tenant_password
修改租户密码
Args: tenant_name: 租户名称 password: 租户的新密码(必需) namespace: 命名空间(默认为"default") force: 是否强制执行操作
replay_tenant_log
回放租户日志
Args: tenant_name: 租户名称 namespace: 命名空间(默认为"default") force: 是否强制执行操作 unlimited: 是否不限制时间(默认为True) until_timestamp: 租户恢复的时间戳,例如: 2024-02-23 17:47:00
scale_tenant
扩缩租户资源,一次只能执行一种类型的扩展操作 Args: tenant_name: 租户名称 namespace: 命名空间(默认为"default") cpu_count: 单位的CPU数量(默认为"1") force: 是否强制执行操作 iops_weight: 单位的IOPS权重(默认为1) log_disk_size: 单位的日志磁盘大小(默认为"4Gi") max_iops: 单位的最大IOPS(默认为1024) memory_size: 单位的内存大小(默认为"2Gi") min_iops: 单位的最小IOPS(默认为1024) unit_number: 租户的单位数量(默认为1)
show_tenant
显示租户信息
Args: tenant_name: 租户名称 namespace: 命名空间(默认为"default") Important: 1. 注意不要在短时间内重复调用该命令
switchover_tenant
切换主备租户
Args: primary_tenant_name: 主租户名称 standby_tenant_name: 备租户名称 namespace: 命名空间(默认为"default") force: 是否强制执行操作
update_tenant
更新租户信息
Args: tenant_name: 租户名称 namespace: 命名空间(默认为"default") connect_white_list: 租户的连接白名单 force: 是否强制执行操作 priority: 租户的可用区优先级,格式为'Zone=Priority',可使用逗号分隔多个优先级
upgrade_tenant
升级租户
Args: tenant_name: 租户名称 namespace: 命名空间(默认为"default") force: 是否强制升级
list_backup_policies
列出指定集群中的所有备份策略
Args: cluster_name: 集群名称 namespace: 命名空间(默认为"default")
create_backup_policy
在指定集群中创建备份策略
Args: tenant_name: 租户名称 namespace: 命名空间(默认为"default") archive_path: 备份策略的归档路径 bak_data_path: 备份策略的备份数据路径 bak_encryption_password: 备份加密密码 dest_type: 备份策略的目标类型,当前支持OSS或NFS(默认为"NFS") full: 全量备份计划,crontab格式,例如 0 0 * * 4,5 inc: 增量备份计划,crontab格式,例如 0 0 * * 1,2,3 job_keep_days: 保留备份作业的天数(默认为7) oss_access_id: OSS目标的访问ID oss_access_key: OSS目标的访问密钥 recovery_days: 保留恢复作业的天数(默认为30)
delete_backup_policy
删除指定租户的备份策略
Args: tenant_name: 租户名称 namespace: 命名空间(默认为"default") force: 强制删除租户备份策略
show_backup_policy
查看指定租户的备份策略
Args: tenant_name: 租户名称 namespace: 命名空间(默认为"default") job_type: 备份策略的作业类型,例如 FULL、INC、CLEAN、ARCHIVE、ALL(默认为"ALL") limit: 查看的备份策略的作业数量
pause_backup_policy
暂停指定租户的备份策略
Args: tenant_name: 租户名称 namespace: 命名空间(默认为"default")
resume_backup_policy
恢复指定租户的备份策略
Args: tenant_name: 租户名称 namespace: 命名空间(默认为"default")
update_backup_policy
更新指定租户的备份策略
Args: tenant_name: 租户名称 namespace: 命名空间(默认为"default") full: 全量备份计划,crontab格式,例如 0 0 * * 4,5 inc: 增量备份计划,crontab格式,例如 0 0 * * 1,2,3 job_keep_days: 保留备份作业的天数(默认为7) piece_interval_days: 切换备份片段的天数(默认为1) recovery_days: 保留备份恢复的天数(默认为30)
install_component
安装OceanBase组件, 目前支持ob-operator,ob-dashboard, local-path-provisioner,cert-manager,不支持其他组件, 如果未指定,默认将安装ob-operator和 ob-dashboard
Args: component_name: 组件名称 version: 组件版本
update_component
更新OceanBase组件, 目前支持ob-operator,ob-dashboard, local-path-provisioner,cert-manager,不支持其他组件, 如果未指定,默认将更新ob-operator和 ob-dashboard
Args: component_name: 组件名称
configure_cluster_connection
配置集群查询相关的连接
Args: cluster_name: 集群名称 tenant_name: 租户名称,默认为sys namespace: 命名空间,默认为default user: 用户,默认为root password: 租户密码,如果未提供则从环境变量中获取集群密码 port: 端口,默认为2881 zone: 指定要连接的可用区,如果不指定则使用第一个可用的zone
Returns: 数据库连接配置信息
execute_cluster_sql
在集群指定租户下执行SQL查询,支持各种常见SQL查询语句,如SELECT、SHOW TABLES、SHOW COLUMNS等
Args: query: SQL查询语句 cluster_name: 集群名称,如果提供则会重新配置连接 tenant_name: 租户名称,如果提供则会重新配置连接 database: 数据库名称,默认为oceanbase,也可以为业务数据库 namespace: 命名空间,默认为default
Returns: 查询结果
Prompts
Interactive templates invoked by user choice
system_prompt
基础概念介绍,必须加载
Resources
Contextual data attached and managed by the client