How pruok8/h3c works
dsh-h3c-lab provides two ways to automate H3C/HCL labs: a DSH plugin exposing MCP-backed native tools, and an independently usable command-line skill. The plugin bridges DSH calls through a stdio MCP client to a Python server and device consoles; its settings panel uses a host HTTP route. The skill provides scripts for topology, console operations, verification, memory, and reporting. The tree includes a second MCP server/driver copy. Some skill-stage links are documented only as capabilities, so they are shown as entry points, not an invented execution pipeline.
Main entry points: index.js Plugin entry · tools.js Native tools · mcp-client.js stdio MCP client · panel.js Panel API
Components 21
DSH plugin
- Plugin entry
dsh-h3clab/lib/index.js - Plugin config
dsh-h3clab/lib/config.js - Native tools
dsh-h3clab/lib/tools.js - stdio MCP client
dsh-h3clab/lib/mcp-client.js - Panel API
dsh-h3clab/lib/panel.js - Settings panel
dsh-h3clab/lib/client.js
MCP runtime
- Bundled MCP server
dsh-h3clab/scripts/server.py - Bundled console driver
dsh-h3clab/scripts/hcldrv.py - Standalone MCP server
mcp-server/server.py - Standalone console driver
mcp-server/hcldrv.py
Automation skill
- Skill instructions
skills/h3c-lab-automation/SKILL.md - Skill console driver
skills/h3c-lab-automation/scripts/hcldrv.py
Skill workflows
- Topology mapping
skills/h3c-lab-automation/scripts/net2map.py - Lab operations
skills/h3c-lab-automation/scripts/hcl_lab.py - Verification matrix
skills/h3c-lab-automation/scripts/verify.py - Memory retrieval
skills/h3c-lab-automation/scripts/remember.py - Report synthesis
skills/h3c-lab-automation/scripts/report.py - Other skill scripts
skills/h3c-lab-automation/scripts
Other components
- DSH agent
- Lab operator
- HCL device consoles
Connections 24
- DSH agent → Plugin entry: invokes plugin
README.md - Plugin entry → Plugin config: resolves settings
dsh-h3clab/lib/index.js - Plugin entry → Native tools: registers tools
dsh-h3clab/lib/index.js - Native tools → stdio MCP client: calls tools
dsh-h3clab/lib/tools.js - Plugin entry → stdio MCP client: starts client
dsh-h3clab/lib/index.js - stdio MCP client → Bundled MCP server: launches server
README.md - Bundled MCP server → Bundled console driver: uses driver
dsh-h3clab/scripts/server.py - Bundled console driver → HCL device consoles: connects by telnet
README.md - Plugin entry → Panel API: registers route
dsh-h3clab/lib/index.js - Settings panel → Panel API: calls API
dsh-h3clab/lib/panel.js - Panel API → Native tools: executes tools
dsh-h3clab/lib/panel.js - Lab operator → Skill instructions: uses skill
README.md - Skill instructions → Other skill scripts: guides operations
README.md - Lab operator → Topology mapping: maps topology
README.md - Lab operator → Lab operations: drives lab
README.md - Lab operator → Verification matrix: checks results
README.md - Lab operator → Memory retrieval: retrieves memory
README.md - Lab operator → Report synthesis: creates report
README.md - Lab operations → Skill console driver: uses driver
skills/h3c-lab-automation/scripts/hcl_lab.py - Verification matrix → Skill console driver: uses driver
skills/h3c-lab-automation/scripts/verify.py - Skill console driver → HCL device consoles: connects by telnet
README.md - Report synthesis → Topology mapping: uses mapping
skills/h3c-lab-automation/scripts/report.py - Standalone MCP server → Standalone console driver: imports driver
mcp-server/server.py - Standalone console driver → HCL device consoles: connects by telnet
mcp-server/hcldrv.py