集群管理协议服务器

用于Cloudera Manager/CDP集群管理和故障排除的模型上下文协议服务器,支持多种注册表后端和服务客户端。

  • by disoardi
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 disoardi/cdp-mcp-server

使用说明

cdp-mcp服务器

用于Cloudera Manager/CDP集群管理和故障排除的MCP(模型上下文协议)服务器。

叉子 dvergari/cloudera mcp服务器 --扩展了可插拔的注册表后端(File、Env、Iceberg)和其他服务客户端(YARN、Spark History Server、HDFS NameNode、Oozie)。

快速入门(通用型——无需冰山)

选项1:FileRegistry(建议用于开发)

# Install
git clone https://github.com/disoardi/cdp-mcp-server.git
cd cdp-mcp-server
python3.12 -m venv .venv
source .venv/bin/activate
pip install -e .

# Configure
cp cm_instances.yaml.example cm_instances.yaml
# Edit cm_instances.yaml with your CM credentials

# Run
REGISTRY_BACKEND=file cdp-mcp

选项2:EnvRegistry(单CM,零配置)

REGISTRY_BACKEND=env \
  CM_HOST=cm.example.com \
  CM_USERNAME=admin \
  CM_PASSWORD=changeme \
  CM_USE_TLS=false \
  cdp-mcp

Claude桌面配置

文件注册表

{
  "mcpServers": {
    "cdp": {
      "command": "/path/to/cdp-mcp-server/.venv/bin/cdp-mcp",
      "env": {
        "REGISTRY_BACKEND": "file",
        "REGISTRY_FILE_PATH": "/path/to/cm_instances.yaml"
      }
    }
  }
}

环境注册处(单一CM)

{
  "mcpServers": {
    "cdp": {
      "command": "/path/to/cdp-mcp-server/.venv/bin/cdp-mcp",
      "env": {
        "REGISTRY_BACKEND": "env",
        "CM_HOST": "cm.example.com",
        "CM_USERNAME": "admin",
        "CM_PASSWORD": "changeme",
        "CM_USE_TLS": "false"
      }
    }
  }
}

可用工具

Cloudera Manager(原始dvergari工具)

  • list_clusters --列出所有托管的DataHub群集
  • list_services --列出集群上的服务
  • get_service_logs --使用时间范围过滤提取服务日志
  • get_alerts --获取集群警报和事件
  • get_service_metrics --通过tsquery获取时间序列指标
  • get_config / update_config --读写服务配置
  • run_service_command / get_command_status --执行异步CM命令
  • get_host_status --主机健康和角色清单
  • get_audit_events --CM审核日志
  • list_datahubs --枚举DataHub集群
  • refresh_cluster_map --重建集群→CM映射

注册表管理

  • registry_list --列出已注册的CM实例
  • registry_stats --注册表统计
  • registry_add --注册新的CM实例
  • registry_deactivate --停用CM实例
  • registry_update_field --更新注册表字段
  • registry_reload --热重新加载注册表

YARN资源经理

  • get_yarn_app --获取YARN应用程序详细信息和诊断
  • list_yarn_apps --列出带过滤器的YARN应用程序
  • get_yarn_queue --获取YARN调度程序队列容量/使用情况

Spark历史服务器

  • get_spark_app --获取Spark应用程序摘要
  • list_spark_apps --列出Spark应用程序
  • get_spark_stages --获取阶段详细信息(有助于调试慢速作业)

HDFS名称节点

  • get_namenode_status --名称节点运行状况、容量、损坏/丢失的块

奥齐

  • get_oozie_job --获取工作流或协调员工作详细信息
  • list_oozie_jobs --列出带有过滤器的Oozie作业

注册表后端

后端 用例 需要
file 发展,小团队 cm_instances.yaml
env 单CM,快速测试 环境变量 CM_HOST, CM_USERNAME, CM_PASSWORD
iceberg 生产CDP环境 Impala/HiveServer2+冰山表

许可证

Apache许可证2.0——请参阅 许可证. 原创作品©Davide Vergari。 修改©Davide Isoardi。