Developer Onboarding Guide
Welcome to the MCP Server LangGraph project! This guide will get you up and running in under 10 minutes.Prerequisites
Before you start, ensure you have:- ✅ Python 3.11-3.13 installed (
python --version) - ✅ Docker Desktop or Docker Engine running (
docker --version) - ✅ Docker Compose v2 installed (
docker compose version) - ✅ Git installed (
git --version) - ✅ uv (Python package manager) installed (installation)
- Node.js (for Mintlify docs):
node --version - Make (usually pre-installed on Linux/macOS)
🚀 Quick Start (5 Minutes)
Option A: Automated Setup (Recommended)
- Install all dependencies
- Start Docker infrastructure (OpenFGA, Postgres, Keycloak, Prometheus, Grafana, etc.)
- Initialize OpenFGA authorization
- Set up Keycloak SSO
- Display next steps
Option B: Manual Setup
No manual venv creation needed!
uv sync (run by make install-dev) automatically creates .venv and installs all dependencies.✅ Verify Installation
- ✓ All Docker services running
- ✓ All ports responding (8080, 5432, 8180, 16686, 9090, 3000, 6379)
- ✓ Virtual environment active
🏃 Running the Application
Run Unit Tests
Run the MCP Server (StreamableHTTP)
http://localhost:8000
Alternative: Run stdio MCP Server
📊 Access Monitoring Dashboards
- Username: admin
- Password: admin
- LangGraph Agent Performance
- Security & Authentication
- LLM Performance
- SLA Monitoring
- SOC2 Compliance
- And 4 more…
🔧 Essential Configuration
1. Environment Variables
Copy the example environment file:.env:
2. Re-run Setup if Needed
If you need to reset everything:📚 Project Structure
🧪 Running Tests
All Tests
By Category
With Coverage
htmlcov/index.html
Watch Mode
🎯 Common Development Tasks
Code Quality
Pre-commit Hooks
- Format code with black
- Sort imports with isort
- Run linting (flake8)
- Check types (mypy)
- Scan for security issues (bandit)
View Logs
Database Operations
📖 Documentation
Serve Docs Locally
Key Documentation
- Architecture:
docs/architecture/(21 ADRs) - Deployment:
docs/deployment/ - Testing:
docs/advanced/testing.mdx - Monitoring:
monitoring/MONITORING_QUICKSTART.md - AI Agent Help:
.github/CLAUDE.md,.github/AGENTS.md
🐛 Troubleshooting
Services Not Starting
Port Conflicts
If ports 3000, 8080, 9090, etc. are in use:Tests Failing
Environment Issues
🎓 Learning Resources
Getting Started
- Read:
README.md- Project overview - Review:
docs/getting-started/quickstart.mdx - Explore: Architecture Decision Records in
docs/architecture/
Understanding the Code
- Start with:
src/mcp_server_langgraph/core/agent.py- LangGraph agent - Then:
src/mcp_server_langgraph/mcp/server_streamable.py- MCP server - Review:
src/mcp_server_langgraph/auth/middleware.py- Auth middleware
AI Assistant Configuration
- Claude Code:
.github/CLAUDE.md - GitHub Copilot:
.github/copilot-instructions.md - Cursor AI:
.cursorrules - OpenAI Codex:
.openai/codex-instructions.md
🤝 Contributing
Before Making Changes
- Create a feature branch:
git checkout -b feature/your-feature-name - Install pre-commit hooks:
make pre-commit-setup - Run tests:
make test-unit
Making Changes
- Write code following existing patterns
- Add tests for new functionality
- Run
make formatbefore committing - Ensure
make testpasses
Submitting Changes
- Commit with conventional commits:
feat:,fix:,docs:, etc. - Push to your branch
- Open a Pull Request
- Ensure CI passes
CONTRIBUTING.md for detailed guidelines.
🚀 Releasing
Automated Version Bumping
When a new GitHub release is created, deployment versions are automatically updated across all configuration files. Process:- Create a new release on GitHub with a tag (e.g.,
v2.5.0) - GitHub Actions automatically:
- Updates
pyproject.toml - Updates
docker-compose.yml - Updates Kubernetes deployment manifests
- Updates Helm chart version and appVersion
- Updates Kustomize image tags
- Commits changes to main branch
- Adds comment to release with deployment commands
- Updates
- Docker Compose:
docker compose pull && docker compose up -d - Kubernetes:
kubectl set image deployment/langgraph-agent langgraph-agent=langgraph-agent:2.5.0 - Helm:
helm upgrade langgraph-agent deployments/helm/langgraph-agent --set image.tag=2.5.0 - Kustomize:
kubectl apply -k deployments/kustomize/overlays/production
📞 Getting Help
Resources
- Documentation: http://localhost:3000 (run
make docs-serve) - Issues: https://github.com/vishnu2kmohan/mcp-server-langgraph/issues
- Discussions: https://github.com/vishnu2kmohan/mcp-server-langgraph/discussions
Quick Commands Reference
✨ Next Steps
- ✅ Complete setup:
make dev-setup - ✅ Run tests:
make test-unit - ✅ Explore dashboards:
make monitoring-dashboard - ✅ Read architecture docs:
docs/architecture/overview.mdx - ✅ Try examples:
python examples/openfga_usage.py - ✅ Make your first contribution!
Welcome to the team! 🎉 For questions, reach out via GitHub Discussions or open an issue. Happy coding! 🚀