Skip to main content
Glama

MCP Context Provider

AUTOMATION.md6.81 kB
# Build Automation Documentation ## Overview The MCP Context Provider now includes comprehensive build automation to ensure code quality, consistent releases, and streamlined development workflows. ## Automation Components ### 1. GitHub Actions #### Release Workflow (`.github/workflows/release.yml`) - **Trigger**: Git tag creation (e.g., `git tag v1.8.0`) - **Actions**: - Validates all source files and JSON syntax - Builds DXT package with correct version - Tests package integrity - Creates GitHub release with package attached - Generates comprehensive release notes #### CI Workflow (`.github/workflows/ci.yml`) - **Trigger**: Pull requests and pushes to main/develop - **Actions**: - Multi-platform testing (Ubuntu, macOS, Windows) - Multi-Python version testing (3.8, 3.9, 3.10, 3.11) - Context file validation - Build process testing - Security scanning - Code quality checks ### 2. Pre-commit Hooks (`.pre-commit-config.yaml`) Automatically run before each commit to ensure code quality: - JSON validation and formatting - Python code formatting with Black - Context file structure validation - Build process testing - Version consistency checking **Setup**: ```bash pip install pre-commit pre-commit install ``` ### 3. Validation Scripts #### Context Validation (`scripts/validate_contexts.py`) - Validates JSON syntax in all context files - Checks required fields (tool_category, description) - Validates optional section structure - Ensures semantic versioning in metadata #### Build Testing (`scripts/test_build.py`) - Tests build process without creating full package - Validates source file accessibility - Tests DXT structure creation - Verifies file copying operations #### Version Consistency (`scripts/check_versions.py`) - Checks version consistency across: - `package.json` - `scripts/build_dxt.py` - `CHANGELOG.md` - `scripts/install.sh` ### 4. Version Management (`scripts/bump_version.py`) Automated version management across all project files: ```bash # Show current version python scripts/bump_version.py show # Bump patch version (1.7.0 → 1.7.1) python scripts/bump_version.py bump patch # Bump minor version (1.7.0 → 1.8.0) python scripts/bump_version.py bump minor # Bump major version (1.7.0 → 2.0.0) python scripts/bump_version.py bump major # Set specific version python scripts/bump_version.py set 1.8.5 ``` ## Development Workflow ### Making Changes 1. **Edit source files** in repository root 2. **Pre-commit hooks** automatically validate changes 3. **Push to branch** triggers CI validation 4. **Create PR** runs full test suite ### Releasing New Version #### Option 1: Using Version Script ```bash # Bump version and update all files python scripts/bump_version.py bump minor # Commit changes git add . git commit -m "chore: bump version to 1.8.0" # Create and push tag git tag v1.8.0 git push origin main --tags ``` #### Option 2: Manual Process ```bash # Create tag directly git tag v1.8.0 git push origin --tags ``` Both methods trigger the automated release workflow. ### Pre-commit Hook Validation When you commit, the following validations run automatically: - ✅ JSON syntax validation - ✅ JSON formatting (auto-fixes) - ✅ Context structure validation - ✅ Build process testing - ✅ Version consistency check - ✅ Python code formatting ## CI/CD Pipeline Stages ### Pull Request Validation 1. **Validation Stage**: - Context file structure validation - Build process testing - Version consistency checking - JSON syntax validation 2. **Build Test Stage**: - Full DXT package build test - Package unpack verification - Context file count validation 3. **Compatibility Stage**: - Multi-OS testing (Ubuntu, macOS, Windows) - Multi-Python testing (3.8, 3.9, 3.10, 3.11) - Cross-platform build validation 4. **Security Stage**: - Secret scanning with TruffleHog - Sensitive file detection - Security policy compliance ### Release Pipeline 1. **Source Validation**: - All source files accessible - JSON syntax validation - Context file structure validation 2. **Package Building**: - DXT package creation with version extraction - Package integrity verification - Content validation 3. **Testing**: - Package unpack testing - Structure verification - Context file counting 4. **Release Creation**: - GitHub release with package attachment - Automated release notes generation - Package registry information ## Quality Assurance Features ### Automated Validation - **JSON Schema Validation**: All context files validated against structure requirements - **Build Process Testing**: Ensures build system works before commits - **Version Synchronization**: Prevents version drift across files - **Security Scanning**: Detects potential security issues ### Multi-Platform Support - **Cross-Platform Testing**: Ensures compatibility across Windows, macOS, Linux - **Python Version Support**: Tests against Python 3.8+ requirements - **Build System Compatibility**: Validates DXT CLI across platforms ### Code Quality - **Python Formatting**: Automatic code formatting with Black - **JSON Formatting**: Consistent JSON structure and indentation - **Documentation Consistency**: Ensures all automation is documented ## Troubleshooting ### Common Issues **Pre-commit hook failures**: ```bash # Re-run hooks manually pre-commit run --all-files # Update hook repositories pre-commit autoupdate ``` **Version inconsistency**: ```bash # Check current versions python scripts/check_versions.py # Fix with version script python scripts/bump_version.py set 1.7.0 ``` **Build failures**: ```bash # Test build process python scripts/test_build.py # Validate context files python scripts/validate_contexts.py contexts/*.json ``` **CI/CD failures**: - Check GitHub Actions logs - Ensure all required files are committed - Validate that DXT CLI is accessible - Check Python version compatibility ## Benefits ✅ **Automated Quality Assurance**: Prevents broken commits and releases ✅ **Consistent Versioning**: Eliminates version drift across files ✅ **Streamlined Releases**: One command creates complete releases ✅ **Multi-Platform Validation**: Ensures compatibility across environments ✅ **Security Integration**: Automatic security scanning and validation ✅ **Developer Experience**: Clear feedback and automated fixing where possible ## Future Enhancements Potential automation improvements: - **Automated Documentation**: Generate docs from context files - **Performance Testing**: Automated performance benchmarks - **Integration Testing**: Full Claude Desktop integration tests - **Dependency Management**: Automated dependency updates - **Release Notifications**: Automated notification systems

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/doobidoo/MCP-Context-Provider'

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