mcpField
R
Rook Ceph Mcp

Rook Ceph Mcp

本地服务
github.com/shreyanshjain7174云与基础设施365 周前更新

关于 Rook Ceph Mcp

Rook Ceph MCP 是面向 Kubernetes 环境中 Rook Ceph 存储集群的管理服务,供集群运维人员使用。它提供集群与存储资源操作,并附带 YAML 模板和故障排查提示词。

主要功能

  1. 01列出集群并查看状态
  2. 02列出块池、文件系统和对象存储
  3. 03创建块池及删除资源
  4. 04提供资源 YAML 清单模板
  5. 05提供集群设置与排障提示词

适用场景

  1. 01检查 Rook Ceph 集群状态
  2. 02盘点集群中的块池、文件系统和对象存储
  3. 03创建块池或删除 Rook Ceph 资源
  4. 04参考模板配置资源并排查集群问题

MCP 相关

该 MCP 服务向客户端提供集群和存储资源管理工具、YAML 清单资源,以及集群设置与故障排查提示词。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"rook-ceph": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"rook-ceph-mcp"
]
}
}
}
启动命令docker run -i --rm rook-ceph-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocirook-ceph-mcp

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Rook Ceph MCP 服务

用于在 Kubernetes 环境中管理 Rook Ceph 存储集群的模型上下文协议(MCP)服务。

功能

  • 集群管理:列出并监控 Ceph 集群
  • 存储资源:管理块池、文件系统和对象存储
  • 清单模板:获取常见资源的预配置 YAML 模板
  • Kubernetes 集成:原生 Kubernetes API 集成
  • 故障排除:内置用于集群设置和故障排除的提示词

安装

本地开发(stdio 传输)
  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build
  1. 启动服务:
npm run start:stdio
云托管(HTTP 传输)
  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build
  1. 启动 HTTP 服务:
npm start
Docker 部署
  1. 构建 Docker 镜像:
docker build -t rook-ceph-mcp .
  1. 运行容器:
docker run -p 3000:3000 rook-ceph-mcp

配置

该服务需要访问已安装 Rook Ceph 的 Kubernetes 集群。它使用默认 kubeconfig 进行身份验证。

先决条件
  • 已安装 Rook Ceph Operator 的 Kubernetes 集群
  • 已配置 kubectl 并可访问集群
  • Node.js 18+ 和 npm

可用工具

集群操作
  • list_clusters - 列出所有 Ceph 集群
  • get_cluster_status - 获取特定集群的详细状态
存储资源
  • list_block_pools - 列出所有 Ceph 块池
  • list_filesystems - 列出所有 Ceph 文件系统
  • list_object_stores - 列出所有 Ceph 对象存储
资源管理
  • create_block_pool - 创建新的 Ceph 块池
  • delete_resource - 删除 Rook Ceph 资源

可用资源

该服务提供以下 YAML 清单模板:

  • rook-ceph://manifests/cluster - Ceph 集群配置
  • rook-ceph://manifests/block-pool - 块池配置
  • rook-ceph://manifests/filesystem - 文件系统配置
  • rook-ceph://manifests/object-store - 对象存储配置

可用提示词

  • setup_cluster - 分步集群设置指南
  • troubleshoot_cluster - 集群故障排除辅助

使用示例

列出所有集群
{
  "tool": "list_clusters",
  "arguments": {
    "namespace": "rook-ceph"
  }
}
创建块池
{
  "tool": "create_block_pool",
  "arguments": {
    "name": "my-pool",
    "namespace": "rook-ceph",
    "replicated": {
      "size": 3
    }
  }
}
获取集群状态
{
  "tool": "get_cluster_status",
  "arguments": {
    "name": "rook-ceph",
    "namespace": "rook-ceph"
  }
}

仓库结构

根据原始 git 仓库规范,该项目将 MCP 上下文作为 YAML 清单维护在不同分支中:

  • main - 生产环境上下文
  • staging - 预发布环境上下文
  • dev - 开发环境上下文

每个分支包含:

├── cluster-manifests/
│   ├── ceph-cluster.yaml
│   ├── object-store.yaml
│   └── block-pool.yaml
├── apps/
│   ├── rook-operator.yaml
│   ├── monitoring-stack.yaml
│   └── security.yaml
├── kustomization.yaml
└── README.md

API 端点(HTTP 模式)

在 HTTP 模式下运行时,该服务会公开以下端点:

  • GET /health - 健康检查
  • GET /mcp/tools - 列出可用工具
  • POST /mcp/call-tool - 执行工具
  • GET /mcp/resources - 列出可用资源
  • POST /mcp/read-resource - 读取资源
  • GET /mcp/prompts - 列出可用提示词
  • POST /mcp/get-prompt - 获取提示词

开发

构建
npm run build
开发模式(stdio)
npm run dev:stdio
开发模式(HTTP)
npm run dev
测试
npm test

贡献

  1. Fork 仓库
  2. 创建功能分支
  3. 进行更改
  4. 如适用,添加测试
  5. 提交拉取请求

许可证

MIT 许可证 - 详情请参阅 LICENSE 文件

支持

如有问题或疑问:

  • 查看服务内置的故障排除提示词
  • 查阅 Rook Ceph 文档
  • 向项目仓库提交问题

安全

该服务需要访问 Kubernetes 集群,应使用适当的 RBAC 权限。始终遵循安全最佳实践,在生产环境中进行部署。

评论

支持 Markdown

第一次接触 MCP?

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

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