模型上下文协议服务器

一个MCP服务器,使LLM能够与Hyperfabric API交互,提供全面的基础设施管理和自动化功能。

  • by jim-coyne
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 jim-coyne/hyperfabric_MCP

使用说明

超结构MCP服务器

MCP(模型上下文协议)服务器,使LLM能够与Hyperfabric API交互。该服务器公开了所有79个Hyperfabric OpenAPI端点,作为全面基础设施管理和自动化的工具。

🔧 动态工具生成:自动解析Hyperfabric OpenAPI规范并创建MCP工具
🛡️ 安全认证:使用正确的安全性处理Hyperfabric API令牌身份验证
📊 API全面覆盖:公开所有79个可用的Hyperfabric端点以进行基础设施管理
✨ 清洁工具名称:工具显示直观的名称,如 fabricsGetAllFabrics 便于发现

先决条件

  • 已安装Node.js 18+
  • 使用GitHub Copilot或Claude Desktop的VSCode
  • Hyperfabric API证书(API令牌)
  • Hyperfabric OpenAPI规范文件

1.构建服务器

npm install
npm run build

2.配置LLM客户端

使用GitHub Copilot进行VSCode

  1. 打开VSCode设置: Cmd+Shift+P → “首选项:打开用户设置(JSON)”

  2. 将此配置添加到您的 settings.json:

{
  "github.copilot.chat.mcp.servers": {
    "hyperfabric": {
      "command": "node",
      "args": ["/path/to/hyperfabric-mcp-server/dist/main.js"],
      "env": {
        "HYPERFABRIC_API_TOKEN": "your-api-token",
        "LOG_LEVEL": "info"
      }
    }
  }
}
  1. 重新加载VS代码: Cmd+Shift+P → “开发人员:重新加载窗口”

适用于克劳德桌面

  1. 找到您的Claude Desktop配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 窗户: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  2. 将此配置添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "hyperfabric": {
      "command": "node",
      "args": ["/path/to/hyperfabric-mcp-server/dist/main.js"],
      "env": {
        "HYPERFABRIC_API_TOKEN": "your-api-token",
        "LOG_LEVEL": "info"
      }
    }
  }
}
  1. 重新启动Claude Desktop应用程序

可用工具和功能

MCP服务器自动生成 79工具 根据完整的Nexus Hyperfabric REST API v1.1.0规范:

� 身份验证和用户管理(9个工具)

  • 承载令牌管理:安全的API身份验证

    • authGetBearerTokens -列出用户的所有承载令牌
    • authCreateBearerTokens -创建新的承载令牌
    • authGetBearerToken -获取特定的承载令牌详细信息
    • authDeleteBearerToken -删除特定的承载令牌
  • 用户管理:用户帐户操作

    • authGetUsers -列出组织中的所有用户
    • authGetUser -获取特定用户详细信息
    • authSetUsers -创建或更新用户
    • authUpdateUser -更新现有用户
    • authDeleteUser -删除用户帐户

🖥️ 设备管理(3个工具)

  • 设备操作:物理设备管理和绑定
    • devicesGetDevices -列出所有设备(绑定和未绑定)
    • devicesBindDevice -将设备绑定到结构节点
    • devicesUnbindDevice -从结构节点解除设备绑定

🏗️ 结构管理(16个工具)

  • 结构配置:核心结构操作

    • fabricsGetAllFabrics -列出组织中的所有面料
    • fabricsAddFabrics -创建新面料
    • fabricsGetFabric -获取特定面料细节
    • fabricsUpdateFabric -更新结构配置
    • fabricsDeleteFabric -删除织物
  • 连接管理:结构网络连接

    • fabricsGetFabricConnections -列出结构中的所有连接
    • fabricsAddFabricConnections -添加新连接
    • fabricsGetFabricConnection -获取特定的连接详细信息
    • fabricsSetFabricConnections -更换所有连接
    • fabricsDeleteFabricConnections -删除所有连接
    • fabricsDeleteFabricConnection -删除特定连接
  • 配置管理:候选配置和部署

    • fabricsGetFabricCandidates -列出候选配置
    • fabricsGetFabricCandidate -获取特定的候选配置
    • fabricsCommitFabricCandidate -将候选部署到运行配置
    • fabricsRevertFabricCandidate -放弃候选配置
    • fabricsReviewFabricCandidate -向候选配置添加注释

🌐 网络配置(3个工具)

  • 生成树协议:全局STP设置
    • networksGetFabricStp -获取结构STP配置
    • networksUpdateFabricStp -更新STP设置
    • networksResetFabricStp -将STP重置为默认值

� 节点管理(25个工具)

  • 节点操作:结构节点配置

    • nodesGetFabricNodes -列出结构中的所有节点
    • nodesAddFabricNodes -向结构中添加新节点
    • nodesGetNamedFabricNode -获取特定节点详细信息
    • nodesUpdateFabricNode -更新节点配置
    • nodesDeleteFabricNode -从结构中删除节点
  • 港口管理:节点端口配置

    • nodesGetPorts -列出节点的所有端口
    • nodesGetPort -获取特定端口详细信息
    • nodesUpdatePort -更新端口配置
    • nodesSetPorts -替换所有端口配置
    • nodesResetPort -将端口重置为默认值
  • 管理端口:带外管理界面

    • nodesGetManagementPorts -列出管理端口
    • nodesAddManagementPorts -添加管理端口
    • nodesGetManagementPort -获取特定管理端口
    • nodesUpdateManagementPort -更新管理端口配置
  • 环回接口:用于路由的虚拟接口

    • nodesGetNodeLoopbacks -列出环回接口
    • nodesAddNodeLoopbacks -创建环回接口
    • nodesGetNodeLoopback -获取特定的环回详细信息
    • nodesUpdateNodeLoopback -更新环回配置
    • nodesDeleteNodeLoopback -删除环回接口
  • 子接口:VLAN和子接口配置

    • nodesGetNodeSubInterfaces -列出子接口
    • nodesAddNodeSubInterfaces -创建子接口
    • nodesGetNodeSubInterface -获取特定子接口
    • nodesUpdateNodeSubInterface -更新子接口配置
    • nodesDeleteNodeSubInterface -删除子界面

� 端口通道管理(5个工具)

  • 链路聚合:港口航道运营
    • portchannelsGetAllPortChannels -列出所有端口通道
    • portchannelsAddPortChannels -创建端口通道
    • portchannelsGetPortChannel -获取特定端口通道
    • portchannelsUpdatePortChannel -更新端口通道配置
    • portchannelsDeletePortChannel -删除端口通道

🏷️ VNI管理(9个工具)

  • 虚拟网络标识符:VXLAN网络分段

    • vnisGetFabricVnis -列出结构中的所有VNI
    • vnisAddFabricVnis -创建新的VNI
    • vnisGetFabricVni -获取特定的VNI详细信息
    • vnisUpdateFabricVni -更新VNI配置
    • vnisDeleteFabricVni -删除VNI
  • VNI会员资格:成员界面管理

    • vnisGetFabricVniMembers -列出VNI成员
    • vnisAddFabricVniMembers -向VNI添加成员
    • vnisGetFabricVniMember -获取特定会员详细信息
    • vnisDeleteFabricVniMember -从VNI中删除成员

�️ VRF管理(9个工具)

  • 虚拟路由转发:第3层网络隔离

    • vrfsGetFabricVrfs -列出结构中的所有VRF
    • vrfsAddFabricVrfs -创建新的VRF
    • vrfsGetFabricVrf -获取特定的VRF详细信息
    • vrfsUpdateFabricVrf -更新VRF配置
    • vrfsDeleteFabricVrf -删除VRF
  • 静态路由:VRF内的静态路由管理

    • vrfsGetFabricStaticRoutes -在VRF中列出静态路线
    • vrfsAddFabricStaticRoutes -添加静态路由
    • vrfsGetFabricStaticRoute -获取具体路线详细信息
    • vrfsUpdateFabricStaticRoute -更新静态路由
    • vrfsDeleteFabricStaticRoute -删除静态路由

环境变量

变量 描述 默认值 必填
HYPERFABRIC_API_TOKEN 您的Hyperfabric API令牌 - ✅
LOG_LEVEL 日志记录级别(调试、信息、警告、错误) info ❌
OPENAPI_SPEC_PATH OpenAPI规范文件路径 hf_spec_modified.json ❌

开发环境设置

项目结构

hyperfabric-mcp-server/
├── src/main.ts                                                    # Main server implementation
├── dist/                                                          # Compiled JavaScript
├── .vscode/                                                       # VS Code configuration
├── package.json                                                   # Dependencies & scripts
├── tsconfig.json                                                  # TypeScript config
├── hf_spec_modified.json                                          # Complete Nexus Hyperfabric REST API v1.1.0 spec
├── cisco_nexus_hyperfabric_rest_api_1_1_0_rev_2025_10_29_838_c_8.yaml # Original YAML spec file
└── README.md                                                      # This documentation

故障排除

常见问题

缺少API令牌

# Check environment file
cat .env | grep HYPERFABRIC_API_TOKEN

缺少OpenAPI规范

# Verify spec file exists
ls -la hf_spec_modified.json

编译错误

# Check compilation
npm run build