项目简介

Intersight MCP服务器是一个基于Model Context Protocol (MCP) 的后端服务,旨在让大型语言模型 (LLM) 能够直接与思科Intersight平台进行交互。它将Intersight的各项操作(如服务器监控、策略管理、网络配置等)封装成LLM可以理解和调用的工具,极大地简化了通过自然语言管理和自动化数据中心基础设施的工作。

主要功能点

  • 基础设施监控: 查看服务器、机箱、互联设备的详细信息,获取CPU、内存、温度、功耗等遥测数据。
  • 告警管理: 列出活动告警,并可进行告警确认。
  • 策略与池管理: 对启动策略、BIOS策略、网络策略、IP/MAC/UUID/WWN池等进行创建、读取、更新和删除操作。
  • 网络配置: 管理虚拟网卡 (vNICs)、VLAN组、以太网适配器策略、QoS策略、端口通道等。
  • 硬件安全与管理: 配置TPM(可信平台模块)、本地磁盘、SD卡、KVM、虚拟媒体等硬件相关策略。
  • 系统策略: 管理SNMP、Syslog、NTP、SMTP等系统级策略。
  • 服务器配置文件: 创建、管理、部署服务器配置文件,并关联各项策略和资源池。
  • 兼容性与安全建议: 查询硬件兼容性列表 (HCL) 和技术安全公告 (TAM),帮助识别受影响设备。
  • 工作流自动化: 查看工作流执行和任务信息,了解自动化任务的进展。

安装步骤

  1. 安装Node.js: 确保您的系统已安装Node.js 16或更高版本。
  2. 获取API凭据: 准备Cisco Intersight的API密钥ID (Key ID) 和秘密密钥 (Secret Key)。秘密密钥可以是一个文件路径,也可以是直接的字符串。
  3. 克隆并构建项目:
    • 下载或克隆本仓库到本地。
    • 打开终端,导航到项目根目录。
    • 运行 'npm install' 安装所有依赖。
    • 运行 'npm run build' 编译服务器代码。

服务器配置

MCP服务器是作为您LLM客户端的一个扩展来运行的。您需要将MCP服务器的启动命令配置到您的LLM客户端(如VSCode的GitHub Copilot Chat或Claude Desktop)中。以下是配置示例:

  • 适用于VSCode的GitHub Copilot: 在VSCode用户设置 (settings.json) 中添加以下JSON配置:

    {
      "github.copilot.chat.mcp.servers": {
        "intersight": {
          "command": "node", // 启动服务器的命令,这里是Node.js运行时
          "args": ["/path/to/intersight-mcp-server/build/index.js"], // 传递给命令的参数,指定MCP服务器的入口文件
          "env": { // 环境变量配置,用于传递Intersight API凭据
            "INTERSIGHT_API_KEY_ID": "your-api-key-id", // 您的Intersight API密钥ID
            "INTERSIGHT_API_SECRET_KEY_PATH": "/path/to/SecretKey.txt", // 秘密密钥文件的完整路径
            // 或者,您也可以直接在这里提供秘密密钥字符串(二选一):
            // "INTERSIGHT_API_SECRET_KEY": "your-api-secret-key-string",
            "INTERSIGHT_BASE_URL": "https://intersight.com/api/v1" // Intersight API的基础URL,默认为此值
          }
        }
      }
    }
  • 适用于Claude Desktop: 编辑Claude Desktop配置文件 (通常在 '~/Library/Application Support/Claude/claude_desktop_config.json' (macOS), '%APPDATA%\Claude\claude_desktop_config.json' (Windows) 或 '~/.config/Claude/claude_desktop_config.json' (Linux)),添加以下JSON配置:

    {
      "mcpServers": {
        "intersight": {
          "command": "node", // 启动服务器的命令,这里是Node.js运行时
          "args": ["/path/to/intersight-mcp-server/build/index.js"], // 传递给命令的参数,指定MCP服务器的入口文件
          "env": { // 环境变量配置,用于传递Intersight API凭据
            "INTERSIGHT_API_KEY_ID": "your-api-key-id", // 您的Intersight API密钥ID
            "INTERSIGHT_API_SECRET_KEY_PATH": "/path/to/SecretKey.txt", // 秘密密钥文件的完整路径
            // 或者,您也可以直接在这里提供秘密密钥字符串(二选一):
            // "INTERSIGHT_API_SECRET_KEY": "your-api-secret-key-string",
            "INTERSIGHT_BASE_URL": "https://intersight.com/api/v1" // Intersight API的基础URL,默认为此值
          }
        }
      }
    }

    请务必将配置中的 '/path/to/intersight-mcp-server/build/index.js' 替换为实际编译后的服务器入口文件路径,并将 'your-api-key-id' 和 'your-api-secret-key' (或文件路径) 替换为您的Intersight凭据。

基本使用方法

配置完成后,重启您的LLM客户端。您现在可以在与LLM的对话中使用自然语言来执行Intersight操作,例如:

  • "显示所有关键告警" (Show me all critical alarms)
  • "列出所有已开启且有关键告警的服务器" (Show me all servers that are powered on and have critical alarms)
  • "列出所有启动策略以及哪些配置文件使用了它们" (List all my boot policies and which profiles use each one)

信息

分类

商业系统