ceph-mcp-server Spec
最後更新:2026-05-22
1. Goal
在 Ceph MON node 直接部署 upstream ceph-mcp-server,以 streamable-http 對外提供 tcp/8000,並讓 Mac mini Copilot CLI 透過 public IP 串接。
2. Deployment Baseline
- 上游來源:
https://github.com/rajmohanram/ceph-mcp-server.git - MON node 目錄:
~/ceph-mcp-server/app - 執行環境:
uv+ 專案.venv - 敏感資訊:
~/ceph-mcp-server/.env - 啟動方式:
systemd常駐服務ceph-mcp.service
3. Runtime Configuration
必要環境變數:
CEPH_MANAGER_URLCEPH_USERNAMECEPH_PASSWORDCEPH_SSL_VERIFYMCP_SERVER_VERSIONSERVER_HOST=0.0.0.0SERVER_PORT=8000
Copilot CLI 需用 remote MCP(HTTP):
copilot mcp add --transport http ceph-mcp http://<MON_PUBLIC_IP>:8000/mcp- 若反代啟用 TLS,改為
https://<FQDN>/mcp
4. MCP Transport Requirement
- 以 upstream 現況為準:
transport="streamable-http" - endpoint path 為
/mcp - 本版不採用 local stdio 模式
5. Current Recognized State
- 部署目標:MON node 開
tcp/8000 - 客戶端目標:Mac mini Copilot CLI 經 public IP 連入
- 優先策略:維持單機(不新增 VM)
6. Port Collision Check (Required)
檢查命令:
ss -ltnp | egrep ':(8000|3300|6789|8443|6800)\b'sudo lsof -iTCP:8000 -sTCP:LISTEN -n -P
判斷:
- Ceph 常見埠不含
8000(多為3300/6789/8443/6800+) - 若
8000已被其他服務占用,需改埠(例如18000)並同步調整 Copilot URL
7. Known Failure Patterns
MCP error -32000: Connection closed- 常見根因:public IP 不通、ACL/防火牆阻擋、service 未啟動
HTTP timeout / connection refused- 常見根因:
SERVER_HOST綁定錯誤、8000未開放、service crash
- 常見根因:
401/403(若前面加了反代驗證)- 常見根因:header/token 未帶入 Copilot MCP config
8. Security Baseline
- 僅允許 Mac mini 公網 IP 連
8000/tcp - 避免
0.0.0.0:8000全網開放且無 ACL - 長期運行建議加 TLS 反向代理(Nginx/Caddy)與驗證標頭
9. Reference
storage/ceph-mcp-server/README.mdhttps://github.com/rajmohanram/ceph-mcp-server.git