使用说明

项目简介

Claude Modeling Labs MCP Server 是一个基于 Model Context Protocol (MCP) 的后端实现,它使用 FastMCP 框架构建,旨在桥接 Claude AI 与 Cisco Modeling Labs (CML)。该服务器提供了一系列工具,使 Claude AI 能够通过自然语言指令自动化 CML 上的网络拓扑创建、配置、管理和故障排除等任务。

主要功能点

  • CML 实验室管理: 支持创建、列出、启动、停止和删除 CML 实验室。
  • 节点管理: 允许在 CML 实验室中添加、配置和管理网络设备(如路由器、交换机)。
  • 链路管理: 支持在实验室设备之间创建和删除网络连接。
  • 配置管理: 可以配置和检索 CML 实验室内网络设备的配置信息。
  • 设备控制台: 提供访问和操作 CML 设备控制台的功能,用于执行命令和监控设备状态。
  • 网络诊断: 集成网络诊断工具,如 ping, traceroute, 接口状态检查, 路由表分析等,辅助网络故障排除。
  • 预定义 Prompt 模板: 内置用于描述网络拓扑和创建实验的 Prompt 模板,方便用户与 LLM 进行交互。
  • 资源模板: 提供基础路由器和交换机的配置模板,加速配置过程。

安装步骤

  1. 环境准备:

    • 确保已安装 Python 3.8 或更高版本。
    • 确认已安装 Cisco Modeling Labs (CML) 2.0 或更高版本并可访问其 API。
    • 确保可以访问 Claude AI 或 Claude function calling 功能。
  2. 克隆仓库:

    git clone https://github.com/MediocreTriumph/Claude-Modeling-Labs-v2.git
    cd Claude-Modeling-Labs-v2
  3. 创建并激活虚拟环境:

    python -m venv venv
    source venv/bin/activate  # macOS/Linux
    venv\Scripts\activate  # Windows
  4. 安装依赖:

    pip install -r requirements.txt
  5. 安装 MCP 服务器:

    fastmcp install cml_mcp.py --name "Claude Modeling Labs"

服务器配置

MCP 客户端需要配置以下 JSON 信息以连接到 Claude Modeling Labs MCP Server:

{
  "server name": "Claude Modeling Labs",
  "command": "fastmcp",
  "args": [
    "run",
    "cml_mcp.py"
  ],
  "host": "localhost",  // MCP 服务器主机地址,如果服务器在本地运行则为 localhost
  "port": 8000,     // MCP 服务器端口,默认为 8000
  "transport": "websocket" // 传输协议,默认为 websocket
}

配置参数说明:

  • '"server name"': 服务器名称,必须与安装时指定的名称 '"Claude Modeling Labs"' 一致。
  • '"command"': 运行 MCP 服务器的命令,这里使用 'fastmcp' 启动 FastMCP 服务器。
  • '"args"': 传递给 'fastmcp run' 命令的参数,指定要运行的服务器脚本 'cml_mcp.py'。
  • '"host"': MCP 服务器监听的主机地址,默认为 'localhost',表示本地运行。
  • '"port"': MCP 服务器监听的端口,默认为 '8000'。
  • '"transport"': MCP 客户端与服务器通信的传输协议,默认为 'websocket'。

基本使用方法

  1. 初始化 CML 客户端: 使用 'initialize_client' 工具,提供 CML 服务器的 URL、用户名和密码进行身份验证。这是使用其他工具的前提。
  2. 管理 CML 实验室: 使用 'create_lab', 'list_labs', 'start_lab', 'stop_lab', 'delete_lab' 等工具管理 CML 实验室的生命周期。
  3. 构建网络拓扑: 使用 'create_router', 'create_switch', 'add_node', 'link_nodes' 等工具创建和连接网络设备。
  4. 配置设备: 使用 'configure_node' 工具配置网络设备,或使用 'generate_switch_stp_config' 等工具生成配置模板。
  5. 进行网络诊断: 使用 'test_connectivity', 'trace_route', 'check_interfaces' 等工具进行网络连通性测试和故障排查。
  6. 使用 Prompt 模板: 利用 'cml-describe-topology' 和 'cml-create-lab' 等 Prompt 模板,结合 LLM 客户端实现更高级的网络自动化任务。

注意: 该项目目前仍处于 Proof of Concept 阶段,可能存在 bug 或功能不完善之处,请在非生产环境中使用。

信息

分类

生产力应用