okctl-mcp-server

lizzy-0323/okctl-mcp-server

3.5

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=='(默认为[z1=1]) Important: 1. 该操作可能需要几分钟时间

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

No resources