Token导航 LogoToken导航TokenDH.com
Cloudera MCP Server logo
运维云端stdio官方级别未说明来源级核验

Cloudera MCP Server

MCP Server

为Cloudera Manager REST API设计的MCP服务器,提供日志分析、配置管理、服务重启等功能,适用于多代理操作平台。

工具数

19

提示词数

0

GitHub Stars

2

资源数

0
日志分析Python配置管理

安装说明

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

作者 / 组织

dvergari

提供方

dvergari

最后核验

2026/5/17 20:21

运行时

Python

快速接入

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

命令预览

uv run cloudera-manager-mcp

详细介绍

云时代经理mcp

用于Cloudera Manager REST API的MCP(模型上下文协议)服务器。 为运行在上的多代理日志分析和操作平台而设计 Cloudera公共云/CDP。

服务器将CM功能作为MCP工具公开,以便内置代理 Cloudera代理工作室 可以提取日志、检索警报、读取和修改 配置、重启服务和管理CM注册表——全程 一个单一、一致的界面。

______________________________________________________________________

目录

  1. 建筑
  2. 项目结构
  3. 先决条件
  4. 安装
  5. 配置
  6. 在本地运行
  7. Cloudera Agent Studio中的部署
  8. 外露工具
  9. CM注册表(冰山表)
  10. 安全注意事项

______________________________________________________________________

建筑

Cloudera Agent Studio
        │
        │  MCP (stdio)
        ▼
┌─────────────────────────┐
│   cloudera-manager-mcp  │
│                         │
│  server.py              │  tool dispatch
│  ├── cm_pool.py         │  HTTP client pool (one per CM)
│  ├── cm_client.py       │  CM REST API calls (httpx + tenacity)
│  ├── cm_registry.py     │  Iceberg registry via Impala / HiveServer2
│  ├── config.py          │  settings from environment variables
│  └── models.py          │  Pydantic I/O models
└────────────┬────────────┘
             │  HTTPS / REST API
             ▼
   Cloudera Manager instances
   (one per DataHub environment)
             │
             │  reads / writes
             ▼
   Iceberg table — cdp_registry.cloudera_managers
   (Impala or HiveServer2)

CM实例是 在环境变量中配置。 它们被存放在冰山表中,并在启动时装载。 中的唯一变量 .env 是Impala/HiveServer2连接 读取该表所需的参数。

______________________________________________________________________

项目结构

cloudera-mcp-server/
├── pyproject.toml                       package metadata, dependencies, entry point
├── env.example                          environment variable template
├── agent_studio_mcp.json                Agent Studio MCP server configuration
├── requirements.txt                     pip-compatible dependency list
├── docs/
│   └── registry_table.sql               DDL for the Iceberg registry table
└── src/
    └── cloudera_manager_mcp/
        ├── __init__.py
        ├── server.py                    MCP server entry point, tool definitions and dispatch
        ├── cm_client.py                 async HTTP client for CM REST API
        ├── cm_pool.py                   multi-CM connection pool, cluster → host resolution
        ├── cm_registry.py               Iceberg registry (Impala / HiveServer2 via impyla)
        └── config.py                    Pydantic settings (ImpalaSettings, ServerSettings)

______________________________________________________________________

先决条件

要求版本
Python 3.11或更高版本
uv0.4或更高-- 安装
Cloudera Manager7.x(CDP 7.1.7+)
Impala或HiveServer2支持Iceberg v2的任何版本
CM用户角色群集管理员或更高级别

______________________________________________________________________

安装

# Clone the repository
git clone https://github.com/dvergari/cloudera-mcp-server.git
cd cloudera-mcp-server

# Create the virtual environment and install all dependencies
uv sync

# Copy and edit the environment configuration
cp env.example .env
$EDITOR .env

uv sync 读取 pyproject.toml,解析依赖关系图,创建 .venv/ 在项目根目录中,并安装所有内容。无手册 pip install 需要一步。

______________________________________________________________________

配置

所有配置都是通过环境变量完成的,从加载 .env 在启动时。看 .env.example 以获取内联文档的完整参考。

可变组

前缀目的
MCP_*服务器行为——日志级别、并发限制、重试策略
IMPALA_*CM注册表Iceberg表的SQL后端

SQL后端选择

服务器支持两个后端用于读取冰山注册表, 两者均通过 impyla:

IMPALA_BACKEND默认端口Kerberos服务
impala21050impala
hiveserver210000hive

设置 IMPALA_BACKEND=hiveserver2 足以切换后端。 端口和Kerberos服务名称将从以下位置自动解析 后端,除非明确覆盖。

最小化 .env 用于开发(Impala,无TLS)

MCP_LOG_LEVEL=DEBUG
IMPALA_BACKEND=impala
IMPALA_HOST=impala-dev.example.com
IMPALA_AUTH_MECHANISM=PLAIN
IMPALA_USE_SSL=false
IMPALA_DATABASE=cdp_registry
IMPALA_TABLE=cloudera_managers

最小化 .env 用于生产(HiveServer2、LDAP、TLS)

MCP_LOG_LEVEL=INFO
IMPALA_BACKEND=hiveserver2
IMPALA_HOST=hs2-prod.example.com
IMPALA_AUTH_MECHANISM=LDAP
IMPALA_USERNAME=svc-mcp-agent
IMPALA_PASSWORD=

IMPALA_USE_SSL=true
IMPALA_DATABASE=cdp_registry
IMPALA_TABLE=cloudera_managers
IMPALA_REFRESH_INTERVAL_SECS=300

______________________________________________________________________

在本地运行

# Run directly with uv (recommended)
uv run cloudera-manager-mcp

# Or activate the virtualenv first
source .venv/bin/activate
cloudera-manager-mcp

服务器启动并监听 标准 (标准输入/输出)

______________________________________________________________________

Cloudera Agent Studio中的部署

agent_studio_mcp.json 文件包含即用型配置块 针对三种部署模式。将相关块复制到Agent Studio中→ 设置→ MCP服务器.

模式A——本地结账(开发)

用途 uv --directory 在适当的位置运行服务器。 无需构建步骤;uv自动管理virtualenv。

{
  "command": "uv",
  "args": [
    "--directory", "/path/to/cloudera-mcp-server-en",
    "run", "cloudera-manager-mcp"
  ],
  "env": { "IMPALA_HOST": "...", "..." : "..." }
}

模式B——Git存储库(暂存/CI)

用途 uvx --from git+https://... 只需一步即可安装和运行。 将URL替换为您的内部GitLab或GitHub存储库。

{
  "command": "uvx",
  "args": [
    "--from", "git+https://github.com/dvergari/cloudera-mcp-server.git",
    "cloudera-manager-mcp"
  ],
  "env": { "IMPALA_HOST": "...", "..." : "..." }
}

模式C——本地车轮(气隙/生产)

构建一次轮子,将其复制到路径中的Agent Studio主机 /home/cdsw/agent-studio/.local/share/mcp,然后点 uvx 在沙盒路径上。 运行时不需要网络访问。

# Build
uv build
# → dist/cloudera_manager_mcp-1.0.0-py3-none-any.whl

# Copy to the Agent Studio host, then configure:
{
  "command": "uvx",
  "args": [
    "--from", "/home/cdsw/.local/share/uv/mcp/cloudera_manager_mcp-1.0.0-py3-none-any.whl",
    "cloudera-manager-mcp"
  ],
  "env": { "IMPALA_HOST": "...", "..." : "..." }
}

______________________________________________________________________

外露工具

CM操作工具

工具说明
get_service_logs使用主机、角色类型、日志级别和关键字过滤器从服务(YARN、HDFS、Solr、Spark、Hive……)中提取日志
get_alerts获取按集群、严重性、服务和时间范围过滤的CM健康警报
get_service_metrics使用CM度量名称检索时间序列度量(cpu_percent、jvm_heap_used_mb…)
get_config读取服务或角色配置组配置; view=full 包括默认值
update_config修改单个CM配置参数;总是回来 old_value 用于验证
run_service_command启动/停止/重新启动/滚动重新启动服务--异步,返回 command_id
get_command_status通过以下方式轮询正在运行的CM命令的状态 command_id
get_host_status群集主机的运行状况:运行状况摘要、资源、活动角色
get_audit_eventsCM审核日志条目:登录、配置更改、服务操作
list_datahubs枚举DataHub集群,包括状态、服务、节点计数、云提供商
list_clusters列出每个配置的CM实例管理的所有集群
list_services列出特定集群中的服务
refresh_cluster_map重建内部群集→ CM主机查找表

注册表管理工具

工具说明
registry_list列出冰山表中存储的所有CM实例(密码除外)
registry_stats汇总统计数据:总CM、活动计数、环境、云提供商
registry_add注册一个新的CM;立即将其添加到连接池中
registry_deactivate软删除CM(active=FALSE);行保留用于审核历史记录
registry_update_field更新给定CM主机的单个字段(端口、api_version、超时…)
registry_reload强制从Iceberg重新加载注册表缓存并刷新连接池

______________________________________________________________________

CM注册表(冰山表)

CM实例存储在冰山表中 cdp_registry.cloudera_managers. 完整的DDL、示例数据和常见的更新操作都在 docs/registry_table.sql.

要创建表并插入第一条记录,请执行以下操作:

impala-shell -f docs/registry_table.sql

服务器在启动时读取表并将结果缓存在内存中。 缓存每 IMPALA_REFRESH_INTERVAL_SECS 秒(默认值为300)。 要强制立即重新加载而不重新启动服务器,请调用 registry_reload 工具。

______________________________________________________________________

安全注意事项

  • CM证书 仅存储在冰山注册表中,从不存储在

环境变量或配置文件。

  • 密码 注册表中当前以明文形式存储。

对于生产部署,集成 cryptography.Fernet 或云 机密管理器(AWS机密管理器、Azure密钥库、GCP机密管理器) 在 cm_registry.load() 呼叫站点。

  • 刀具输出 从不包括CM密码。这 registry_list 工具

明确排除 password 从SELECT语句中删除列。

  • 敏感的CM配置参数 (sensitive=true)通过

而不被服务器记录。

  • 破坏性工具 (update_config, run_service_command,

registry_deactivate)应通过代理级别确认步骤进行门控 在实际调用工具之前。这在代理提示符处强制执行 级别,而不是服务器级别。

  • 使用一个 专用CM服务帐户 (svc-mcp-agent)最低限度

所需权限,而不是 admin 用户。

目录标签

目录标签

日志分析Python配置管理本地部署服务管理多代理平台ClouderaManager

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

19

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP