Token导航 LogoToken导航TokenDH.com
Ceph MCP Server logo
开发工具stdio官方级别未说明来源级核验

Ceph MCP Server

MCP Server

Ceph MCP Server

工具数

0

提示词数

0

GitHub Stars

6

资源数

0
PythonClaude开发工具Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

rajmohanram

提供方

rajmohanram

最后核验

2026/5/18 04:03

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run python -m ceph_mcp.server

详细介绍

Ceph MCP服务器

一种模型上下文协议(MCP)服务器,使AI助手能够通过自然语言与Ceph存储集群进行交互。该服务器在AI工具和Ceph基础设施之间架起了一座桥梁,使存储管理更易于访问和直观。

🚀 特性

  • 健康监测:获取全面的群集运行状况和诊断
  • 主机管理:监视和管理群集主机及其服务
  • 详细分析:访问详细的健康检查以进行故障排除
  • 安全通信:通过身份验证访问Ceph Manager API
  • 结构化响应:AI友好的输出格式,便于清晰沟通
  • 异步架构:无阻塞操作,性能更佳

📋 先决条件

  • Python 3.11或更高版本
  • UV包管理器
  • 访问启用了管理器API的Ceph集群
  • 具有适当权限的有效Ceph凭据

🛠️ 安装

  1. 克隆并设置项目:
# Create the project directory
mkdir ceph-mcp-server
cd ceph-mcp-server

# Initialize UV project
uv init --python 3.11

# Add dependencies
uv add mcp httpx pydantic python-dotenv structlog asyncio-mqtt
uv add --dev pytest pytest-asyncio black isort mypy ruff
  1. 设置您的环境:
# Copy the example environment file
cp .env.example .env

# Edit .env with your Ceph cluster details
nano .env
  1. 配置您的Ceph连接:
# .env file contents
CEPH_MANAGER_URL=https://192.16.0.31:8443
CEPH_USERNAME=admin
CEPH_PASSWORD=your_ceph_password
CEPH_SSL_VERIFY=false  # Set to true in production with proper certificates

🏃‍♂️ 快速开始

  1. 启动MCP服务器:
uv run python -m ceph_mcp.server
  1. 测试连接:

服务器将记录其启动和任何连接问题。查找指示成功连接到Ceph集群的消息。

🔧 配置

环境变量

变量描述默认值必填
CEPH_MANAGER_URLCeph Manager API端点https://192.16.0.31:8443是的
CEPH_USERNAMEAPI访问的Ceph用户名admin是的
CEPH_PASSWORD用于身份验证的Ceph密码-
CEPH_SSL_VERIFY启用SSL证书验证true没有
CEPH_CERT_PATH自定义SSL证书的路径-
LOG_LEVEL日志记录级别(调试、信息、警告、错误)INFO没有
MAX_REQUESTS_PER_MINUTEAPI请求的速率限制60没有

安全考虑

  • 生产使用:始终启用SSL验证(CEPH_SSL_VERIFY=true)生产中
  • 凭证:安全地存储凭据,永远不要将其提交给版本控制
  • 网络接入:确保MCP服务器能够到达Ceph Manager API端点
  • 权限:使用具有最低所需权限的专用Ceph用户

🎯 可用工具

MCP服务器为AI助手提供了四种主要工具:

1. get_cluster_health

获取全面的群集运行状况,包括总体运行状况、警告和统计数据。

使用案例:

  • “我的Ceph集群怎么样了?”
  • “有什么我应该知道的存储问题吗?”
  • “我的集群的当前状态是什么?”

2. get_host_status

检索群集中所有主机的信息,包括联机/脱机状态和服务分发。

使用案例:

  • “我的群集中哪些主机联机?”
  • “每台主机上运行哪些服务?”
  • “有任何主机有问题吗?”

3. get_health_details

获取详细的健康检查信息,以排除特定问题。

使用案例:

  • “我的集群有哪些具体的警告?”
  • “请提供有关群集错误的详细信息”
  • “帮助我解决此存储问题”

4. get_host_details

获取有关特定主机的全面信息。

参数:

  • hostname:要检查的主机名

使用案例:

  • “告诉我主机ceph-node-01的情况”
  • “此特定主机上正在运行哪些服务?”
  • “获取此主机的详细规格”

📊 交互示例

健康检查

AI Assistant: "How is my Ceph cluster doing?"

Response: ✅ Cluster is healthy. All 3 hosts are online. OSDs: 12/12 up.
🟢 Overall Status: HEALTH_OK
🖥️  Hosts: 3/3 online
💾 OSDs: 12/12 up

故障排除

AI Assistant: "What warnings does my cluster have?"

Response: 🟡 Cluster has 2 warning(s) requiring attention.
🟡 Warnings requiring attention:
   - OSD_NEARFULL: 1 osd(s) are getting full
   - POOL_BACKFILLFULL: 1 pool(s) are backfill full

🧪 发展

运行测试

# Run all tests
uv run pytest

# Run with coverage
uv run pytest --cov=ceph_mcp

# Run specific test types
uv run pytest -m "not integration"  # Skip integration tests

代码质量

# Format code
uv run black src/ tests/
uv run isort src/ tests/

# Lint code
uv run ruff check src/ tests/
uv run mypy src/

# All checks
uv run ruff check src/ tests/ && uv run mypy src/ && uv run pytest

项目结构

ceph-mcp-server/
├── src/ceph_mcp/
│   ├── __init__.py          # Package initialization
│   ├── server.py            # Main MCP server
│   ├── api/
│   │   └── ceph_client.py   # Ceph API client
│   ├── config/
│   │   └── settings.py      # Configuration management
│   ├── handlers/
│   │   └── health_handlers.py # Request handlers
│   ├── models/
│   │   └── ceph_models.py   # Data models
│   └── utils/               # Utility functions
├── tests/                   # Test suite
├── .env.example            # Environment template
├── pyproject.toml          # Project configuration
└── README.md              # This file

🐛 故障排除

常见问题

  1. 连接被拒绝

- 检查Ceph管理器是否正在运行且可访问 - 验证配置中的URL和端口 - 确保MCP服务器和Ceph集群之间的网络连接

  1. 认证失败

- 验证用户名和密码是否正确 - 检查用户是否具有适当的权限 - 确保Ceph用户帐户处于活动状态

  1. SSL证书错误

- 开发:Set CEPH_SSL_VERIFY=false - 对于生产:使用适当的SSL证书或指定 CEPH_CERT_PATH

  1. 权限不足

- 确保Ceph用户具有读取健康和主机信息的权限 - 检查Ceph用户能力: ceph auth get client.your-username

调试

启用调试日志记录以获取更详细的信息:

LOG_LEVEL=DEBUG uv run python -m ceph_mcp.server

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支: git checkout -b feature-name
  3. 进行更改并添加测试
  4. 运行测试套件: uv run pytest
  5. 格式代码: uv run black src/ tests/
  6. 提交拉取请求

📄 许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

🙏 致谢

📞 支持

  • 为错误报告或功能请求创建问题
  • 在创建新问题之前检查现有问题
  • 在报告问题时提供有关您的环境的详细信息

目录标签

目录标签

PythonClaude开发工具developer-toolscephmcpserverai-assistantstorage-management存储管理本地部署AI集成集群监控自然语言处理

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononeremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP