| name | cml-admin |
| description | CML administration — user/group management, system info, licensing, resource monitoring. Use when creating CML users, checking license status, monitoring CML server resources, or auditing lab usage across teams. |
| version | 1.0.0 |
| license | Apache-2.0 |
| tags | ["cml","admin","users","groups","system","licensing"] |
CML Administration
MCP Server
- Command:
cml-mcp (pip-installed, stdio transport)
- Requires:
CML_URL, CML_USERNAME, CML_PASSWORD environment variables
Available Tools
User Management
| Tool | Parameters | What It Does |
|---|
get_users | none | List all CML users |
create_user | username, password, fullname?, email?, admin? | Create a new CML user |
get_user | user_id/username | Get user details (labs, resource usage) |
update_user | user_id/username, fields to update | Update user properties |
delete_user | user_id/username | Delete a CML user |
Group Management
| Tool | Parameters | What It Does |
|---|
get_groups | none | List all CML groups |
create_group | name, description?, members? | Create a new group |
update_group | group_id/name, fields to update | Update group properties |
delete_group | group_id/name | Delete a group |
System Information
| Tool | Parameters | What It Does |
|---|
get_system_info | none | CML version, uptime, resource usage (CPU, RAM, disk) |
get_node_defs | none | List all available node definitions and their resource requirements |
get_licensing | none | License status, node count, expiration |
get_resource_usage | none | Current resource utilization across all labs |
Workflow: Onboard a New Lab User
When an admin wants to add a new team member:
- Check existing users:
get_users to see current user list
- Create the user:
create_user with their credentials
- Add to group (optional):
update_group to add user to a team group
- Verify:
get_user to confirm creation
- Share credentials: Report the username and CML URL to the admin (never share the password in Slack)
Workflow: Resource Capacity Check
Before building a large lab:
- Check system resources:
get_system_info for CPU, RAM, disk
- Check licensing:
get_licensing for available node count
- Check node definitions:
get_node_defs for per-node resource requirements
- Calculate: Does the planned lab fit within available resources?
- Report: "You have X GB RAM free, Y CPU cores available, Z node licenses remaining. Your planned lab needs A GB RAM and B nodes."
Workflow: System Health Report
For CML server health monitoring:
- System info:
get_system_info — version, uptime, resource usage
- Licensing:
get_licensing — license status and node count
- Resource usage:
get_resource_usage — breakdown by lab/user
- Active labs:
get_labs (from cml-lab-lifecycle) — list running labs
- Generate report: Summary of CML platform health
Resource Planning Guide
Typical per-node resource requirements:
| Node Type | vCPUs | RAM | Disk |
|---|
| IOSv | 1 | 512 MB | 2 GB |
| IOSv L2 | 1 | 768 MB | 2 GB |
| CSR1000v / Cat8000v | 1 | 3 GB | 8 GB |
| NX-OS 9000v | 2 | 6 GB | 8 GB |
| IOS-XR 9000v | 2 | 8 GB | 16 GB |
| ASAv | 1 | 2 GB | 8 GB |
| Ubuntu Server | 1 | 512 MB | 8 GB |
| Unmanaged Switch | 0 | 0 | 0 |
| External Connector | 0 | 0 | 0 |
Rule of thumb: Plan for the CML host to have at least 2x the total RAM needed by all concurrent labs, plus 8 GB for the CML OS itself.
User Roles
| Role | Capabilities |
|---|
| Admin | Full access: create/delete users, manage all labs, system settings |
| User | Create/manage own labs, view shared labs |
Workflow: Audit CML Usage
For tracking who's using what:
- List all users:
get_users
- For each user:
get_user to see their labs and resource usage
- List all labs:
get_labs with ownership info
- Check resource usage:
get_resource_usage for allocation breakdown
- Report: Table of users, their labs, running state, and resource consumption
- Identify stale labs: Labs that have been stopped for days — candidates for cleanup
Important Rules
- Admin operations require admin credentials — user management needs admin-level CML access
- Never share passwords in Slack — report usernames only, instruct admin to share credentials securely
- Check resources before big labs — don't let users build labs that exceed server capacity
- Monitor licensing — CML has node count limits; stay within license boundaries
- Record in GAIT — log all admin operations for audit trail
Environment Variables
CML_URL — CML server URL
CML_USERNAME — CML username (admin for full access)
CML_PASSWORD — CML password
CML_VERIFY_SSL — Verify SSL certificate (true/false)