Token导航 LogoToken导航

MCP Server · 运维云端

Openstack K8s MCP

OpenStack Kubernetes MCP服务器是一个用于查询OpenStack Kubernetes操作员的模型上下文协议(MCP)服务器,提供对Kubernetes集群中OpenStackVersion CRDs的MCP兼容访问。

未说明官方级别未说明来源级核验工具 10
容器化KubernetesClaudeClaude Desktop

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
dprince
提供方
dprince

工具数量

10

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Openstack K8s MCP 属于运维云端类 MCP Server,公开资料标注 10 个工具,通过传输方式未标注接入,适配 Claude Desktop、Claude,没有现成的安装命令;接入前先确认权限范围。

分类

运维云端

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 10 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

OpenStack K8s MCP

用于查询OpenStack Kubernetes操作员的模型上下文协议(MCP)服务器。此工具提供对Kubernetes集群中OpenStackVersion CRD的MCP兼容访问。

特性

  • get_openstack_version:查询OpenStackVersion CRD以检索:

- 目标版本 - 可用版本 - 已部署版本 - 状态条件

  • update_openstack_version:修补OpenStackVersion CRD的targetVersion和可选的customContainerImages字段
  • wait_openstack_version:等待OpenStackVersion CRD满足特定条件
  • get_openstack_control平面图:查询OpenStackControlPlane CRD以检索规格和状态信息
  • 验证压力跟踪控制平面:验证OpenStackControlPlane CRD上的所有条件是否处于就绪状态
  • create_dataplane_部署:创建OpenStackDataplaneDeployment CR以在数据平面节点上部署服务
  • get_dataplane_部署:查询OpenStackDataplaneDeployment CRD以检索规格和状态信息
  • list_dataplane_部署:列出命名空间中的所有OpenStackDataplaneDeployment CR
  • list_dataplane_节点集:列出命名空间中的所有OpenStackDataplaneNodeSet CR
  • verify_penstack_taplane节点集:验证命名空间中所有OpenStackDataplaneNodeSet CR上的所有条件都处于就绪状态

先决条件

  • 达到1.22或更高
  • 访问安装了OpenStack运营商的Kubernetes集群
  • 有效的kubeconfig或集群配置

安装

# Clone the repository
git clone 
cd openstack-k8s-mcp

# Build the binary
go build -o openstack-k8s-mcp .

用法

运行MCP服务器

服务器通过stdio按照MCP协议进行通信:

./openstack-k8s-mcp

MCP工具:get_openstack_version

查询OpenStackVersion自定义资源:

参数:

  • namespace (可选):OpenStackVersion CR所在的Kubernetes命名空间。默认为 openstack 如果没有提供。
  • name (可选):要查询的OpenStackVersion CR的名称。如果未提供,则自动发现命名空间中的第一个CR。

退货: JSON对象包含:

  • name:CR名称
  • namespace:CR命名空间
  • targetVersion:所需的OpenStack版本
  • availableVersion:可用版本
  • deployedVersion:当前部署的版本
  • readyConditions:准备就绪的条件类型数组(状态:True)
  • notReadyConditions:未就绪的条件类型数组
  • customContainerImages:自定义容器图像(如果存在)

示例响应

{
  "name": "openstack",
  "namespace": "openstack",
  "targetVersion": "0.3.0",
  "availableVersion": "0.3.0",
  "deployedVersion": "0.3.0",
  "readyConditions": ["Ready", "Available"],
  "notReadyConditions": []
}

MCP工具:update_openstack_version

修补命名空间中第一个OpenStackVersion自定义资源的targetVersion和可选的customContainerImages字段:

参数:

  • namespace (可选):OpenStackVersion CR所在的Kubernetes命名空间。默认为 openstack 如果没有提供。
  • targetVersion (必填):为OpenStackVersion CR设置的目标版本
  • customContainerImages (可选):将服务名称映射到自定义容器映像URL。如果未提供,则不会修改customContainerImages。

退货: JSON对象包含:

  • name:CR名称
  • namespace:CR命名空间
  • spec.targetVersion:更新了目标OpenStack版本
  • status.availableVersion:可用版本
  • status.deployedVersion:当前部署的版本

示例响应

{
  "name": "openstack",
  "namespace": "openstack",
  "spec": {
    "targetVersion": "0.4.0"
  },
  "status": {
    "availableVersion": "0.3.0",
    "deployedVersion": "0.3.0"
  }
}

customContainerImages的示例用法

{
  "namespace": "openstack",
  "targetVersion": "0.4.0",
  "customContainerImages": {
    "nova": "quay.io/openstack-k8s-operators/nova-operator:v0.4.0",
    "neutron": "quay.io/openstack-k8s-operators/neutron-operator:v0.4.0"
  }
}

MCP工具:wait_openstack_version

等待OpenStackVersion自定义资源满足特定条件:

参数:

  • namespace (可选):OpenStackVersion CR所在的Kubernetes命名空间。默认为 openstack 如果没有提供。
  • name (可选):要等待的OpenStackVersion CR的名称。如果未提供,则自动发现命名空间中的第一个CR。
  • condition (必填):等待的条件类型(例如,“就绪”、“可用”)
  • timeout (可选):等待的最长时间(秒)。如果未提供,则默认为600秒。
  • pollInterval (可选):轮询尝试之间的间隔(秒)。如果未提供,则默认为5秒。

退货: JSON对象包含:

  • name:CR名称
  • namespace:CR命名空间
  • condition:等待的条件类型
  • met:布尔值,指示是否满足条件
  • message:来自条件的状态消息
  • reason:条件的原因

示例响应

{
  "name": "openstack",
  "namespace": "openstack",
  "condition": "Ready",
  "met": true,
  "message": "All OpenStack components are ready",
  "reason": "AllComponentsReady"
}

MCP工具:get_openstack_control平面

查询OpenStackControlPlane自定义资源:

参数:

  • namespace (可选):OpenStackControlPlane CR所在的Kubernetes命名空间。默认为 openstack 如果没有提供。
  • name (可选):要查询的OpenStackControlPlane CR的名称。如果未提供,则返回命名空间中找到的第一个CR。

退货: JSON对象包含:

  • name:CR名称
  • namespace:CR命名空间
  • spec:控制平面规范包括:

- 服务配置(新星、中子、煤渣、眩光等) - 数据库配置 - 消息队列配置 - 其他控制平面设置

  • status:控制平面状态包括:

- conditions:具有部署状态的条件对象数组 - 服务特定状态信息 - 其他可用的状态字段

示例响应

{
  "name": "openstack",
  "namespace": "openstack",
  "spec": {
    "secret": "osp-secret",
    "storageClass": "local-storage",
    "nova": {
      "enabled": true,
      "template": {
        "secret": "osp-secret"
      }
    },
    "neutron": {
      "enabled": true,
      "template": {
        "secret": "osp-secret"
      }
    },
    "cinder": {
      "enabled": true,
      "template": {
        "cinderVolumes": {
          "volume1": {
            "storageClass": "local-storage"
          }
        }
      }
    }
  },
  "status": {
    "conditions": [
      {
        "type": "Ready",
        "status": "True",
        "lastTransitionTime": "2025-01-15T10:30:00Z",
        "reason": "AllServicesReady",
        "message": "All OpenStack services are ready"
      }
    ]
  }
}

MCP工具:验证_压力跟踪_控制平面

验证OpenStackControlPlane自定义资源上的所有条件是否处于就绪状态:

参数:

  • namespace (可选):OpenStackControlPlane CR所在的Kubernetes命名空间。默认为 openstack 如果没有提供。
  • name (可选):要验证的OpenStackControlPlane CR的名称。如果未提供,则验证命名空间中找到的第一个CR。

退货: JSON对象包含:

  • name:CR名称
  • namespace:CR命名空间
  • allReady:布尔值,指示是否所有条件都已就绪
  • totalConditions:条件总数
  • readyConditions:准备就绪的条件类型字符串数组
  • notReadyConditions:未就绪的条件对象数组,每个对象包含类型、状态、原因和消息

示例响应(全部就绪)

{
  "name": "openstack",
  "namespace": "openstack",
  "allReady": true,
  "totalConditions": 5,
  "readyConditions": ["Ready", "Available", "Configured", "Deployed", "ServiceReady"],
  "notReadyConditions": []
}

示例响应(未就绪)

{
  "name": "openstack",
  "namespace": "openstack",
  "allReady": false,
  "totalConditions": 5,
  "readyConditions": ["Configured", "Deployed"],
  "notReadyConditions": [
    {
      "type": "Ready",
      "status": "False",
      "reason": "Deploying",
      "message": "OpenStack services are being deployed"
    },
    {
      "type": "Available",
      "status": "False",
      "reason": "Deploying",
      "message": "Some services are not yet available"
    }
  ]
}

MCP工具:create_dataplane_deployment

创建OpenStackDataplaneDeployment自定义资源以在数据平面节点上部署服务:

参数:

  • namespace (可选):Kubernetes命名空间,将在其中创建OpenStackDataplaneDeployment CR。默认为 openstack 如果没有提供。
  • name (必填):要创建的OpenStackDataplaneDeployment CR的名称(使用破折号/下划线,而不是点)
  • spec (可选):作为JSON对象完成部署规范。可以包括节点集、服务覆盖、ansibleTag、ansibleLimit等。
  • nodeSets (可选):要部署到的节点集名称数组。如果未提供且未给出规范,则自动发现命名空间中的所有节点集。
  • servicesOverride (可选):覆盖部署默认服务的服务名称数组

退货: 成功消息,确认创建了具有指定节点集和可选服务覆盖的OpenStackDataplaneDeployment CR。

示例用法

基本部署到单个节点集:

{
  "name": "my-deployment",
  "namespace": "openstack",
  "nodeSets": ["compute-nodes"]
}

部署到具有服务覆盖的多个节点集:

{
  "name": "my-deployment",
  "namespace": "openstack",
  "nodeSets": ["compute-nodes", "storage-nodes"],
  "servicesOverride": ["nova", "neutron", "ovn"]
}

MCP工具:get_dataplane_deployment

查询OpenStackDataplaneDeployment自定义资源以检索部署信息:

参数:

  • namespace (可选):OpenStackDataplaneDeployment CR所在的Kubernetes命名空间。默认为 openstack 如果没有提供。
  • name (必填):要查询的OpenStackDataplaneDeployment CR的名称

退货: JSON对象包含:

  • name:CR名称
  • namespace:CR命名空间
  • spec:部署规范包括:

- nodeSets:节点集名称数组 - servicesOverride:服务名称数组(如果指定)

  • status:部署状态包括:

- conditions:具有部署进度和状态的条件对象数组 - nodeSetConditions:每个节点设置部署状态 - 其他可用的状态字段

示例响应

{
  "name": "my-deployment",
  "namespace": "openstack",
  "spec": {
    "nodeSets": ["compute-nodes"],
    "servicesOverride": ["nova", "neutron"]
  },
  "status": {
    "conditions": [
      {
        "type": "Ready",
        "status": "True",
        "lastTransitionTime": "2025-01-15T10:30:00Z",
        "reason": "DeploymentComplete",
        "message": "All nodeSets have been deployed successfully"
      }
    ],
    "nodeSetConditions": {
      "compute-nodes": {
        "Ready": {
          "status": "True",
          "message": "NodeSet deployment complete"
        }
      }
    }
  }
}

MCP工具:list_dataplane_部署

列出命名空间中的所有OpenStackDataplaneDeployment自定义资源:

参数:

  • namespace (可选):OpenStackDataplaneDeployment CR所在的Kubernetes命名空间。默认为 openstack 如果没有提供。

退货: 包含以下对象的JSON数组:

  • name:部署CR名称
  • namespace:部署CR命名空间
  • spec:部署规范包括:

- nodeSets:节点集名称数组 - servicesOverride:服务名称数组(如果指定)

  • status:部署状态包括:

- conditions:条件对象数组 - nodeSetConditions:每个节点设置部署状态 - 其他可用的状态字段

示例响应

[
  {
    "name": "edpm-deployment",
    "namespace": "openstack",
    "spec": {
      "nodeSets": ["compute-nodes", "storage-nodes"],
      "servicesOverride": ["nova", "neutron", "ovn"]
    },
    "status": {
      "conditions": [
        {
          "type": "Ready",
          "status": "True",
          "lastTransitionTime": "2025-01-15T10:30:00Z",
          "reason": "DeploymentComplete",
          "message": "All nodeSets have been deployed successfully"
        }
      ],
      "nodeSetConditions": {
        "compute-nodes": {
          "Ready": {
            "status": "True",
            "message": "NodeSet deployment complete"
          }
        },
        "storage-nodes": {
          "Ready": {
            "status": "True",
            "message": "NodeSet deployment complete"
          }
        }
      }
    }
  },
  {
    "name": "upgrade-deployment",
    "namespace": "openstack",
    "spec": {
      "nodeSets": ["compute-nodes"]
    },
    "status": {
      "conditions": [
        {
          "type": "Ready",
          "status": "False",
          "lastTransitionTime": "2025-01-15T11:00:00Z",
          "reason": "DeploymentInProgress",
          "message": "Deployment in progress"
        }
      ]
    }
  }
]

MCP工具:list_dataplane_nodeset

列出命名空间中的所有OpenStackDataplaneNodeSet自定义资源:

参数:

  • namespace (可选):OpenStackDataplaneNodeSet CR所在的Kubernetes命名空间。默认为 openstack 如果没有提供。

退货: 包含以下对象的JSON数组:

  • name:NodeSet CR名称
  • namespace:NodeSet CR命名空间
  • spec:NodeSet规范包括:

- nodeTemplate:节点配置模板 - nodes:将节点名称映射到其配置 - services:要在nodeSet上部署的服务 - 其他规格字段

  • status:NodeSet状态包括:

- conditions:条件对象数组 - deploymentStatus:部署进度信息 - 其他可用的状态字段

示例响应

[
  {
    "name": "compute-nodes",
    "namespace": "openstack",
    "spec": {
      "nodeTemplate": {
        "ansibleSSHPrivateKeySecret": "dataplane-ansible-ssh-private-key-secret"
      },
      "nodes": {
        "compute-0": {
          "hostName": "compute-0",
          "ansible": {
            "ansibleHost": "192.168.1.10"
          }
        },
        "compute-1": {
          "hostName": "compute-1",
          "ansible": {
            "ansibleHost": "192.168.1.11"
          }
        }
      },
      "services": ["nova", "neutron", "ovn"]
    },
    "status": {
      "conditions": [
        {
          "type": "Ready",
          "status": "True",
          "lastTransitionTime": "2025-01-15T10:30:00Z",
          "message": "NodeSet is ready"
        }
      ]
    }
  },
  {
    "name": "storage-nodes",
    "namespace": "openstack",
    "spec": {
      "nodes": {
        "storage-0": {
          "hostName": "storage-0",
          "ansible": {
            "ansibleHost": "192.168.1.20"
          }
        }
      },
      "services": ["ceph"]
    },
    "status": {
      "conditions": [
        {
          "type": "Ready",
          "status": "True",
          "message": "NodeSet is ready"
        }
      ]
    }
  }
]

MCP工具:验证_openstack_dataplannodesets

验证命名空间中所有OpenStackDataplaneNodeSet自定义资源上的所有条件是否处于就绪状态:

参数:

  • namespace (可选):OpenStackDataplaneNodeSet CR所在的Kubernetes命名空间。默认为 openstack 如果没有提供。

退货: JSON对象包含:

  • namespace:已检查的命名空间
  • allReady:布尔值,指示是否所有节点集都已就绪
  • totalNodeSets:命名空间中的NodeSet总数
  • readyNodeSets:已准备好的NodeSet名称数组
  • notReadyNodeSets:尚未就绪的NodeSet的NodeSet验证结果数组

每 notReadyNodeSets 条目包含:

  • name:节点集名称
  • allReady:布尔值,指示是否所有条件都已就绪
  • totalConditions:条件总数
  • readyConditions:准备就绪的条件类型字符串数组
  • notReadyConditions:具有类型、状态、原因和消息的条件对象数组

示例响应(全部就绪)

{
  "namespace": "openstack",
  "allReady": true,
  "totalNodeSets": 2,
  "readyNodeSets": ["compute-nodes", "controller-nodes"],
  "notReadyNodeSets": []
}

示例响应(未全部就绪)

{
  "namespace": "openstack",
  "allReady": false,
  "totalNodeSets": 2,
  "readyNodeSets": ["controller-nodes"],
  "notReadyNodeSets": [
    {
      "name": "compute-nodes",
      "allReady": false,
      "totalConditions": 3,
      "readyConditions": ["SetupReady"],
      "notReadyConditions": [
        {
          "type": "DeploymentReady",
          "status": "False",
          "reason": "Deploying",
          "message": "Deployment in progress"
        },
        {
          "type": "Ready",
          "status": "False",
          "reason": "NotReady",
          "message": "NodeSet is not ready"
        }
      ]
    }
  ]
}

使用Claude Desktop进行配置

添加到您的Claude Desktop MCP设置中:

{
  "mcpServers": {
    "openstack-k8s": {
      "command": "/path/to/openstack-k8s-mcp"
    }
  }
}

发展

项目结构

  • main.go:MCP服务器实现
  • client.go:Kubernetes客户端包装器
  • go.mod:Go模块依赖关系

依赖项

  • github.com/mark3labs/mcp-go:MCP SDK for Go
  • github.com/openstack-k8s-operators/openstack-operator/apis:OpenStack运算符API类型
  • k8s.io/client-go:Kubernetes Go客户端
  • k8s.io/apimachinery:Kubernetes API机器

许可证

麻省理工学院

工具与能力

工具数量

10

资源数量

0

提示词数量

0

能力标签

KubernetesGo本地部署OpenStackMCP协议云管理容器化

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 工具数量 10 个,一次接入能覆盖的操作比单点工具更全。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Openstack K8s MCP

MCP World · 本页

10未说明未标注1 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Openstack K8s MCP 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Openstack K8s MCP 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Openstack K8s MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Openstack K8s MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Openstack K8s MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP