Token导航 LogoToken导航TokenDH.com
Cisco NX-OS CLI MCP Server logo
开发工具stdio官方级别未说明来源级核验

Cisco NX-OS CLI MCP Server

MCP Server

@modelcontextprotocol/inspector

一个用于与Cisco NX-OS设备交互的模型上下文协议(MCP)服务器,支持通过NX-API接口向一个或多个交换机发送任意CLI命令,并提供全面的错误处理和多种输出格式选择。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
网络管理命令行工具PythonClaude批量操作Claude DesktopClaudeClineVS Code

安装说明

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

作者 / 组织

sdntechforum

提供方

sdntechforum

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

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

命令预览

npx @modelcontextprotocol/inspector uv run nxos_cli_mcp.py

详细介绍

思科NX-OS CLI MCP服务器

一个模型上下文协议(MCP)服务器,允许您与Cisco NX-OS设备进行交互。您可以通过NX-API接口向一个或多个交换机发送任意CLI命令。 此服务器公开了MCP工具,用于在一个或多个设备上执行命令,并具有全面的错误处理功能。也可以选择输出格式(文本或JSON)。

特性

  • 单设备命令:在单个NX-OS交换机上执行CLI命令
  • 多设备命令:在多个交换机上同时执行相同的命令
  • 基于文本的I/O:命令以文本形式发送(cli_show_ascii),响应默认为文本格式
  • JSON选项:用于结构化解析的可选JSON响应格式
  • 简单身份验证:从.env文件或按请求覆盖收集的凭据
  • 错误处理:清晰、可操作的错误消息
  • 批量操作:每个请求最多执行100个命令
  • 并发执行:在多个设备上并行执行命令(最多50个)

需求

  • Python 3.10或更高版本
  • 启用NX-API的Cisco NX-OS设备(feature nxapi)
  • MCP主机(Claude Desktop等)通过HTTPS与目标设备之间的网络连接

安装

先决条件

  • Python 3.10或更高版本
  • 紫外线 -快速Python包安装程序(推荐)
  • 启用NX-API的Cisco NX-OS设备(feature nxapi)
  • 通过HTTPS连接到目标设备的网络

设置

  1. 安装uv(如果尚未安装):
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
  1. 使用uv安装依赖项:
# With uv and pyproject.toml (recommended)
uv sync
  1. 设置身份验证凭据:

创建一个 .env 模板中的文件:

cp .env.example .env

编辑 .env 并添加您的凭据:

NXOS_USERNAME=admin
NXOS_PASSWORD=your_secure_password

重要:永远不要承诺你的生产 .env 文件到版本控制。 .gitignore 配置为防止这种情况,但要小心!

向MCP主机注册

克劳德桌面版

macOS:

编辑Claude Desktop配置文件:

code ~/Library/Application\ Support/Claude/claude_desktop_config.json

将NX-OS CLI MCP服务器添加到 mcpServers 章节:

{
  "mcpServers": {
    "nxos-cli": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/nxos-cli-mcp",
        "run",
        "nxos_cli_mcp.py"
      ]
    }
  }
}

窗户:

编辑Claude Desktop配置文件:

notepad %APPDATA%\Claude\claude_desktop_config.json

将NX-OS CLI MCP服务器添加到 mcpServers 章节:

{
  "mcpServers": {
    "nxos-cli": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\absolute\\path\\to\\nxos-cli-mcp",
        "run",
        "nxos_cli_mcp.py"
      ]
    }
  }
}

保存后,重新启动Claude Desktop以使更改生效。

Visual Studio Code

macOS:

编辑VS Code MCP设置文件:

code ~/Library/Application\ Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json

添加服务器配置:

{
  "mcpServers": {
    "nxos-cli": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/nxos-cli-mcp",
        "run",
        "nxos_cli_mcp.py"
      ]
    }
  }
}

窗户:

编辑VS Code MCP设置文件:

notepad %APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\cline_mcp_settings.json

添加服务器配置:

{
  "mcpServers": {
    "nxos-cli": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\absolute\\path\\to\\nxos-cli-mcp",
        "run",
        "nxos_cli_mcp.py"
      ]
    }
  }
}

保存后,重新加载VS代码窗口(命令/Ctrl+Shift+P→ “开发人员:重新加载窗口”)。

重要提示:

  • 替换 /absolute/path/to/nxos-cli-mcp (或 C:\absolute\path\to\nxos-cli-mcp)包含项目目录的实际完整路径
  • 确保 .env 包含您的凭据的文件位于项目目录中
  • 服务器将自动从以下位置加载凭据 .env MCP客户端启动文件时

可用工具

1.nxos_execute_命令

在单个NX-OS设备上执行CLI命令。

参数:

  • ip_address (必填):设备的IP地址或主机名
  • commands (必需):要执行的CLI命令列表
  • response_format (可选):“text”(默认,人类可读)或“json”(结构化数据)
  • username (可选):用于身份验证的用户名
  • password (可选):身份验证密码
  • timeout (可选):请求超时时间(秒)(默认值:30)

2.nxosexecute_commands_multi

在多个NX-OS设备上同时执行相同的CLI命令。

参数:

  • ip_addresses (必填):设备IP地址或主机名列表(最多50个)
  • commands (必需):要在所有设备上执行的CLI命令列表
  • response_format (可选):“text”(默认,人类可读)或“json”(结构化数据)
  • username (可选):用于身份验证的用户名
  • password (可选):身份验证密码
  • timeout (可选):每个设备请求超时秒数(默认值:30)
  • continue_on_error (可选):如果一个设备失败,则继续在其他设备上执行(默认值:true)

NX-API配置

在使用此MCP服务器之前,请确保NX-OS设备上已启用NX-API:

configure terminal
feature nxapi
nxapi http port 80
nxapi https port 443

验证NX-API是否正在运行:

show nxapi

安全注意事项

  1. 凭证:将凭据存储在 .env file,永远不要将文件提交到版本控制
  2. 文件权限:确保 .env 具有受限权限(chmod 600 .env 在Unix系统上)
  3. 超文本传输安全协议:此MCP服务器与NX-API进行HTTPS通信(对自签名证书禁用验证;针对生产更改此项!)

输出格式

命令是如何发送的

所有命令均以如下方式发送到NX-OS设备 文本 使用 cli_show_ascii API类型。这可确保与您熟悉的CLI体验保持一致的行为。

响应格式

  • 文本 (默认):纯文本输出,与您在CLI会话中看到的相同

- 易于在Claude Desktop或VS Code中阅读 - 保留设备的格式 - 最适合交互式使用

  • JSON:具有详细元数据的结构化JSON响应,可能更适合MCP主机(实验)

- 包括每个设备的成功/失败状态 - 命令执行结果 - 适用时的错误详细信息 - 适用于程序化解析或复杂的工作流程

错误处理

服务器为常见场景提供详细的错误消息:

  • 身份验证失败:“身份验证失败。请检查用户名和密码。”
  • 权限不足:“权限被拒绝。用户可能没有足够的权限。”
  • 未找到NX-API:“未找到NX-API终结点。请验证设备是否支持NX-API。”
  • 超时:“请求在X秒后超时”
  • 命令错误:包括来自NX-OS的命令特定错误代码和消息

局限性

  • 每次多设备命令执行最多50个设备
  • 每个请求最多100个命令
  • 超时范围:1-300秒
  • SSL证书验证已禁用(假定为自签名证书),请在生产中更改此设置!

故障排除

连接被拒绝

  • 验证NX-API是否已在设备上启用: show nxapi
  • 检查网络连接: ping
  • 验证HTTPS端口是否可访问(默认值:443)

认证失败

  • 验证中的凭据 .env 文件正确
  • 检查 .env 文件存在于项目根目录中
  • 确保 .env 文件格式正确(周围没有空格 =)
  • 验证设备上是否存在用户帐户
  • 通过SSH向设备测试证书

命令执行错误

  • 验证NX-OS的命令语法是否正确
  • 检查用户是否有足够的权限执行该命令
  • 查看NX-OS命令输出以了解具体的错误详细信息

超时问题

  • 增加慢速命令的超时参数
  • 检查设备的网络延迟
  • 考虑拆分大型命令批

测试

使用MCP检查器运行

npx @modelcontextprotocol/inspector uv run nxos_cli_mcp.py

许可证

此MCP服务器是根据MIT许可证按原样提供的。

贡献

欢迎投稿!请确保:

  • 代码遵循现有的模式和约定
  • 所有函数都有全面的文档字符串
  • 输入验证由Pydantic模型处理
  • 错误信息清晰且可操作

支持

关于以下问题:

  • NX-API公司:查阅思科NX-OS文档
  • MCP协议:参观https://modelcontextprotocol.io
  • 此服务器:查看错误消息和故障排除部分

](https://lobehub.com/mcp/sdntechforum-nxos-mcp)

目录标签

目录标签

网络管理命令行工具PythonClaude批量操作本地部署CLI工具设备控制自动化

支持客户端

Claude DesktopClaudeClineVS Code

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@modelcontextprotocol/inspector

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP