Rook Ceph MCP服务器
用于管理Kubernetes环境中Rook Ceph存储集群的模型上下文协议(MCP)服务器。
特性
- 群集管理:列出并监控Ceph集群
- 存储资源:管理块池、文件系统和对象存储
- 清单模板:访问预先配置的公共资源的YAML模板
- Kubernetes集成:本机Kubernetes API集成
- 故障排除:用于群集设置和故障排除的内置提示
安装
地方发展(标准交通)
- 安装依赖项:
npm install- 构建项目:
npm run build- 启动服务器:
npm run start:stdio云主机(HTTP传输)
- 安装依赖项:
npm install- 构建项目:
npm run build- 启动HTTP服务器:
npm startDocker部署
- 构建Docker镜像:
docker build -t rook-ceph-mcp .- 运行容器:
docker run -p 3000:3000 rook-ceph-mcp配置
服务器需要访问安装了Rook Ceph的Kubernetes集群。它使用默认的kubeconfig进行身份验证。
先决条件
- 安装了Rook Ceph操作符的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.mdAPI端点(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贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件
支持
对于问题和疑问:
- 检查服务器内置的故障排除提示
- 查看Rook Ceph文档
- 将问题提交到项目存储库
安全
此服务器需要Kubernetes集群访问权限,应使用适当的RBAC权限。在生产环境中部署时,始终遵循安全最佳实践。
