超结构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 build2.配置LLM客户端
使用GitHub Copilot进行VSCode
- 打开VSCode设置:
Cmd+Shift+P→ “首选项:打开用户设置(JSON)”
- 将此配置添加到您的
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"
}
}
}
}- 重新加载VS代码:
Cmd+Shift+P→ “开发人员:重新加载窗口”
适用于克劳德桌面
- 找到您的Claude Desktop配置文件:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 窗户: %APPDATA%\Claude\claude_desktop_config.json - Linux: ~/.config/Claude/claude_desktop_config.json
- 将此配置添加到
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"
}
}
}
}- 重新启动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