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

Ambari MCP Server

MCP Server

一个基于TypeScript SDK构建的Apache Ambari模型上下文协议(MCP)服务器,提供通过MCP协议与Ambari集群交互的工具,支持集群管理、服务管理、主机管理和警报管理等功能。

工具数

40

提示词数

0

GitHub Stars

1

资源数

0
集群管理TypeScriptClaudeClaude DesktopClaude

安装说明

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

作者 / 组织

nikita15p

提供方

nikita15p

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

Ambari MCP服务器

Apache Ambari的模型上下文协议(MCP)服务器,使用TypeScript SDK构建。该服务器提供通过MCP协议与Ambari集群交互的工具。

概述

该MCP服务器允许AI助手和其他MCP客户端通过将常见的Ambari REST API操作公开为MCP工具来与Apache Ambari集群交互。

特性

  • 群集管理:获取集群信息,创建集群
  • 服务管理:列出并获取集群服务的详细信息
  • 主机管理:列出并获取集群主机的详细信息
  • 警报管理:管理警报目标
  • 安全认证:使用Ambari服务器进行基本身份验证
  • 可配置的:基于环境的配置
  • 类型安全:使用TypeScript构建,以提高可靠性

可用工具

集群操作

  • ambari_clusters_getclusters -返回所有集群
  • ambari_clusters_getcluster -返回有关特定群集的信息
  • ambari_clusters_createcluster -创建新群集

服务操作

  • ambari_services_getservices -获取集群的所有服务
  • ambari_services_getservice -获取特定服务的详细信息
  • ambari_services_getservicestate -获取特定服务的详细状态信息
  • ambari_services_startservice -在集群上启动特定服务
  • ambari_services_stopservice -停止群集上的特定服务

服务重启和配置管理

  • ambari_services_getserviceswithstaleconfigs -获取需要重新启动的过时配置的服务和组件
  • ambari_services_gethostcomponentswithstaleconfigs -获取因配置过时而需要重新启动的主机组件
  • ambari_services_restartservice -重启集群上的特定服务(支持滚动重启)
  • ambari_services_restartcomponents -重新启动具有过时配置的特定组件
  • ambari_services_getrollingrestartstatus -获取服务滚动重启操作的状态

服务维护模式管理

  • ambari_services_enablemaintenancemode -为服务或组件启用维护模式
  • ambari_services_disablemaintenancemode -禁用服务或组件的维护模式

服务检查操作

  • ambari_services_runservicecheck -对特定服务运行服务检查,以验证其是否正常工作
  • ambari_services_isservicechecksupported -检查堆栈中的特定服务是否支持服务检查
  • ambari_services_getservicecheckstatus -获取服务最近的服务检查操作的状态

主机操作

  • ambari_hosts_gethosts -返回所有主机的集合
  • ambari_hosts_gethost -返回有关单个主机的信息

警报操作

  • ambari_alerts_gettargets -返回所有警报目标
  • ambari_alerts_getalerts -使用筛选选项获取群集的所有警报
  • ambari_alerts_getalertsummary -以分组格式获取集群的警报摘要
  • ambari_alerts_getalertdetails -获取特定警报定义的详细信息
  • ambari_alerts_getalertdefinitions -获取群集的所有警报定义
  • ambari_alerts_updatealertdefinition -更新警报定义(启用/禁用或修改属性)

警报组管理

  • ambari_alerts_getalertgroups -获取群集的所有警报组
  • ambari_alerts_createalertgroup -创建新的警报组
  • ambari_alerts_updatealertgroup -更新现有警报组
  • ambari_alerts_deletealertgroup -删除警报组
  • ambari_alerts_duplicatealertgroup -用新名称复制现有警报组
  • ambari_alerts_adddefinitiontogroup -向警报组添加警报定义
  • ambari_alerts_removedefinitionfromgroup -从警报组中删除警报定义

警报通知管理

  • ambari_alerts_getnotifications -获取所有警报通知目标
  • ambari_alerts_createnotification -创建新的警报通知目标
  • ambari_alerts_updatenotification -更新现有警报通知目标
  • ambari_alerts_deletenotification -删除警报通知目标
  • ambari_alerts_addnotificationtogroup -将通知目标添加到警报组
  • ambari_alerts_removenotificationfromgroup -从警报组中删除通知目标

警报设置

  • ambari_alerts_savealertsettings -保存集群级警报设置(如重复容差)

安装

  1. 将此服务器克隆或复制到本地计算机
  1. 安装依赖项:
   npm install
  1. 安装开发依赖项(如果尚未安装):
   npm install typescript @types/node --save-dev

配置

  1. 复制示例环境文件:
   cp .env.example .env
  1. 编辑 .env 文件中包含您的Ambari服务器详细信息:
   AMBARI_BASE_URL=http://your-ambari-server:8080/api/v1
   AMBARI_USERNAME=admin
   AMBARI_PASSWORD=admin
   TIMEOUT_MS=30000

建筑

构建TypeScript代码:

npm run build

用法

作为独立服务器

直接运行服务器:

npm start

使用MCP客户端

克劳德桌面

添加到您的Claude Desktop配置中:

{
  "mcpServers": {
    "ambari": {
      "command": "node",
      "args": ["/path/to/ambari-mcp-server/dist/index.js"]
    }
  }
}

其他MCP客户端

服务器通过stdio进行通信,并遵循MCP协议规范。

发展

项目结构

ambari-mcp-server/
├── src/
│   └── index.ts          # Main server implementation
├── dist/                 # Compiled JavaScript (after build)
├── .env.example         # Environment configuration template
├── package.json         # Node.js dependencies and scripts
├── tsconfig.json        # TypeScript configuration
└── README.md           # This file

开发命令

  • npm run build -将TypeScript编译为JavaScript
  • npm run dev -构建并运行服务器
  • npm start -运行已编译的服务器

添加新工具

  1. 将工具定义添加到 AMBARI_TOOLS 数组
  2. 在工具执行器中执行 toolExecutors 对象
  3. 使用新的工具文档更新此README

例子:

// Add to AMBARI_TOOLS
{
  name: 'ambari_new_operation',
  description: 'Description of the new operation',
  inputSchema: {
    type: 'object',
    properties: {
      // Define input parameters
    },
    required: ['requiredParam']
  }
}

// Add to toolExecutors
ambari_new_operation: async (args) => {
  return executeAmbariRequest('GET', '/new-endpoint', args);
}

错误处理

服务器包括全面的错误处理:

  • 网络超时和连接错误
  • Ambari的HTTP错误响应
  • 无效的工具参数
  • 身份验证失败

错误作为MCP错误响应返回,并带有相应的错误代码和消息。

安全考虑

  • 将敏感凭据存储在环境变量中
  • 在生产环境中为Ambari服务器连接使用HTTPS
  • 实施适当的身份验证和授权
  • 考虑MCP客户端和服务器之间的网络安全

故障排除

常见问题

  1. 连接被拒绝:检查Ambari服务器是否正在运行且可访问
  2. 认证失败:在中验证用户名和密码 .env
  3. 超时错误:增加 TIMEOUT_MS 价值
  4. 构建错误:确保安装了TypeScript和依赖项

调试模式

设置环境变量 DEBUG=1 对于详细日志记录:

DEBUG=1 npm start

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

许可证

ISC许可证-详见package.json

相关链接

目录标签

目录标签

集群管理TypeScriptClaude本地部署服务管理主机管理警报管理

支持客户端

Claude DesktopClaude

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

40

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP