Thank you for your interest in contributing! This document will help you get started.
| Document | Description |
|---|---|
| Development Guide | Setup, running, testing, and architecture |
| Adding a New MCP Tool | Step-by-step guide for adding new tools |
| Available Tools | Complete reference of all MCP tools |
- Setting up the project? Start with the Development Guide
- Adding a new tool? Follow the Adding a New MCP Tool guide
- Looking for tool documentation? Check Available Tools
- Fork the repository and create your branch from
master - Set up the development environment following the Development Guide
- Make your changes following the patterns in Adding a New MCP Tool
- Write tests for any new functionality
- Run quality checks:
uv run ruff check . uv run ruff format . uv run pytest
- Submit a pull request with a clear description of your changes
- Python 3.12+
- Ruff for linting and formatting (120 char line length)
- Google-style docstrings
- Full type annotations with Pydantic models
- All imports at the top of files
- Check existing modules for patterns (apps, tag_manager, analytics)
- Review the Development Guide for architecture details
- Open an issue for questions or discussions