Developer Setup Guide
Complete guide for setting up the MCP Server LangGraph development environment with all required and optional tools. Last Updated: 2025-11-24 Target Audience: New developers, CI/CD engineers, contributorsTable of Contents
- Quick Start
- Required Tools
- Optional Tools
- Platform-Specific Installation
- Verification
- Troubleshooting
Quick Start
Required Tools
These tools are mandatory for core development workflows. Pre-commit hooks will block commits if these are missing.Python 3.12+
Purpose: Main programming language Used by: All development, testing, CI/CD Install:- macOS:
brew install python@3.12 - Linux (Ubuntu/Debian):
sudo apt install python3.12 python3.12-venv - Linux (Fedora/RHEL):
sudo dnf install python3.12 - Windows: Download from python.org
uv (Package Manager)
Purpose: Fast Python package management (10-100x faster than pip) Used by: All dependency installation, virtual environment management Install:Git
Purpose: Version control Used by: All development workflows Install:- macOS:
brew install gitor use Xcode Command Line Tools - Linux:
sudo apt install gitorsudo dnf install git - Windows: Download from git-scm.com
ShellCheck
Purpose: Shell script linting and validation Used by: Pre-commit hooks (REQUIRED - blocks commits if missing) Install:- macOS:
brew install shellcheck - Linux (Ubuntu/Debian):
sudo apt install shellcheck - Linux (Fedora/RHEL):
sudo dnf install ShellCheck - Windows (WSL):
sudo apt install shellcheck
scripts/ directory. Without shellcheck, pre-commit hooks will fail.
Documentation: https://www.shellcheck.net/
Optional Tools
These tools enhance development workflows but are not required. Pre-commit hooks will gracefully skip validation if these are missing.Docker & Docker Compose
Purpose: Local infrastructure (PostgreSQL, Redis, Keycloak, etc.) Used by: Integration tests, local development Install:- macOS: Docker Desktop for Mac
- Linux: Docker Engine
- Windows: Docker Desktop for Windows
make test-dev (unit tests only) instead of make test (all tests).
Trivy (Security Scanner)
Purpose: Container and Kubernetes manifest security scanning Used by: Pre-commit hooks (optional), CI security scans Install:- macOS:
brew install trivy - Linux:
- Windows (WSL): Same as Linux
Helm
Purpose: Kubernetes package management Used by: Deployment validation, Helm chart linting Install:- macOS:
brew install helm - Linux:
- Windows:
choco install kubernetes-helm
kubectl
Purpose: Kubernetes command-line tool Used by: Kustomize validation, deployment testing Install:- macOS:
brew install kubectl - Linux:
- Windows:
choco install kubernetes-cli
Terraform
Purpose: Infrastructure as Code Used by: Infrastructure deployment, pre-commit Terraform formatting Install:- macOS:
brew install terraform - Linux:
- Windows:
choco install terraform
Node.js & npm
Purpose: Mintlify documentation validation Used by: Documentation link checking, Mintlify local preview Install:- macOS:
brew install node - Linux (Ubuntu/Debian):
- Windows: Download from nodejs.org
actionlint
Purpose: GitHub Actions workflow validation Used by: Pre-commit hooks (optional), CI workflow syntax checking Install:- macOS:
brew install actionlint - Linux:
- Windows (WSL): Same as Linux
Platform-Specific Installation
macOS (Homebrew)
One-liner to install all tools:Linux (Ubuntu/Debian)
Required tools:Windows (WSL2 Recommended)
We recommend using WSL2 (Windows Subsystem for Linux) for development on Windows. Install WSL2:Verification
Automated Setup Verification
Run the automated setup verification script:Manual Verification
Check required tools:Troubleshooting
”shellcheck: command not found” during pre-commit
Problem: ShellCheck is required but not installed. Solution:”Docker daemon is not running” during integration tests
Problem: Integration tests require Docker, but Docker daemon is not running. Solution:“uv: command not found”
Problem: uv package manager is not installed or not in PATH. Solution:Pre-commit hook fails with “Skipping: tool not installed”
Problem: Optional tool is missing, but hook is trying to run. Solution: This is expected behavior. Optional tools gracefully skip with a warning message. The commit will still succeed. If you want to install the tool for full validation:- See the Optional Tools section above
- Or run the tool-specific install command shown in the warning message
Python version mismatch (3.11 vs 3.12)
Problem: System has Python 3.11 but project requires 3.12+. Solution:Next Steps
After completing setup:-
Install Python dependencies:
-
Run tests:
-
Start local infrastructure (optional):
-
Read development guides:
- Testing Guide - Test-driven development guide
- Contributing Guidelines - Contribution guidelines
- Project Overview - Main project README
CLI Tool Summary
| Tool | Required? | Purpose | Install Command (macOS) |
|---|---|---|---|
| Python 3.12+ | ✅ Required | Main language | brew install python@3.12 |
| uv | ✅ Required | Package manager | curl -LsSf https://astral.sh/uv/install.sh | sh |
| Git | ✅ Required | Version control | brew install git |
| ShellCheck | ✅ Required | Shell linting | brew install shellcheck |
| Docker | ⚠️ Optional | Infrastructure | brew install --cask docker |
| Trivy | ⚠️ Optional | Security scanning | brew install trivy |
| Helm | ⚠️ Optional | K8s packages | brew install helm |
| kubectl | ⚠️ Optional | K8s CLI | brew install kubectl |
| Terraform | ⚠️ Optional | Infrastructure | brew install terraform |
| Node.js/npm | ⚠️ Optional | Documentation | brew install node |
| actionlint | ⚠️ Optional | Workflow validation | brew install actionlint |
References
- Codex Audit Finding: Make/Test Flow Issue 1.3 (CLI dependency documentation)
- Hooks & Tooling Issue 2.2: Ambient CLI dependencies
- Pre-commit Configuration:
.pre-commit-config.yaml- Complete hook catalog - Makefile Targets:
Makefile- All available development commands
Questions or Issues?
- Check Troubleshooting section above
- Review
.claude/memory/python-environment-usage.mdfor Python-specific guidance - Open an issue: GitHub Issues