关于 OceanBase Kubernetes Control Tool (okctl) MCP Server
okctl MCP 服务将 OceanBase Kubernetes Control Tool 的操作提供给客户端,面向通过 okctl 管理 OceanBase 集群、租户、备份策略、组件和 SQL 的管理员。
主要功能
- 01创建、查看、扩缩、更新和升级集群
- 02管理租户生命周期与配置
- 03创建和控制备份策略
- 04配置连接并执行 SQL
- 05安装、更新和列出组件
- 06选择工具组和传输方式
适用场景
- 01在 Kubernetes 中运维 OceanBase 集群
- 02管理租户资源及主备切换
- 03配置备份并运行集群 SQL
- 04仅启用指定操作组
MCP 相关
该服务向 MCP 客户端提供由 okctl 驱动的 OceanBase 集群、租户、备份策略、组件和 SQL 工具。可选择工具组,并支持 stdio 或 SSE 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
OceanBase Kubernetes 控制工具(okctl)MCP 服务
English | 简体中文
项目概述
本项目是 OceanBase Kubernetes 控制工具(okctl)的 MCP 服务实现。它提供了一组用于管理 OceanBase 集群、租户和备份策略的工具函数。这些函数通过调用底层 okctl 命令行工具实现,并通过 MCP 协议向客户端提供这些功能。
功能模块
本项目包含以下主要工具:
1. 集群管理(clusters.py)
提供创建、删除、查看、扩缩容、更新和升级 OceanBase 集群的功能。
list_all_clusters()- 列出所有 OceanBase 集群show_cluster()- 显示指定集群的详细信息create_cluster()- 创建新的 OceanBase 集群delete_cluster()- 删除指定的 OceanBase 集群scale_cluster()- 扩缩 OceanBase 集群update_cluster()- 更新 OceanBase 集群配置upgrade_cluster()- 升级 OceanBase 集群版本
2. 租户管理(tenants.py)
提供创建、删除、查看、扩缩容、更新和管理 OceanBase 租户的功能。
list_tenants()- 列出所有租户create_tenant()- 创建新租户delete_tenant()- 删除指定租户show_tenant()- 显示租户详细信息scale_tenant()- 扩缩租户资源update_tenant()- 更新租户配置upgrade_tenant()- 升级租户版本change_tenant_password()- 更改租户密码activate_tenant()- 激活备租户replay_tenant_log()- 重放租户日志switchover_tenant()- 在主租户和备租户之间切换
3. 备份策略管理(backup_policy.py)
提供创建、删除、查看、更新和管理 OceanBase 备份策略的功能。
list_backup_policies()- 列出所有备份策略create_backup_policy()- 创建新的备份策略delete_backup_policy()- 删除指定备份策略show_backup_policy()- 显示备份策略详细信息update_backup_policy()- 更新备份策略pause_backup_policy()- 暂停备份策略resume_backup_policy()- 恢复备份策略
4. SQL 操作(sql.py)
提供配置数据库连接以及在 OceanBase 集群上执行 SQL 查询的功能。
configure_cluster_connection()- 配置到集群的数据库连接- 参数:cluster_name、tenant_name(默认值:"sys")、namespace(默认值:"default")、user、password(如果未提供,则使用环境变量 OB_CLUSTER_PASSWORD)、port(默认值:2881)
- 返回:数据库连接配置信息
execute_cluster_sql()- 在集群上执行 SQL 查询- 参数:query、cluster_name(可选)、tenant_name(默认值:"sys")、database(默认值:"oceanbase")、namespace(默认值:"default")
- 返回:查询结果
- 支持多种 SQL 命令,包括 SELECT、SHOW TABLES、SHOW COLUMNS、DESCRIBE 和 DML 语句
5. 组件管理(components.py)
提供安装、更新和管理 OceanBase 组件的功能。
list_components()- 列出所有已安装的组件install_component()- 安装新组件update_component()- 更新组件
开发环境设置
前置条件
- 已安装 Python 3.10 或更高版本
- 已安装 uv 包管理器(uv 官方文档)
- 已安装并配置 OceanBase Kubernetes 控制工具(okctl)
- 已配置 Kubernetes 环境,并拥有访问 OceanBase 集群的权限
配置 MCP 服务
{
"mcpServers": {
"okctl-mcp-server-py": {
"command": "uv",
"args": ["--directory", "/path/to/okctl-mcp-server", "run", "src/okctl/server.py"],
"env": {
// you need to set these environment variables if you want to connect to cluster by root@sys
"OB_CLUSTER_PASSWORD": "<password of cluster>"
}
}
}
}
命令行参数
-
--tools:指定要启用的工具,以逗号分隔。选项:all:启用所有工具(默认)clusters:仅启用集群管理工具tenants:仅启用租户管理工具backup_policy:仅启用备份策略管理工具components:仅启用组件管理工具sql:仅启用 SQL 操作工具
示例:
--tools=clusters,tenants,sql -
--use_sse:使用服务器发送事件(SSE)传输,而不是 stdio -
--port:指定 SSE 传输的端口(默认:8000)
重要说明
- 服务需要在能够访问 Kubernetes 集群的环境中运行
- 所有功能均通过调用底层 okctl 命令行工具实现,因此请确保已正确安装和配置 okctl
- 大多数功能都提供命名空间参数,默认值为 "default",可根据需要指定
- 某些操作(例如删除集群、删除租户)可能无法撤销,请谨慎操作
- 执行 SQL 查询时,建议提供更精确的提示词,否则可能会返回错误
- 建议在执行重要操作前进行备份
贡献
欢迎提交 Issue 和 Pull Request,帮助改进本项目。
许可证
本项目基于 Apache 2.0 许可证 授权。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。