P.S. English isn't my first language — apologies if any words landed funny. Next time will be better.
An alpha demo of an MCP server I've been building from scratch
in my spare time — written in Go, designed to manage network
devices through an LLM, with focus on small local models, privacy,
and being vendor-agnostic by design.
Today's demo runs on a Juniper EVPN-VXLAN lab fabric because that's
what I have for testing right now. The architecture is built around
a driver abstraction, so extending to other vendors (Cisco, Linux,
others) is the next direction — not a rewrite.
This is my own implementation, not a fork. Custom NETCONF pool with
typed RPC structures, parallel fan-out across devices, classification
logic for L2 lookups, dry-run validation pipeline — all built ground-up.
Source language is Go. No Python dependencies, no off-the-shelf MCP
framework wrapping somebody else's work.
In this video:
• Live demo on a 4-node EVPN-VXLAN lab fabric
• Multi-device interface state lookup in one query
• Detecting an admin-disabled port without telling the LLM where to look
• Finding a MAC across the fabric with termination/reachability classification
• Engineering-language queries on config ("is VLAN X trunked down to ae1?")
• Dry-run config validation with diff — no commit, no surprises
Why local models:
Everything runs in LM Studio on my own hardware. Device configs never
leave the perimeter. The tool design is built around what small models
can actually handle — curated outputs, flat data structures, hints
embedded in the responses.
The model in the demo is Qwen3.5-122B-A10B. Smaller models (9B–30B
class) handle diagnostics just fine; the 122B tier earns its place
for clean config generation with minimal scaffolding on the server side.
This is alpha — tools are still being polished. Next on the roadmap:
continued polish on the existing tooling, and ongoing work on
multi-vendor support so the same workflow runs on other platforms.
If you're working on something similar, or just want to follow along —
drop a comment, share with someone who'd find this useful.
Tech stack:
Language: Go
Protocol: MCP (Model Context Protocol)
Transport: NETCONF over SSH
LLM runtime: LM Studio (local inference)
Demo platform: Juniper Junos (Cisco / Linux / others — coming)
#LLMг#Network #NetworkAutomation #MCP #Tools #learninpublic