Skip to main content

Overview

We welcome contributions to the MCP Server with LangGraph project! This guide will help you get started with contributing code, documentation, bug reports, and feature requests.
By contributing to this project, you agree to abide by our Code of Conduct and license terms.

Quick Start

Development Setup

Prerequisites

Local Environment

No manual venv creation needed! uv sync automatically:
  • Creates .venv if it doesn’t exist
  • Installs all dependencies from pyproject.toml
  • Uses uv.lock for reproducible builds
Use uv run <command> to run commands without activating the virtual environment.

Environment Variables

Minimal .env for development:

Start Development Services

Code Style

Python Style Guide

We follow PEP 8 with some modifications:

Code Formatting

We use automated formatters:

Pre-commit Hooks

Pre-commit hooks automatically run formatters and linters:
Install and run:

Testing

Test Structure

Writing Tests

Running Tests

Test Coverage

We aim for >80% code coverage:

Commit Messages

Conventional Commits

We use the Conventional Commits specification:
Types:
  • feat: New feature
  • fix: Bug fix
  • docs: Documentation changes
  • style: Code style changes (formatting, missing semicolons, etc.)
  • refactor: Code refactoring
  • perf: Performance improvements
  • test: Adding or updating tests
  • build: Build system changes
  • ci: CI/CD changes
  • chore: Other changes (dependencies, etc.)
Examples:

Commit Best Practices

  • Use present tense (“add feature” not “added feature”)
  • Be specific and descriptive
  • Explain why, not just what
  • Reference issues with Closes #123
  • One logical change per commit
  • Should be revertable independently
  • Easy to review
  • Makes bisecting easier

Pull Requests

PR Process

  1. Create Issue First (for significant changes)
    • Discuss the change
    • Get feedback early
    • Avoid wasted effort
  2. Fork and Branch
  3. Make Changes
    • Follow code style
    • Add tests
    • Update documentation
  4. Run Checks
  5. Commit
  6. Push
  7. Create PR

PR Template

PR Review Process

For Contributors:
  • Respond to feedback promptly
  • Make requested changes
  • Re-request review when ready
  • Be patient and respectful
For Reviewers:
  • Review within 2 business days
  • Be constructive and kind
  • Suggest, don’t demand
  • Approve when ready

Documentation

Writing Documentation

We use Mintlify for documentation:

Documentation Style

Mermaid Diagrams

MANDATORY REQUIREMENTS for all new Mermaid diagrams:
  1. ✅ Use modern syntax (flowchart TD/TB/LR/BT instead of graph TB)
  2. ✅ Apply ColorBrewer2 Set3 palette styling with semantic color assignments
  3. ✅ Include standard comment: %% ColorBrewer2 Set3 palette - each component type uniquely colored
  4. ✅ Use proper classDef statements (not inline styles)
  5. ✅ Ensure WCAG AA accessibility (contrast ratios 4.5:1+)
See Full Guide: Mermaid Standards & Style Guide Quick Template - Flowchart: Quick Template - Sequence Diagram:

Release Process

Versioning

We use Semantic Versioning (SemVer):

Creating a Release

Changelog Format

Community

Communication Channels

  • GitHub Issues: Bug reports, feature requests
  • GitHub Discussions: Questions, ideas, general discussion
  • Discord: Real-time chat (coming soon)
  • Email: security@yourdomain.com (security issues only)

Getting Help

  1. Check documentation first
  2. Search existing issues
  3. Create new issue if needed
  4. Be specific about your problem
  5. Provide context (OS, Python version, etc.)

Reporting Bugs

Use this template:

Feature Requests

Use this template:

Code of Conduct

Our Pledge

We are committed to providing a welcoming and inspiring community for all.

Standards

Positive behavior:
  • Be respectful and inclusive
  • Accept constructive criticism
  • Focus on what’s best for the community
  • Show empathy
Unacceptable behavior:
  • Harassment or discrimination
  • Trolling or insulting comments
  • Public or private harassment
  • Publishing others’ private information

Enforcement

Violations can be reported to: conduct@yourdomain.com

License

By contributing, you agree that your contributions will be licensed under the MIT License.

Recognition

Contributors are recognized in:
  • CONTRIBUTORS.md file
  • Release notes
  • Project README
Thank you for contributing! 🎉

Next Steps

Development Setup

Detailed development environment

Testing Guide

Comprehensive testing strategies

Architecture

System architecture overview

API Reference

API documentation

Ready to Contribute: Join our community and help build amazing AI applications!