Token导航 LogoToken导航TokenDH.com
Cml MCP logo
运维云端stdio官方级别未说明来源级核验

Cml MCP

MCP Server

通过自然语言交互的Cisco Modeling Labs (CML) AI控制工具,支持拓扑创建、设备配置、状态查询等网络实验室管理功能。

工具数

51

提示词数

0

GitHub Stars

52

资源数

0
PythonClaude云端部署Claude DesktopClaudeCursor

安装说明

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

作者 / 组织

xorrkaz

提供方

xorrkaz

最后核验

2026/5/17 20:40

运行时

Python

快速接入

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

命令预览

uvx cml-mcp[pyats] # For uvx installations

详细介绍

思科建模实验室(CML)的模型上下文协议(MCP)服务器

![Ask DeepWiki](https://deepwiki.com/xorrkaz/cml-mcp)

mcp名称:io.github.xorrkaz/cml-mcp

概述

cml-mcp 将AI助手的强大功能带到您的网络实验室!此工具允许您与 思科建模实验室(CML) 通过Claude Desktop、Claude Code和Cursor等人工智能应用程序使用自然语言。

与其点击菜单或编写脚本,不如用简单的英语告诉人工智能你想做什么——比如“用两个路由器创建一个新的实验室并配置OSPF”或“显示Router1上的运行配置”——然后看着它自动发生。

这是通过 模型上下文协议(MCP),人工智能应用程序与外部工具和服务交互的标准方式。把它想象成让你的AI助手直接连接到你的CML服务器。

特性

  • 创建实验室拓扑: 用于创建新实验室和从头开始定义网络拓扑或使用完整拓扑定义的工具。
  • 查询状态: 用于检索实验室、节点、链接、注释和CML服务器本身的详细状态信息的工具。
  • 控制实验室和节点: 根据需要启动、停止和擦除实验室或单个节点的工具。
  • 管理CML用户和组: 列出、创建和删除本地用户和组的工具(需要管理员权限)。
  • 视觉注释: 将视觉元素(文本、矩形、椭圆、线条)添加到实验室拓扑中,以便进行文档和组织。
  • 链接管理: 连接节点,配置链路调节(带宽、延迟、抖动、损耗),并控制链路状态。
  • 数据包捕获: 使用Wireshark或其他工具从网络链路启动、停止和检索数据包捕获(PCAP)以进行流量分析。
  • 节点配置: 配置节点启动配置,并向正在运行的设备发送CLI命令。
  • 在设备上运行命令: 使用 PyATS,MCP客户端可以在CML实验室内的虚拟设备上执行命令。
  • 控制台日志访问: 从运行中的节点检索控制台日志以进行故障排除和监控,并支持选择特定的串行控制台端口。
  • 模块化架构: 为了可维护性和可扩展性,工具被组织成逻辑模块(实验室、节点、链接、pcap等)。
  • 访问控制列表(HTTP模式): 在HTTP传输模式下运行时,您可以使用基于YAML的ACL配置文件限制哪些用户可以访问哪些工具。

快速开始

安装

最简单的入门方法是使用 uvx 使用Claude Desktop(或其他MCP兼容客户端)。这 uvx 该工具自动下载并运行服务器,无需手动安装步骤。

配置: 查找并编辑您的Claude Desktop配置文件(claude_desktop_config.json).添加以下内容:

{
    "mcpServers": {                                                               
        "Cisco Modeling Labs (MCP)": {                                                                
          "type": "stdio",                                                          
          "command": "uvx",
          "args": [                                                                 
            "cml-mcp[pyats]"                                                        
          ],                                                                        
          "env": {
            "CML_URL": "{CML_URL}",                           
            "CML_USERNAME": "{CML_USERNAME}",                                                 
            "CML_PASSWORD": "{CML_PASSWORD}!"
          }                                                                         
        }
    }
}

重要提示: 用实际的CML服务器详细信息替换占位符值:

  • CML_URL:您的CML服务器地址(例如。, https://cml.example.comhttps://10.10.20.50)
  • CML_USERNAMECML_PASSWORD:您的CML登录凭据
  • CML_VERIFY_SSL"false" 如果使用自签名证书(在实验室环境中很常见)
\[!提示\] “找不到命令” uvx? 像Claude Desktop这样的MCP客户端在受限环境中运行,该环境并不总是继承您的shell PATH.如果 uvx 找不到,请在中使用其完整路径 "command" 现场。要找到它,请运行 which uvx 在macOS/Linux上的终端中,或 where uvx 在Windows上的命令提示符中(例如。, "/Users/alice/.local/bin/uvx" 在macOS上, "C:\Users\alice\.local\bin\uvx.exe" 在Windows上)。同样适用于 uv, npx,或MCP配置中使用的任何其他命令。

需要更多功能?

  • 对于 设备CLI命令执行,使用 cml-mcp[pyats] 而不是 cml-mcp 在args中
  • 对于 Docker、Windows(WSL)或HTTP服务器模式,请参阅 安装.md

在哪里可以找到您的配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

需求

  • Python 3.12或3.13
  • 思科建模实验室(CML)2.9或更高版本
  • 紫外线 -Python包管理器

可用的MCP工具

服务器提供51个MCP工具,分为以下几类:

实验室管理

  • get_cml_labs -检索特定用户或当前用户的实验室
  • create_空_实验室 -使用可选元数据创建新的空实验室
  • create_full_lab_topology -从拓扑定义创建完整的实验室
  • modify_cml_lab -更新实验室属性(标题、描述、注释)
  • set_cml_lab_权限 -配置组/用户访问权限(LAB_ADMIN、LAB_EDIT、LAB_EXEC、LAB_VIEW)
  • start_cml_lab -启动实验室中的所有节点
  • stop_cml_lab -停止实验室中的所有节点
  • wipe_cml-lab -擦除所有节点数据/配置(如果客户端支持,则提示确认)
  • delete_cml_lab -删除实验室(如果客户支持,则提示确认)
  • get_cml_lab_by_title -按名称查找实验室
  • download_lab_topology -将实验室拓扑下载为YAML文件
  • clone_cml_lab -使用可选的新标题克隆实验室

节点管理

  • get_cml_node_definition -列出可用节点类型
  • get_node_definition_detail -获取特定节点类型的详细信息
  • add_node_to_cml-lab -将节点添加到实验室
  • get_nodes_for_cml_lab -获取实验室中所有节点的操作数据
  • configure_cml_node -设置节点启动配置
  • start_cml_node -启动特定节点
  • stop_cml_node -停止特定节点
  • wipe_cml_节点 -擦除节点数据(如果客户端支持,则提示确认)
  • delete_cml_node -删除节点(如果客户端支持,则提示确认)
  • get_sole_log -获取节点的控制台输出历史记录;可选的 console 索引选择串行端口(默认 0基于Docker的节点通常同时使用这两种方法 01)
  • send_cli_命令 -在正在运行的节点上执行CLI命令(需要PyATS);可选的 console 索引选择要使用的串行端口

接口和链路管理

  • add_interface_to_node -向节点添加接口
  • get_interfaces_for_node -获取节点的所有接口
  • connect_two_nodes -在两个接口之间创建链接
  • get_all_links_for_lab -在实验室中获取所有链接
  • 应用程序_链接_条件 -配置网络条件(带宽、延迟、抖动、损耗)
  • start_cml_link -在链接上启用连接
  • stop_cml_link -禁用链接上的连接

注释(视觉元素)

  • get_annotations_for_cml_lab -在实验室中获取所有视觉注释
  • add_text_annotation -添加文本注释
  • add_rectangle_annotation -添加矩形注释
  • add_椭圆_注释 -添加椭圆注释
  • add_line_annotation -添加线条注释
  • delete_annotation_from_lab -删除注释(如果客户端支持,则提示确认)

数据包捕获(PCAP)

  • start_packet_capture -开始捕获链接上的数据包
  • stop_packet_capture -停止活动数据包捕获
  • check_packet_capture_status -检查捕获状态和数据包计数
  • get_captured_packet_overview -获取捕获的数据包摘要
  • get_packet_capture_data -下载完整的PCAP文件(Wireshark/tcpdump的base64编码)

用户和组管理

  • get_cml_users -列出所有CML用户
  • create_cml_user -创建新用户(需要管理员)
  • delete_cml_user -删除用户(需要管理员,如果客户端支持,则提示确认)
  • get_cml_groups -列出所有CML组
  • create_cml_组 -创建新组(需要管理员)
  • delete_cml_组 -删除组(需要管理员,如果客户端支持,则提示确认)

系统信息

  • get_cml信息 -获取CML服务器版本和配置
  • get_cml_status -获取系统健康指标
  • get_cml_统计 -获取资源使用情况和实验室/节点/链接计数
  • get_cml_licensing_details -获取许可信息和限制

用法

配置后,重新启动MCP客户端(例如,Claude Desktop)并开始聊天!AI助手现在可以直接访问您的CML服务器,并通过自然对话帮助您构建和管理网络实验室。

你能做什么?

以下是一些示例提示:

入门指南:

  • “显示我的所有CML实验室”
  • “CML中有哪些可用的节点类型?”
  • “告诉我我的CML服务器状态和许可”

建筑实验室:

  • 创建一个名为“OSPF测试实验室”的新实验室
  • “向我的实验室添加两个CSR1000v路由器和一个外部连接器”
  • “将路由器1的千兆以太网1连接到路由器2的千兆以太网”

配置和测试:

  • “在两个路由器上配置OSPF区域0”
  • “启动实验室中的所有节点”
  • “显示路由器1上的OSPF邻居”
  • “在路由器之间的链路上启动数据包捕获”

完整工作流示例:

以下是一系列提示,演示如何构建和测试一个完整的实验室:

  1. “创建一个名为“我的网络实验室”的新CML实验室”
  2. 向此实验室添加两个IOL路由器、一个非托管交换机和一个外部连接器
  3. “将两个IOL路由器连接到非托管交换机,并将交换机连接到外部连接器”
  4. “配置路由器,使其连接的接口具有192.0.2.0/24子网中的IP,并在其上配置OSPF”
  5. “启动实验室并验证OSPF是否正常工作”
  6. “在两个IOL路由器周围添加一个绿色框注释,标签为‘OSPF区域0’”

这是一个演示,显示它在Claude Desktop中工作:

系统提示

如果你的LLM工具支持系统提示,或者你想提供一些更丰富的初始上下文,Hank Preston提供了一个很好的例子:

您是一名网络实验室助理,专门负责支持思科建模实验室(CML)。您为许多常见的实验室活动提供了一个自然语言界面,例如: - 创建新实验室 - 向实验室添加节点 - 在节点之间创建接口 - 配置节点 - 创建注释 您可以使用工具访问CML服务器。

贡献

欢迎投稿!请看 贡献.md 作为指导方针。

有关开发设置、测试和代码样式的信息,请参阅 Developpent.md.

故障排除

常见问题

“找不到模块”或导入错误

如果您需要PyATS支持,请确保您已安装了包含所有附加功能的软件包:

uvx cml-mcp[pyats]  # For uvx installations

SSL证书错误

如果您在CML服务器上使用自签名证书,请设置 CML_VERIFY_SSL=false 在您的环境配置中。

PyATS命令执行失败

  1. 确保PyATS已安装 cml-mcp[pyats]
  2. 验证 PYATS_USERNAME, PYATS_PASSWORD,以及 PYATS_AUTH_PASS 设置正确
  3. 在Windows上,使用WSL或Docker支持PyATS

有关更多故障排除帮助,请参阅 安装.md.

获取帮助

文档

许可证

此项目的MCP服务器部分根据 BSD 2条款“简化”许可证然而,它利用了媒染剂 CML本身的模式类型代码,在 专有思科许可证.

目录标签

目录标签

PythonClaude云端部署网络仿真本地部署AI自动化CML集成自然语言控制网络配置

支持客户端

Claude DesktopClaudeCursor

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

51

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP