Skip to main content
Glama
quality.md7.41 kB
--- sidebar_position: 6 title: Quality Standards --- ## Overview DataBeak maintains strict code quality standards with comprehensive automated enforcement. This document outlines our quality metrics, tools, and processes. ## Quality Metrics ### Current Status (All Automated) - ✅ **Zero ruff violations** - Perfect linting compliance across 46 rules - ✅ **100% MyPy compliance** - Complete type safety with minimal Any usage - ✅ **Perfect MCP documentation** - All tools have Field descriptions, zero Args sections - ✅ **High test coverage** - 880+ unit tests + 43 integration tests, 88%+ coverage - ✅ **Clean architecture** - Stateless MCP design, eliminated 4,600+ lines of complexity ### Quality Enforcement Tools #### Core Quality Tools | Tool | Purpose | Configuration | | -------------- | -------------------- | -------------------------------------- | | **Ruff** | Linting & formatting | 46 rules enabled, 100-char line length | | **MyPy** | Static type checking | Strict mode, pandas-stubs integration | | **Pytest** | Unit testing | 880+ tests, 80% coverage minimum | | **Pre-commit** | Quality gates | Automated enforcement on commits | #### MCP Documentation Tools | Tool | Purpose | Usage | | ----------------------------------- | ----------------------------- | ----------------------------------------- | | **check_docstring_args.py** | No Args sections in MCP tools | `scripts/check_docstring_args.py` | | **check_mcp_field_descriptions.py** | Complete Field descriptions | `scripts/check_mcp_field_descriptions.py` | ## Quality Commands ### Comprehensive Quality Check ```bash # Run all quality checks (recommended) uv run pre-commit run --all-files # Individual quality checks uv run ruff check src/ tests/ # Linting uv run ruff format --check src/ tests/ # Format verification uv run mypy src/databeak/ # Type checking uv run pytest tests/unit/ --cov=src # Testing with coverage scripts/check_docstring_args.py # MCP Args compliance scripts/check_mcp_field_descriptions.py # MCP Field compliance ``` ### Auto-fix Commands ```bash # Auto-fix formatting and linting issues uv run ruff check --fix src/ tests/ # Fix linting violations uv run ruff format src/ tests/ # Apply consistent formatting # Fix pre-commit issues uv run pre-commit run ruff --all-files uv run pre-commit run ruff-format --all-files ``` ### MCP Documentation Compliance ```bash # Check MCP documentation standards scripts/check_docstring_args.py --quiet # Summary: Args sections check scripts/check_mcp_field_descriptions.py --quiet # Summary: Field descriptions check # Check specific files/directories scripts/check_docstring_args.py src/databeak/servers/ scripts/check_mcp_field_descriptions.py src/databeak/servers/validation_server.py ``` ## Quality Standards Details ### Code Quality Requirements #### Linting (Ruff) - **Zero violations** across all 46 enabled rules - **Comprehensive coverage**: Style, complexity, security, imports, docstrings - **Auto-fix enabled** for most violations - **100-character line length** for readability #### Type Safety (MyPy) - **100% compliance** required for all source code - **Minimal Any usage** - justified only where necessary - **Strict configuration** with comprehensive type checking - **Pandas integration** via pandas-stubs #### Testing Standards - **Unit test focus** - 880+ fast, isolated tests - **80% coverage minimum** - Configured in pyproject.toml - **Async test support** - Full FastMCP Context integration - **Session-based patterns** - Tests mirror real MCP usage #### MCP Documentation Standards - **No Args sections** - Parameter docs come from Field descriptions - **Comprehensive Field descriptions** - All MCP tool parameters documented - **Tool-focused docstrings** - Function purpose and examples only - **Automated enforcement** - Pre-commit hooks prevent violations ### Architectural Quality #### Design Principles - **Stateless MCP design** - External context handles persistence - **Clear API boundaries** - No boolean traps, keyword-only parameters - **Defensive programming** - Proper validation, no silent failures - **Configurable behavior** - Environment variables, no magic numbers #### Performance Standards - **Resource management** - Memory thresholds, violation limits - **Efficient operations** - Streaming, chunking for large datasets - **Session lifecycle** - Automatic cleanup, TTL management - **Error resilience** - Graceful degradation, comprehensive logging ## Quality Enforcement ### Pre-commit Hooks Automated quality gates prevent regression: - **Python quality**: AST validation, builtin checks, encoding fixes - **Security**: Private key detection, debug statement removal - **Linting**: Ruff with auto-fix enabled - **Type checking**: MyPy with pandas integration - **Documentation**: Markdown formatting, PyMarkdown linting - **MCP compliance**: Args sections, Field descriptions validation ### CI/CD Integration Quality checks designed for automated pipelines: - **Proper exit codes** - Scripts return 0/1/2 for automation - **Quiet modes** - Summary output for CI logs - **Comprehensive reporting** - Detailed feedback for developers - **Fast execution** - Parallel test execution, efficient tooling ### Quality Metrics Tracking #### Current Achievements - **0 ruff violations** (down from 200+ during development) - **0 MyPy errors** (maintained throughout architectural changes) - **0 Args violations** (49 removed during MCP compliance) - **880+ tests passing** (95%+ pass rate maintained) - **3,340+ lines eliminated** (architectural simplification) #### Continuous Improvement - **Regular dependency updates** - Automated via pre-commit.ci - **Quality standard evolution** - Enhanced MCP compliance tools - **Performance optimization** - Ongoing efficiency improvements - **Coverage expansion** - Strategic test development for gaps ## Troubleshooting ### Common Quality Issues #### Ruff Violations Most common: D413 (missing blank lines), D401 (imperative mood) **Fix**: Run `uv run ruff check --fix src/` for auto-correction #### MyPy Errors Most common: Missing type annotations, incorrect Any usage **Fix**: Add proper type hints, justify Any usage with comments #### Test Failures Most common: Session management, async context handling **Fix**: Use proper FastMCP Context patterns, session lifecycle management #### MCP Documentation Most common: Missing Field descriptions, Args sections in docstrings **Fix**: Use our custom scripts for detection and guidance ### Emergency Quality Recovery If quality standards are compromised: ```bash # 1. Reset to clean state git checkout main && git pull origin main # 2. Apply all auto-fixes uv run pre-commit run --all-files # 3. Verify complete compliance scripts/check_docstring_args.py --quiet scripts/check_mcp_field_descriptions.py --quiet uv run ruff check src/ --quiet uv run mypy src/databeak/ --quiet # 4. Run full test suite uv run pytest tests/unit/ -q ``` This comprehensive quality framework ensures DataBeak maintains its position as a reference implementation for clean, well-documented MCP server architecture.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jonpspri/databeak'

If you have feedback or need assistance with the MCP directory API, please join our Discord server