使用说明
项目简介
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 进行交互。
- 资源模板: 提供基础路由器和交换机的配置模板,加速配置过程。
安装步骤
-
环境准备:
- 确保已安装 Python 3.8 或更高版本。
- 确认已安装 Cisco Modeling Labs (CML) 2.0 或更高版本并可访问其 API。
- 确保可以访问 Claude AI 或 Claude function calling 功能。
-
克隆仓库:
git clone https://github.com/MediocreTriumph/Claude-Modeling-Labs-v2.git cd Claude-Modeling-Labs-v2 -
创建并激活虚拟环境:
python -m venv venv source venv/bin/activate # macOS/Linux venv\Scripts\activate # Windows -
安装依赖:
pip install -r requirements.txt -
安装 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'。
基本使用方法
- 初始化 CML 客户端: 使用 'initialize_client' 工具,提供 CML 服务器的 URL、用户名和密码进行身份验证。这是使用其他工具的前提。
- 管理 CML 实验室: 使用 'create_lab', 'list_labs', 'start_lab', 'stop_lab', 'delete_lab' 等工具管理 CML 实验室的生命周期。
- 构建网络拓扑: 使用 'create_router', 'create_switch', 'add_node', 'link_nodes' 等工具创建和连接网络设备。
- 配置设备: 使用 'configure_node' 工具配置网络设备,或使用 'generate_switch_stp_config' 等工具生成配置模板。
- 进行网络诊断: 使用 'test_connectivity', 'trace_route', 'check_interfaces' 等工具进行网络连通性测试和故障排查。
- 使用 Prompt 模板: 利用 'cml-describe-topology' 和 'cml-create-lab' 等 Prompt 模板,结合 LLM 客户端实现更高级的网络自动化任务。
注意: 该项目目前仍处于 Proof of Concept 阶段,可能存在 bug 或功能不完善之处,请在非生产环境中使用。
信息
分类
生产力应用