β Developer Onboarding ChecklistΒΆ
Follow this checklist to set up your development environment, verify all features, and ensure consistent onboarding across the MCP Gateway project.
π Environment SetupΒΆ
System prerequisites
- Python β₯ 3.11
- Node.js and npm, npx (used for testing with
supergatewayand the HTML/JS Admin UI) - Docker, Docker Compose, and Podman
- Make, GitHub CLI (
gh),curl,jq,openssl - Optional: Visual Studio Code + Dev Containers extension (or WSL2 if on Windows) + Pyrefly
- Optional: On Windows, install the WSL and Remote Development extensions
Python tooling
-
pip install --upgrade pip -
uvanduvxinstalled - install uv -
.venvrecreated withmake install-dev(installs runtime + dev extras)
Additional tools
-
helminstalled for Kubernetes deployments (Helm install docs) - Security tools in
$PATH:hadolint,dockle,trivy,osv-scanner
Useful VS Code extensions
- Python, Pylance
- YAML, Even Better TOML
- Docker, Dev Containers (useful on Windows)
GitHub setup
- GitHub email configured in
git config - See GitHub config guide
.env configuration
- Copy
.env.exampleto.env - Set various env variables, such as:
JWT_SECRET_KEYBASIC_AUTH_PASSWORD
π§ Makefile TargetsΒΆ
Local setup
-
make check-env(validates .env is complete) -
make install-dev serve -
make smoketestruns and passes
Container builds
- Docker:
make docker-prod docker-run-ssl-host compose-up - Podman:
make podman podman-prod podman-run-ssl-host
Packaging
-
make dist verifybuilds packages -
make devpi-install devpi-init devpi-start devpi-setup-user devpi-upload devpi-test - Install and test
mcpgatewayCLI locally
Minikube & Helm
-
make helm-install minikube-install minikube-start minikube-k8s-apply helm-package helm-deploy - See minikube deployment
π§ͺ TestingΒΆ
Code quality
-
make lint,make lint-web -
make shell-linters-install,make shell-lint -
make hadolint(Dockerfile linting)
Unit tests
-
make testpasses all cases
π SecurityΒΆ
SonarQube analysis
-
make sonar-up-docker -
make sonar-submit-docker- ensure no critical violations
π JWT AuthenticationΒΆ
Generate and use a Bearer token
-
Export a token with:
-
Verify authenticated API access:
π€ Client IntegrationΒΆ
Run wrapper and test transports
- Run:
python3 -m mcpgateway.wrapper(stdio support) - Test transports:
- Streamable HTTP
- Server-Sent Events (SSE)
- Optional: Integrate with Claude, Copilot, Continue (usage guide)
π§ API TestingΒΆ
Authentication required
- Unauthenticated:
- Authenticated:
Endpoint coverage
- Confirm key routes:
/version/health/tools/servers/resources/prompts/gateways
- Browse Redoc docs
π₯ Admin UIΒΆ
Login and diagnostics
- Navigate to
/admin - Log in with Basic Auth credentials from
.env -
/versionshows healthy DB and Redis
CRUD verification
- Create / edit / delete:
- Servers
- Tools
- Resources
- Prompts
- Gateways
- Toggle active/inactive switches
- JWT stored in
HttpOnlycookie, no errors in DevTools Console
Metrics
- Confirm latency and error rate display under load
π DocumentationΒΆ
Build and inspect docs
-
cd docs && make venv serve - Open http://localhost:8000
- Confirm:
.pagesordering- nav structure
- working images
- Mermaid diagrams
Read and understand
-
README.mdin root - Official docs site
- MkDocs Admonitions guide
β Final ReviewΒΆ
Ready to contribute
- All items checked
- PR description links to this checklist
- Stuck? Open a discussion or issue