mcpField
O
OceanBase Kubernetes Control Tool (okctl) MCP Server

OceanBase Kubernetes Control Tool (okctl) MCP Server

本地服务
github.com/lizzy-0323云与基础设施277 周前更新

关于 OceanBase Kubernetes Control Tool (okctl) MCP Server

okctl MCP 服务将 OceanBase Kubernetes Control Tool 的操作提供给客户端,面向通过 okctl 管理 OceanBase 集群、租户、备份策略、组件和 SQL 的管理员。

主要功能

  1. 01创建、查看、扩缩、更新和升级集群
  2. 02管理租户生命周期与配置
  3. 03创建和控制备份策略
  4. 04配置连接并执行 SQL
  5. 05安装、更新和列出组件
  6. 06选择工具组和传输方式

适用场景

  1. 01在 Kubernetes 中运维 OceanBase 集群
  2. 02管理租户资源及主备切换
  3. 03配置备份并运行集群 SQL
  4. 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 许可证 授权。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。