- Create GitHub Actions workflow for automatic version bumping based on PR title prefixes
- Add version bumping script (scripts/bump_version.py) for programmatic updates
- Update PR template with semantic versioning guidelines
- Document versioning workflow in contributing guide
- Integrate with existing Docker build workflow via git tags
This enables automatic version management:
- feat: triggers MINOR version bump
- fix: triggers PATCH version bump
- breaking: triggers MAJOR version bump
- docs/chore/test: no version bump
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
Removing automated Docker Hub publishing workflow to keep the setup simple.
Users can build the Docker image locally with 'docker build -t gemini-mcp-server .'
Co-Authored-By: Claude <noreply@anthropic.com>
Only attempt Docker Hub login when running from the main repository,
not from forks. This prevents authentication errors in forked repos
while still allowing them to build images locally.
Co-Authored-By: Claude <noreply@anthropic.com>
Implements comprehensive Docker support to eliminate Python version and dependency concerns.
Users can now run the MCP server in a container with automatic path translation between
host and container filesystems.
Key features:
- Dockerfile with multi-architecture support (amd64/arm64)
- Automatic path translation using WORKSPACE_ROOT environment variable
- Setup scripts for all platforms (Bash, CMD, PowerShell)
- GitHub Actions workflow for automated Docker Hub publishing
- Secure non-root container execution
- Read-only volume mounts by default
The setup process is now simplified to:
1. Run setup-docker-env script to generate .env and Claude config
2. Build the Docker image
3. Copy generated config to Claude Desktop
No Python installation or virtual environment management required.
Fixes#3
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove Codecov coverage upload causing rate limit errors
- Remove pytest-cov dependency (not needed for CI)
- Simplify test workflow to focus on functionality
- All 37 tests still pass without coverage collection
- Workflow now more reliable and faster
🔧 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix invalid secrets reference in job-level if condition
- Add proper API key availability check with conditional steps
- Gracefully handle missing GEMINI_API_KEY secret
- Live tests now skip cleanly when no API key is configured
🔧 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major improvements to thinking capabilities and API integration:
- Remove all output token limits for future-proof responses
- Add 5-level thinking mode system: minimal, low, medium, high, max
- Migrate from google-generativeai to google-genai library
- Implement native thinkingBudget support for Gemini 2.5 Pro
- Set medium thinking as default for all tools, max for think_deeper
🧠 Thinking Modes:
- minimal (128 tokens) - simple tasks
- low (2048 tokens) - basic reasoning
- medium (8192 tokens) - default for most tools
- high (16384 tokens) - complex analysis
- max (32768 tokens) - default for think_deeper
🔧 Technical Changes:
- Complete migration to google-genai>=1.19.0
- Remove google-generativeai dependency
- Add ThinkingConfig with thinking_budget parameter
- Update all tools to support thinking_mode parameter
- Comprehensive test suite with 37 passing unit tests
- CI-friendly testing (no API key required for unit tests)
- Live integration tests for API verification
🧪 Testing & CI:
- Add GitHub Actions workflow with multi-Python support
- Unit tests use mocks, no API key required
- Live integration tests optional with API key
- Contributing guide with development setup
- All tests pass without external dependencies
🐛 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
BREAKING CHANGE: Python 3.8 and 3.9 are no longer supported
- MCP package requires Python >=3.10 (all versions from 0.9.1 to 1.9.3)
- Update setup.py to require Python >=3.10
- Update GitHub Actions to only test Python 3.10, 3.11, and 3.12
- Update README.md with correct Python version requirement
- Remove typing-extensions dependency (not needed for Python 3.10+)
- Remove Python 3.8/3.9 from classifiers
This resolves all GitHub Actions failures for Python 3.8/3.9 tests.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix incorrect os.sys.version_info to sys.version_info
- Add missing sys import
- Update setup.py version to match __version__
- Fix author name consistency (Fahad Gilani)
- Add typing-extensions for Python <3.10 compatibility
- Apply black formatting to fix whitespace issues
- Add debug workflow to help diagnose CI failures
This should resolve the failing tests on Python 3.8 and 3.9.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add proper cross-platform path handling with Path.resolve()
- Fix file encoding issues by explicitly using UTF-8
- Correct mock paths to use google.generativeai instead of gemini_server.genai
- Create setup.py for proper package installation in CI
- Add conftest.py with Windows asyncio compatibility
- Update CI workflow to install package with pip install -e .
- Add import tests to verify package installation
- Set PYTHONPATH in test environment
- Simplify import mechanism in tests
These changes ensure tests pass consistently across Windows, Ubuntu, and macOS platforms.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added professional testing infrastructure:
Unit Tests:
- Comprehensive test suite covering all major functionality
- Tests for models, file operations, tool handlers, and error cases
- Async test support for MCP handlers
- Mocking for external API calls
- 84% code coverage achieved
CI/CD Pipeline:
- GitHub Actions workflow for automated testing
- Matrix testing across Python 3.8-3.12
- Cross-platform testing (Ubuntu, macOS, Windows)
- Automated linting with flake8, black, isort, and mypy
- Code coverage reporting with 80% minimum threshold
Configuration:
- pytest.ini with proper test discovery and coverage settings
- .coveragerc for coverage configuration
- Updated .gitignore for test artifacts
- Development dependencies in requirements.txt
Documentation:
- Added testing section to README
- Instructions for running tests locally
- Contributing guidelines with test requirements
This ensures code quality and reliability for all contributions.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>