参考iDRAC MCP服务器和工具
- 导航 - 那么,这个回购的意义是什么? - 什么是MCP? - 如何使用参考iDRAC MCP服务器? - 建筑细部 - 入门指南 - 项目结构 - 快速开始 - 可用工具 - 硬件和系统要求 - 大型语言模型的外部依赖性 - iDRAC许可证要求 - 接下来该怎么办?/安装 - 安装后 - 调试 - 框架使用的默认端口 - 常见问题解答 - 我应该如何在我的环境中部署MCP服务器? - 此实现中如何解决身份验证问题? - 我需要担心MCP工具调用会淹没iDRAC链接吗? - MCP参考解决方案供应商是否中立? - 许可证 - 贡献 - 免责声明 - 支持
导航
那么,这个回购的意义是什么?
此项目提供了iDRAC MCP服务器的参考实施,允许AI代理或LLM通过iDRAC Redfish API与Dell PowerEdge服务器进行本地接口。
iDRAC MCP服务器最好在容器化环境中运行。此服务器不得在iDRAC上运行,也不会消耗任何iDRAC资源。
我们努力写这些说明,以便事情易于遵循。如果你有反馈,尤其是 如果有什么令人困惑的,请随时打开 问题
什么是MCP?
MCP(模型上下文协议)是用于将AI应用程序连接到外部系统的开源标准。 使用MCP,像Claude或ChatGPT这样的人工智能应用程序可以连接到数据源(如本地文件、数据库)、工具(如搜索引擎、计算器)和工作流(如专门的提示),使它们能够访问关键信息,并在实时或离线的外部数据源上执行任务。在代理工作流的背景下,MCP服务器可以利用PowerEdge iDRAC的监控和配置界面向AI应用程序公开AI原生工具调用界面。
将MCP想象成AI应用程序的USB-C端口。正如USB-C提供了一种连接电子设备的标准化方式一样,MCP也提供了将AI应用程序连接到外部系统的标准化方法。
MCP是一个供应商中立的标准化工具,用于发现和调用MCP工具调用。有关MCP的更多入门信息,请参阅 开发人员资源
您还可以在以下网址阅读最新规范 开发人员资源.
如何使用参考iDRAC MCP服务器?
接下来最常见的问题是:“我实际上能用它做什么?” 此参考服务器通过模型上下文协议(MCP)提供与代理工作流的本地集成,MCP是一种专为AI工具发现和调用而设计的开放标准。
AI应用程序在MCP服务器支持的工具上本地发现和调用调用。此存储库中提供的MCP参考服务器使用DMTF Redfish API与PowerEdge服务器通信,DMTF Redfish API是带外服务器管理的标准化接口。这种集成使AI代理(通过利用MCP服务器工具)能够跨现代服务器机架执行监控、配置和生命周期操作等任务,并实现自动化监控和故障解决工作流程。
您可以在以下网址阅读有关参考iDRAC MCP服务器设计理念的更多信息 设计理念
建筑细部
iDRAC MPC服务器的高级参考部署如下图所示。
High level Deployment Overview
有关参考iDRAC MPC服务器的深入架构详细信息,请参阅 建筑.md
仓库中提供的代理集成测试套件的部署视图如下图所示。 Integration Test Deployment View
有关代理集成测试套件的深入架构详细信息,请参阅 建筑设计_工程设计_测试.md
入门指南
MCP参考服务器使用DMTF Redfish API与PowerEdge服务器通信,该API为服务器管理提供了标准化的接口。默认情况下,iDRAC许可的基本层提供基于Redfish的可管理性,确保基本的管理功能,而不需要对目标进行额外的升级。
项目结构
mcp_server/
├── mcp_idrac_server/ # MCP Server
|── integration_tests_agentic/ # Integration Test Suite with agentic interactions (LLM/natural language based chat interactions).
└── docs/ # Documentation which includes architeture and user guides.
├── mcp_client_examples/ # Simple Client Examples
└── integration_tests/ # Simple Integration Test Suite for CI/CD integration purposes.快速开始
显示docker部署
可用工具
工具调用支持是此解决方案可用性的基石。在这个参考实现中,我们采用了一种工具可由用户配置的方法。该实现公开了各种工具调用,允许用户通过配置MCP_iDRAC_server/config/tools.yaml文件来选择和定义其iDRAC MCP服务器实例将提供的工具。
iDRAC支持的Redfish方法在OpenAPI.yaml中定义,该方法根据DMTF Redfish标准公开可用。此参考实现包括一个脚本,该脚本将Redfish OpenAPI定义转换为MCP工具调用,实现无缝集成。mcp_idrac_server/config/tools_reference.yaml中提供了由此产生的参考工具定义。
我们鼓励用户查看此参考YAML,并选择最适合其用例的工具调用。
用户可以选择工具并将其添加到tools.yaml中。默认设置包括以下工具:
- 系统管理: get_system_info、list_systems、get_service_root
- 电源控制: reset_system,reset_manager
- BIOS配置: get_bios_settings、get_bios_pending_setting、get_bios注册表
- 硬件清单: get_memory_info、get_storage_info、y_ethernet_interface、get_processors
- 用户管理: list_user_accounts、get_user_account、create_user_acount、update_user_account、delete_user_ancount
工作流将多个工具组合成顺序操作,包括数据流、条件执行和错误处理。底层API调用是在这些工作流工具调用中抽象的,允许它们作为对MCP服务器(从而对LLM)的单个请求来执行,从而实现令牌效率。
您可以在以下网址阅读有关工具执行支持的参考iDRAC MCP服务器设计理念的更多信息 设计理念
硬件和系统要求
无论您决定在哪个服务器上运行此参考MCP服务器和工具,都必须运行以下应用程序:
- 一些轻量级的Python程序
- Docker容器
您需要的资源量在很大程度上取决于您需要将其连接到此解决方案中的服务器数量。我们 仍处于测试的初始阶段,但以下是集成测试执行期间实时R760的5分钟捕获的一些统计数据:
| 总数据包数 | 276 |
|---|---|
| 平均PPS | 2 |
| 平均数据包大小(字节) | 720 |
| 发送/回收的总字节数 | 69122(~0.06MB) |
| 平均字节/秒 | 230 |
从上面可以看出,数据负载非常轻。您可以通过以下方式轻松管理数千台服务器或服务器机架 一个MCP服务器安装取决于其资源。随着我们执行更多的负载测试,我们将在此处推送结果。
大型语言模型的外部依赖性
作为集成套件一部分的参考代理需要访问通过yaml定义配置的外部LLM。该解决方案以GPT-OSS 120B模型为参考进行了测试。
GPT-OSS 120B是OpenAI开发的一种开放权重语言模型,具有1170亿个参数,并采用混合专家架构。它专为高级推理功能而设计,可以在单个80GB GPU上高效运行。该模型在Apache 2.0许可证下发布,允许组织部署、下载和拥有它。
测试基础设施应与通过yaml定义配置的各种模型一起工作。
iDRAC许可证要求
MCP参考服务器使用DMTF Redfish API与PowerEdge服务器通信,该API为服务器管理提供了标准化的接口。默认情况下,iDRAC许可的基本层提供基于Redfish的可管理性,无需额外升级即可确保基本的管理功能。
接下来该怎么办?/安装
在你开始之后。你可以去我们的 安装说明.
注: 在管道的初始构建过程中,您需要访问互联网,但可以在之后将其离线 它已经建成。
安装后
运行安装程序后,您可能希望开始根据自己的喜好进行自定义。这应该是一个 参考架构,但它不太可能完全满足您的需求。您可能希望添加自己的工具调用。
调试
如果你需要调试东西,我们在中提供了一些我们在调试过程中学到的技巧和窍门 DEBUGGING.md.
框架使用的默认端口
- 8000-idrac mcp服务器默认端口
- 8001-代理编排器定义端口(代理集成测试套件的组件)
- 8501-基于Streamlit的web界面(代理集成测试套件的组件)
常见问题解答
我应该如何在我的环境中部署MCP服务器?
MCP服务器的部署应该根据您的特定用例进行定制。此参考实现仅作为指南,不涉及单个客户部署场景。消费者有责任定制和调整此实现,以满足他们的独特需求。
此实现中如何解决身份验证问题?
MCP协议规范保持了身份验证工作流的可选性和灵活性,使其能够适应不同的部署场景。在许多情况下,MCP服务器驻留在代理的受信任域内,代理或该受信任域中的任何其他应用程序抽象了身份验证过程。
此参考实现在其初始版本中不包括身份验证工作流。
集成测试套件提供了一种方法,用于发现PowerEdge iDRAC并将其装载到代理信任域中。有关更多详细信息,请参阅架构描述。
我需要担心MCP工具调用会淹没iDRAC链接吗?
即使有重要的工作流定义和工具调用,也不会淹没iDRAC的1Gb/s链路。每次工具调用只需要几KB/s。这可以被认为与常规系统管理工作流流量相当。
MCP参考解决方案供应商是否中立?
对。MCP服务器基于行业标准MCP协议实现,将使用DMTF-Redfish接口与服务器端点通信。虽然Redfish标准的某些部分留给供应商实施,但戴尔的Redfish实施符合规范。
许可证
此项目根据Apache 2.0许可证获得许可。请参阅 许可证 了解更多信息。
贡献
我们欢迎您对这个参考工具集的贡献。看 贡献指南 为了 更多细节。请参考我们的 行为准则.
免责声明
此软件包中包含的软件应用程序被视为“测试版”。它们旨在用于测试 仅适用于非生产环境。
没有暗示或提供任何支持。戴尔公司对“BETA”的结果或性能不承担任何责任 文件夹。戴尔不保证软件将满足您的要求,也不保证软件的操作将 不间断或无错误。本软件按“原样”提供给您,不提供任何形式的保证。戴尔否认 所有明示或暗示的保证,包括但不限于对适销性、适用性的暗示保证 出于特定目的,所有权和非侵权。软件结果和性能的全部风险 由你承担。此软件不提供技术支持。
在任何情况下,戴尔或其供应商均不对任何直接或间接损害承担责任(包括但不限于 限制、商业利润损失、业务中断、商业信息丢失或其他 因使用或无法使用软件而造成的经济损失,即使被告知这种可能性 损坏。一些司法管辖区不允许排除或限制后果性或附带性责任 损害赔偿,因此上述限制可能不适用于您。
