Skip to main content

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, contributors

Table of Contents


Quick Start

Estimated setup time: 15-30 minutes

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
Verification:

uv (Package Manager)

Purpose: Fast Python package management (10-100x faster than pip) Used by: All dependency installation, virtual environment management Install:
Verification:
Documentation: https://github.com/astral-sh/uv

Git

Purpose: Version control Used by: All development workflows Install:
  • macOS: brew install git or use Xcode Command Line Tools
  • Linux: sudo apt install git or sudo dnf install git
  • Windows: Download from git-scm.com
Verification:

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
Verification:
Why Required: Validates all bash scripts in 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: Verification:
Note: Integration tests require Docker. Without it, run 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
Verification:
Documentation: https://trivy.dev/

Helm

Purpose: Kubernetes package management Used by: Deployment validation, Helm chart linting Install:
  • macOS: brew install helm
  • Linux:
  • Windows: choco install kubernetes-helm
Verification:
Documentation: https://helm.sh/docs/intro/install/

kubectl

Purpose: Kubernetes command-line tool Used by: Kustomize validation, deployment testing Install:
  • macOS: brew install kubectl
  • Linux:
  • Windows: choco install kubernetes-cli
Verification:
Documentation: https://kubernetes.io/docs/tasks/tools/

Terraform

Purpose: Infrastructure as Code Used by: Infrastructure deployment, pre-commit Terraform formatting Install:
  • macOS: brew install terraform
  • Linux:
  • Windows: choco install terraform
Verification:
Documentation: https://developer.hashicorp.com/terraform/downloads

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
Verification:
Documentation: https://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
Verification:
Documentation: https://github.com/rhysd/actionlint

Platform-Specific Installation

macOS (Homebrew)

One-liner to install all tools:
Install uv separately:

Linux (Ubuntu/Debian)

Required tools:
Optional tools:

We recommend using WSL2 (Windows Subsystem for Linux) for development on Windows. Install WSL2:
Then follow the Linux (Ubuntu/Debian) instructions inside WSL. Alternative (Native Windows with Chocolatey):

Verification

Automated Setup Verification

Run the automated setup verification script:
This checks for all required and optional tools and reports their status.

Manual Verification

Check required tools:
Check optional tools:

Troubleshooting

”shellcheck: command not found” during pre-commit

Problem: ShellCheck is required but not installed. Solution:
Why: ShellCheck validates bash scripts and is a required dependency for pre-commit hooks.

”Docker daemon is not running” during integration tests

Problem: Integration tests require Docker, but Docker daemon is not running. Solution:
Alternative: Skip integration tests:

“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:
  1. Install Python dependencies:
  2. Run tests:
  3. Start local infrastructure (optional):
  4. Read development guides:

CLI Tool Summary


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.md for Python-specific guidance
  • Open an issue: GitHub Issues