Packet Coders
FreeNot checkedA local MCP server for interacting with a network lab, supporting read-only and configuration tools for devices like Arista EOS switches.
About
A local MCP server for interacting with a network lab, supporting read-only and configuration tools for devices like Arista EOS switches.
README
A compact demo MCP server (FastMCP) that lets an LLM safely drive a network lab. Runs in mock mode with no hardware, or against a real EVE-NG lab by swapping one inventory file. Works from Claude Code, Claude Desktop, or a fully local LLM stack (Ollama / vLLM).
| Tool | Purpose |
|---|---|
list_lab_devices |
Show the inventory the server can reach. |
send_command |
Run a read-only show command on one device. |
run_health_check |
Health bundle against one device or the whole lab. |
get_ospf_neighbors |
OSPF neighbor state (right command per platform). |
get_bgp_summary |
BGP summary state (right command per platform). |
configure_device |
Push config — gated by an out-of-band confirm code (read-only is one flag). |
Quickstart (Docker)
Spins up the whole stack — chat UI, lab tools, and a local model — with one command.
git clone https://github.com/E-Conners-Lab/Packet-Coders-Demo.git
cd Packet-Coders-Demo
docker compose up # first run pulls images + the qwen3:8b model (a few minutes)
Open http://localhost:3000 (no login) → Settings → Integrations → add
http://localhost:8000 as a tool server → set the model's Function Calling → Native →
ask "list the lab devices." Defaults to the mock lab (no hardware needed).
| Want… | Do this |
|---|---|
| Faster on a Mac (host Ollama, Metal GPU) | make up-host (then ollama pull qwen3:8b yourself) |
| The real EVE-NG lab | docs/real-lab.md |
| Change port / model / inventory | copy .env.example → .env — docs/configuration.md |
| Read-only (hide the write tool) | make readonly |
| Stop everything | make down |
Port
8000already in use? SetMCPO_PORTin.env. More fixes in docs/troubleshooting.md.
Connect a client
Point any MCP client at the server (start with the mock inventory). Full per-client steps — Claude Code, Claude Desktop, Ollama / vLLM + Open WebUI — are in docs/clients.md.
# Claude Code, from the repo root:
claude mcp add packet-coders-lab \
--env PACKET_CODERS_INVENTORY="$PWD/configs/inventory.mock.yaml" \
-- uv run --project "$PWD" packet-coders-mcp
Verify with claude mcp list, then ask it to list_lab_devices.
Safety
A demo, not a production change tool. Strongest guardrails:
- Writes need an out-of-band code the model never sees —
configure_deviceprints a one-time code to the server console; a human reads it back, so the model can't self-approve. - Read-only is one flag —
PACKET_CODERS_ALLOW_WRITES=falsehides the write tool entirely. - Hosts that confirm each call (Claude Desktop / Code) can use their own approval instead —
set
PACKET_CODERS_REQUIRE_CONFIRM_CODE=false.
Don't point it at production. Full model: docs/safety.md.
Docs
- docs/clients.md — connect Claude Code / Desktop / Ollama / vLLM + Open WebUI
- docs/real-lab.md — inventory model + EVE-NG setup + keeping creds private
- docs/configuration.md — every
.envknob + native (no-Docker) run - docs/topology.md — the four-switch reference lab (OSPF + eBGP)
- docs/safety.md — full guardrail model
- docs/troubleshooting.md — common errors and fixes
Develop
uv run --extra dev pytest
uv run --extra dev ruff check .
Install Packet Coders in Claude Desktop, Claude Code & Cursor
unyly install packet-coders-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add packet-coders-mcp -- uvx --from git+https://github.com/E-Conners-Lab/Packet-Coders-Demo packet-coders-mcpFAQ
Is Packet Coders MCP free?
Yes, Packet Coders MCP is free — one-click install via Unyly at no cost.
Does Packet Coders need an API key?
No, Packet Coders runs without API keys or environment variables.
Is Packet Coders hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Packet Coders in Claude Desktop, Claude Code or Cursor?
Open Packet Coders on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Packet Coders with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
