Get the FREE Ultimate OpenClaw Setup Guide →

cml

A Model Context Protocol (MCP) Server for Cisco Modeling Labs (CML)

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio xorrkaz-cml-mcp uvx cml-mcp \
  --env CML_URL="https://your-cml-server.example.com" \
  --env CML_PASSWORD="your_password" \
  --env CML_USERNAME="your_username" \
  --env CML_VERIFY_SSL="false"

How to use

This MCP server provides AI-assisted control over Cisco Modeling Labs (CML) by exposing a wide range of tools through the MCP interface. It allows you to create and manage labs, add and configure nodes, connect interfaces, apply link conditioning, run device commands (via PyATS), capture and retrieve PCAP files, and manage visual annotations within labs. When connected through an MCP client (such as Claude Desktop), you can issue natural language prompts like 'Create a lab with two routers and configure OSPF' or 'Show me the running config for Router1,' and the server translates those requests into CML actions. The available tools are organized into categories including Lab Management, Node Management, Interface & Link Management, Annotations, Packet Capture, User & Group Management, and System Information, enabling end-to-end lab lifecycle management from a single interface. This setup emphasizes modularity, security via access control lists in HTTP mode, and the ability to run complex sequences of actions across labs and devices.

To use it, configure your MCP client to point at the uvx-based server (as shown in the Quick Start configuration), provide your CML credentials and server URL, and restart your MCP client. Once connected, you can start issuing prompts that leverage the 47+ MCP tools to script lab creation, topology definitions, lab/start/stop operations, node configuration, CLI command execution, packet capture retrieval, and more. The system supports running commands on devices via PyATS and retrieving console logs for troubleshooting, making it a powerful automation layer over your CML environment.

How to install

Prerequisites

  • Python 3.12 or later
  • Cisco Modeling Labs (CML) 2.9 or later
  • uv (Python package manager)
  • Access to a CML server with reachable URL and admin credentials

Installation steps

  1. Install uv and the MCP server package (example assumes a prepackaged cml-mcp server compatible with uvx):

    pip install uv uv install cml-mcp

  2. Verify Python environment and dependencies are available. Ensure network access to the CML server and that the CML URL, username, and password will be provided at runtime via environment variables.

  3. Configure Claude Desktop or your MCP client with the provided configuration (see Quick Start in the README) and save it to claude_desktop_config.json or the equivalent for your client.

  4. Run the MCP server via uvx (as shown in the Quick Start snippet) and connect your MCP client to the server. If you choose other deployment modalities (Docker, Windows WSL, HTTP server mode), follow the INSTALLATION.md linked in the README for platform-specific steps.

  5. Restart your MCP client to establish the connection and begin issuing natural language prompts to manage CML labs.

Additional notes

Tips and common considerations:

  • Ensure CML_URL is reachable from the machine running the MCP server and that proper SSL settings are configured (set CML_VERIFY_SSL to false if using self-signed certs).
  • For device CLI command execution, you can switch to the cml-mcp[pyats] variant in your args if you need PyATS-based command execution.
  • If you want HTTP mode access control, configure the YAML ACL file to limit which users can access specific tools.
  • The configuration example uses the logical display name 'Cisco Modeling Labs (CML)'; you can rename it in your MCP client configuration to match your environment.
  • When upgrading CML or the MCP server, review compatibility notes in INSTALLATION.md to ensure tool modules remain aligned with CML versions.
  • Keep your MCP tokens and credentials secure; avoid embedding sensitive data in shared configuration files.

Related MCP Servers

Sponsor this space

Reach thousands of developers