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

Claude-Modeling-Labs MCP Server

MCP Server

一个用于通过模型上下文协议(MCP)接口与Cisco Modeling Labs(CML)交互的综合模块化工具包,支持自动化实验室创建、拓扑管理、设备配置和网络测试,适用于教育和开发场景。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
教育工具PythonClaudeClaude

安装说明

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

作者 / 组织

MediocreTriumph

提供方

MediocreTriumph

最后核验

2026/5/17 20:19

快速接入

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

命令预览

pip install -r requirements.txt

详细介绍

克劳德建模实验室MCP服务器

一个全面的模块化工具包,用于通过模型上下文协议(MCP)接口与思科建模实验室(CML)进行交互。该服务器支持自动化实验室创建、拓扑管理、设备配置和网络测试,用于教育和开发目的。

特性

核心能力

  • 实验室管理:创建、启动、停止和删除CML实验室
  • 拓扑结构构建:添加路由器、交换机并创建网络链接
  • 设备配置:应用和检索设备配置
  • 控制台访问:在网络设备上执行命令
  • 网络发现:检查实验室拓扑、节点和接口

关键利益

  • 模块化架构:处理者之间的关注点完全分离
  • 教育重点:非常适合与学生和教师建立联系
  • 自动化就绪:专为代理AI辅导系统设计
  • Windows兼容的:模块化设计解决了以前的Windows兼容性问题

安装

先决条件

  • Python 3.8或更高版本
  • 访问Cisco建模实验室服务器
  • 有效的CML凭据

快速开始

  1. 克隆或下载此存储库
  2. 安装依赖项:
   pip install -r requirements.txt
  1. 运行MCP服务器:
   python claude_modeling_labs_modular.py

开发安装

pip install -e .[dev]

用法

初始化连接

# First, initialize the client with your CML server details
initialize_client(
    base_url="https://your-cml-server.com",
    username="your-username", 
    password="your-password",
    verify_ssl=True  # Set to False for self-signed certificates
)

基础实验室操作

# Create a new lab
lab = create_lab("My Network Lab", "Learning OSPF routing")

# Create network devices  
router1 = create_router(lab["lab_id"], "R1", x=100, y=100)
router2 = create_router(lab["lab_id"], "R2", x=300, y=100) 
switch1 = create_switch(lab["lab_id"], "SW1", x=200, y=200)

# Connect devices
link_nodes(lab["lab_id"], router1["node_id"], router2["node_id"])
link_nodes(lab["lab_id"], router1["node_id"], switch1["node_id"])

# Start the lab
start_lab(lab["lab_id"])
wait_for_lab_nodes(lab["lab_id"], timeout=120)

设备配置

# Apply configuration to a router
ospf_config = """
hostname Router1
interface GigabitEthernet0/0
 ip address 10.1.1.1 255.255.255.0
 no shutdown
router ospf 1
 network 10.1.1.0 0.0.0.255 area 0
"""
configure_node(lab["lab_id"], router1["node_id"], ospf_config)

# Retrieve current configuration
current_config = get_node_config(lab["lab_id"], router1["node_id"])

控制台命令

# Execute commands on devices
send_console_command(lab["lab_id"], router1["node_id"], "show ip route")
check_interfaces(lab["lab_id"], router1["node_id"])

# Send multiple commands
commands = [
    "show version",
    "show ip interface brief", 
    "show running-config"
]
send_multiple_commands(lab["lab_id"], router1["node_id"], commands)

建筑

模块化设计将功能划分为重点处理程序:

src/
├── client/           # CML API authentication and HTTP client
├── handlers/         # Modular tool handlers
│   ├── lab_management.py    # Lab CRUD operations
│   ├── topology.py          # Node and link management  
│   ├── configuration.py     # Device configuration
│   └── console.py           # Console session management
├── utils/            # Common utilities and helpers
└── server.py         # Main MCP server entry point

关键设计原则

  • 关注点分离:每个处理程序都专注于CML管理的一个方面
  • 清洁依赖关系:模块之间的耦合最小
  • 错误处理:所有操作中一致的错误处理
  • Windows兼容性:模块化结构避免了文件大小限制

可用工具

实验室管理

  • initialize_client() -使用CML服务器进行身份验证
  • list_labs() -列出所有可用的实验室
  • create_lab() -创建新实验室
  • get_lab_details() -获取详细的实验室信息
  • delete_lab() -删除实验室
  • start_lab() -开始实验室执行
  • stop_lab() -停止实验室执行
  • wait_for_lab_nodes() -等待节点初始化
  • list_node_definitions() -列出可用设备类型

拓扑管理

  • get_lab_nodes() -列出实验室中的节点
  • add_node() -将设备添加到实验室
  • create_router() -创建路由器(iosv)
  • create_switch() -创建开关(iosvl2)
  • get_node_interfaces() -列出节点接口
  • get_physical_interfaces() -仅获取物理接口
  • create_interface() -在节点上创建新接口
  • get_lab_links() -列出实验室中的所有链接
  • create_link_v3() -在特定接口之间创建链接
  • link_nodes() -自动链接两个节点
  • delete_link() -删除链接
  • get_lab_topology() -获取完整的拓扑摘要

配置管理

  • configure_node() -将配置应用于设备
  • get_node_config() -检索设备配置

控制台操作

  • open_console_session() -打开对设备的控制台访问
  • close_console_session() -关闭控制台会话
  • send_console_command() -执行单个命令
  • send_multiple_commands() -执行多个命令
  • check_interfaces() -检查接口状态
  • get_diagnostic_recommendations() -获取故障排除建议

教育用例

该工具包旨在通过以下方式支持网络教育:

自动化实验室创建

  • 基于学习目标的动态拓扑生成
  • 特定网络概念的预配置场景
  • 快速迭代和实验

AI驱动的辅导

  • 代理系统可以为个别学生创建定制实验室
  • 实时指导和故障排除协助
  • 基于学生进步的自适应学习路径

课程整合

  • 支持各种网络主题(OSPF、BGP、VLAN、STP等)
  • 可从基本连接扩展到复杂的企业场景
  • 与现有学习管理系统集成

贡献

该项目采用模块化架构,支持轻松扩展和维护:

  1. 添加新工具:在相应的处理程序模块中创建新函数
  2. 新处理程序类别:添加新的处理程序文件并将其注册到 server.py
  3. 测试:每个模块都可以独立测试
  4. 文档:更新代码注释和此README

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

支持

有关问题、疑问或贡献,请参阅项目存储库或文档。

______________________________________________________________________

版本: 2.0.0\ 作者:Claude AI助理\ 目的:教育网络自动化和人工智能辅导

目录标签

目录标签

教育工具PythonClaude网络自动化本地部署CiscoCML拓扑管理设备配置

支持客户端

Claude

接入字段

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

stdio

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

session

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosessionremote-capable

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

安装前确认

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

来源信息

继续浏览同类 MCP