Development
Setup
git clone https://github.com/thomaschristory/catalyst-sdwan-super-mcp.git
cd catalyst-sdwan-super-mcp
uv sync --group dev --group docs
Day-to-day
uv run pytest -v # run the test suite
uv run ruff check sdwan_mcp tests # lint
uv run ruff format sdwan_mcp tests # format
uv run mkdocs serve # docs live preview at http://localhost:8000
What CI enforces
ruff check (lint) and ruff format --check
pytest on Python 3.11, 3.12, 3.13, both Linux and macOS
- Docker build +
--help smoke test
mkdocs build --strict on every PR that touches docs
Project layout
sdwan_mcp/ source package
__init__.py version
server.py entrypoint, CLI
config.py YAML + env interpolation
loader.py spec loading, grouping, indexing
auth.py JWT + session login
dispatcher.py httpx client, param routing
tools.py dynamic MCP tool registration
diff.py version diff utility
tests/ pytest suite
docs/ mkdocs-material site
specs/{version}/ OpenAPI YAML/JSON, one folder per vManage version
.github/workflows/ CI: lint, test, docker, docs, release