Commit Graph

13 Commits

Author SHA1 Message Date
Patryk Ciechanski
c0ea0e501b feat: Add automatic semantic versioning workflow
- 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>
2025-06-12 08:55:17 +02:00
Patryk Ciechanski
952498a893 up workflow 2025-06-11 13:27:17 +02:00
Patryk Ciechanski
4c15d2ac7b addinte templates and user guide 2025-06-11 13:04:30 +02:00
Fahad
0d56f6d66a chore: remove Docker publish GitHub Action
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>
2025-06-09 22:33:32 +04:00
Fahad
569692e82d fix: add repository check to Docker Hub login step
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>
2025-06-09 22:30:20 +04:00
Fahad
6b03088eee feat: add Docker support for cross-platform easy setup
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>
2025-06-09 22:25:06 +04:00
Fahad
b9e57aa3c4 fix: resolve GitHub Actions failures
- 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>
2025-06-09 09:41:30 +04:00
Fahad
78b8a93fe1 fix: correct GitHub Actions workflow syntax for secrets
- 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>
2025-06-09 09:39:42 +04:00
Fahad
fb5c04ea60 feat: implement comprehensive thinking modes and migrate to google-genai
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>
2025-06-09 09:35:21 +04:00
Fahad
fe1fb83ab5 fix: update Python version requirement to 3.10+
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>
2025-06-08 21:19:39 +04:00
Fahad
ead177fe8a fix: resolve Python 3.8/3.9 compatibility issues
- 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>
2025-06-08 21:11:58 +04:00
Fahad
1d217ca397 fix: resolve cross-platform test failures on Windows and Ubuntu
- 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>
2025-06-08 20:42:59 +04:00
Fahad
07fa02e46a test: Add comprehensive test suite with GitHub Actions CI
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>
2025-06-08 20:26:04 +04:00