- Add step 2 for cloning the repository with clear examples
- Provide separate macOS/Linux and Windows path examples
- Add explicit instructions to replace YOUR_USERNAME
- Include note about Windows double backslashes
- Make instructions crystal clear for new users
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Makes it clearer that this server is specifically designed for Claude Code users
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update version from 2.4.0 to 2.4.1
- Update date to 2025-06-09
- Update tests to match new version
This release fixes the output token truncation issue (#1)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add MAX_OUTPUT_TOKENS constant set to 32,768 (Gemini 2.5 Pro's limit)
- Update all tools and chat handler to use MAX_OUTPUT_TOKENS
- Add comprehensive tests for output token configuration
- Update README with configuration details and system prompt docs
This fixes the issue where Gemini responses were being cut off at 8192 tokens,
causing Claude to repeatedly ask for the same analysis.
Fixes#1🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add a dedicated section to the review_code tool output that provides Claude
with contextual analysis and implementation recommendations. This helps Claude
prioritize fixes based on feasibility and project context.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Updated the configuration to use run_gemini.sh (macOS/Linux) or
run_gemini.bat (Windows) instead of directly calling Python.
The shell scripts properly:
- Set up the virtual environment
- Handle Python path resolution
- Run gemini_server.py (not server.py)
This ensures the server runs with the correct dependencies.
Added emphasis on Gemini 2.5 Pro's massive context window:
- 1 million token capacity
- Can analyze entire codebases at once
- Read hundreds of files simultaneously
- Provides comprehensive insights across large projects
This key differentiator shows why Gemini complements Claude so well
for large-scale code analysis and reviews.
Updated descriptions to emphasize that:
- Gemini provides a "second opinion" to augment Claude's extended thinking
- Claude has its own extended thinking capabilities
- Gemini complements rather than replaces Claude's analysis
- Added "edge cases Claude might miss" to show collaborative value
This makes it clear that both AIs can do deep thinking, but together
they provide more comprehensive analysis through different perspectives.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Updated the API key section to mention:
- Free tier has limited access to latest models
- Paid API key recommended for best results with Gemini 2.5 Pro
This sets proper expectations about model availability and performance.
Cleaned up all collaborative examples:
- Removed sequential steps ("Step 1", "Step 2", etc.)
- Removed example labels ("Example 1 - ", etc.)
- Made each example a single, complete prompt showing full collaboration
- These are now natural prompts users can copy/paste to Claude Code
Each prompt now clearly shows the complete flow:
1. Claude does initial work
2. Shares with Gemini for review/extension
3. Incorporates Gemini's feedback
4. Presents final result to user
The examples are now clean, concise, and immediately usable.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Restructured all collaborative examples to show they are prompts users send to Claude Code:
1. Removed confusing "[You do X]" placeholders
2. Added clear "Step 1:", "Step 2:" labels or "# First prompt:", "# Then:" comments
3. Shows these are sequential prompts users copy/paste to Claude Code
4. Made it clear Claude Code does the work, not the user
The flow is now obvious:
- User sends prompt 1 to Claude Code
- Claude Code responds
- User sends prompt 2 asking Claude Code to share with Gemini
- Continue the collaboration
This eliminates confusion about who is doing what and makes the examples immediately usable.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Fixed all collaborative examples to show proper flow:
- User is talking TO Claude (not about Claude)
- Changed "Claude helped me" → proper instructions
- Changed "I've implemented" → "Implement X" [You implement]
- Workflows now show: User → Claude → Gemini → Claude
The perspective is now consistent:
1. User instructs Claude to do something
2. [You do it] - Claude performs the task
3. User instructs Claude to share with Gemini
4. [Gemini responds]
5. User instructs Claude to act on feedback
This makes the collaboration pattern clear and avoids confusion
about who is doing what in the conversation.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major improvements:
1. Added Claude + Gemini collaborative examples to each tool section
2. Removed entire Real-World Examples section (too verbose)
3. Simplified Power User Workflows to 4 clear patterns:
- Design → Review → Implement
- Code → Review → Fix → Verify
- Debug → Analyze → Solution
- Iterative Improvement
4. All examples now show Claude doing initial work, then Gemini reviewing/extending
The documentation is now:
- More focused on practical prompt examples
- Shows clear collaboration patterns
- Less verbose, more to-the-point
- Emphasizes the Claude + Gemini partnership
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major enhancements to all tool example prompts:
1. Added "gemini" to ALL prompts (users are asking Claude to use Gemini)
2. Structured examples progressively: Basic → Advanced → Real-world
3. Added parameter usage examples for each tool:
- think_deeper: focus_areas, reference_files, problem_context
- review_code: review_type, focus_on, standards, severity_filter
- debug_issue: error_context, relevant_files, runtime_info
- analyze: analysis_type, output_format, multiple files
- chat: context_files, temperature
4. Added detailed sections for each tool showing:
- Basic usage patterns
- Parameter-specific examples
- Advanced multi-parameter scenarios
- Real-world use cases
5. Improved Real-World Examples with more detail
6. Added 5 comprehensive Power User Workflows
7. Made Context Awareness examples use proper gemini prompts
All examples now clearly demonstrate how to use each tool effectively
with proper parameters and realistic scenarios.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added numbers (1-7) to all tool section headers
- Updated anchor links in Quick Overview to match numbered headers
- Creates clear visual hierarchy showing these are the 7 main tools
- Professional numbering system matches the overview list
This makes it immediately clear which sections describe tools vs other content.
- Added 'Quick Overview' section listing all 7 tools
- Each tool in the list links to its detailed section via hash anchors
- Fixed heading levels for list_models and get_version (### instead of ####)
- Makes it easy to see all available tools at a glance and navigate to details
This improves documentation navigation and helps users quickly understand what tools are available.
- Removed '(Optional)' - this is essential for Claude Code users
- Corrected command to: claude mcp add-from-claude-desktop -s user
- Changed heading to 'Connect to Claude Code' to emphasize importance
This is the primary way users will interact with the MCP server via terminal.
Added back the crucial npx command for connecting MCP servers from Claude Desktop to Claude Code:
npx @anthropic-ai/claude-code mcp add-from-claude-desktop
This step is essential for users who want to use the Gemini MCP server in Claude Code after configuring it in Claude Desktop.
- Remove all emojis from section headings for cleaner appearance
- Remove Architecture section as requested
- Keep review category emojis (🔴🟠🟡🟢) in examples as they add value
Applied isort to properly sort all imports according to PEP8:
- Standard library imports first
- Third-party imports second
- Local imports last
- Alphabetical ordering within each group
All tests still passing after import reordering.
Major redesign of Gemini MCP Server with modular architecture:
- Removed all emoji characters from tool outputs for clean terminal display
- Kept review category emojis (🔴🟠🟡🟢) per user preference
- Added 4 specialized tools:
- think_deeper: Extended reasoning and problem-solving (temp 0.7)
- review_code: Professional code review with severity levels (temp 0.2)
- debug_issue: Root cause analysis and debugging (temp 0.2)
- analyze: General-purpose file analysis (temp 0.2)
- Modular architecture with base tool class and Pydantic models
- Verbose tool descriptions with natural language triggers
- Updated README with comprehensive examples and real-world use cases
- All 25 tests passing, type checking clean, critical linting clean
BREAKING CHANGE: Removed analyze_code tool in favor of specialized tools
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added analyze_file tool for clean file analysis
- Added extended_think tool for collaborative thinking
- Significant new functionality warrants minor version bump
New tools:
- analyze_file: Clean file analysis without terminal clutter
- Always uses file paths, never shows content in terminal
- Server reads files directly and sends to Gemini
- Replaces analyze_code for file analysis use cases
- extended_think: Deep collaborative thinking with Claude
- Takes Claude's analysis/thoughts as input for deeper exploration
- Supports optional file context and focus areas
- Higher temperature (0.7) for creative problem-solving
- Designed for validating and extending Claude's analysis
Improvements:
- Added specialized system prompt for extended thinking
- Updated documentation with examples and workflows
- Added comprehensive tests for new tools
- Kept analyze_code for backward compatibility
This enables Claude and Gemini to work as true development partners,
with Claude doing primary analysis and Gemini providing validation,
alternative perspectives, and extended context processing.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add section showing good vs bad prompts for file analysis
- Include pro tips in quickstart and practical usage sections
- Explain how mentioning "files parameter" keeps terminal clean
- Add multiple examples of proper prompt phrasing
This helps users understand how to analyze files without cluttering
their terminal with full file contents.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update tool description to recommend file paths for large content
- Add note in README about terminal output behavior
- Explain that MCP client shows full parameters in terminal
- Guide users to save large content to files first
This helps users avoid terminal clutter when analyzing large code snippets.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Replace verbose file content display with brief summary
- Show only "Analyzing N file(s)" and first 20 chars of direct code
- Full content still sent to Gemini for analysis
- Improves terminal readability for large code submissions
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove all emoji characters from output strings for better compatibility
- Update all tests to match non-emoji output
- Apply black formatting to all Python files
- Ensure all tests pass and linting succeeds
- Remove htmlcov directory (already in .gitignore)
This change improves cross-platform compatibility and ensures
consistent code formatting across the project.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add type annotation for server variable
- Fix handling of optional parameters in chat and analyze_code handlers
- Rename request variable to request_analysis to avoid type confusion
- Fix model listing to handle missing attributes safely
- Remove emoji icons from README section headers
- Fix flake8 formatting issues (whitespace, line length)
All tests passing, mypy and flake8 checks now pass in CI.
🤖 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 version metadata (__version__, __updated__, __author__)
- Create get_version tool that returns server information
- Include Python version, start time, and configuration details
- Add comprehensive tests for version functionality
- Update existing tests to handle new tool count
Now you can check the server version from Claude by asking:
"Can you get the version of the Gemini MCP server?"
Version: 2.2.0
Updated: 2025-06-08
Author: Fahad Gilani
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Apply black formatting for consistent code style
- Fix line length issues for linting compliance
- All 26 tests passing with 85% coverage
- No unused functions or variables detected
- Code is clean and ready for production
Final validation complete - implementation is robust and follows best practices.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
BREAKING CHANGES:
- Remove verbose_output from tool schema (Claude Code can't accidentally use it)
- Always show minimal terminal output with file previews
- Improved file content formatting for Gemini with clear delimiters
Key improvements:
- Files formatted as "--- BEGIN FILE: path --- content --- END FILE: path ---"
- Direct code formatted as "--- BEGIN DIRECT CODE --- code --- END DIRECT CODE ---"
- Terminal shows file paths, sizes, and small previews (not full content)
- Clear prompt structure for Gemini: USER REQUEST | CODE TO ANALYZE sections
- Prevents terminal hangs/glitches with large files in Claude Code
- All tests updated and passing
This ensures Claude Code stays responsive while Gemini gets properly formatted content.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Replace tuple[str, str] with Tuple[str, str] for Python 3.8 compatibility
- Remove unused imports (Union, NotificationOptions)
- Fix line length issues by breaking long lines
- Add verbose_output field to analyze_code tool schema
- Apply black and isort formatting
- All tests pass and linting issues resolved
This should fix the GitHub Actions failures on Python 3.8 and 3.9.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add verbose_output parameter (default: False) to CodeAnalysisRequest
- Modify prepare_code_context to return both full context and summary
- Show only file paths and sizes in terminal by default, not full content
- Full file content is still sent to Gemini for analysis
- Add comprehensive tests for verbose output functionality
This prevents terminal hangs when analyzing large files while still providing
Gemini with complete file contents for analysis.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add Prerequisites section for clearer setup requirements
- Add Linux support with configuration paths and examples
- Add chmod +x instruction for script execution permissions
- Add comprehensive Troubleshooting section for common issues
- Add How It Works section explaining the architecture
- Improve run_gemini.sh to handle virtual environment gracefully
- Add absolute path examples for all operating systems
- Clarify error handling for Google safety filters
🤖 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>
- Add explicit step to clone the repository first
- Include instructions for accessing config via Claude Desktop UI
- Clarify that users must replace placeholder paths with actual paths
- Add note to remember the cloned directory path
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Replaced generic examples with Claude-driven workflows
- Added examples showing Claude's extended thinking validated by Gemini
- Emphasized the feedback loop: Claude designs → Gemini validates → Claude refines
- Added real-world example flow for microservices architecture
- Updated best practices to position Claude as the primary thinker
- Made it clear that Gemini is for validation, edge cases, and extended context
This better reflects the intended usage pattern where Claude Code does the
heavy lifting and Gemini provides additional validation and context.
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>
- Added comprehensive usage tips section to README
- Effective command examples
- Common workflows for Claude Code users
- Best practices for combining Claude and Gemini
- Specific examples for different use cases
- Removed all test files (test_*.py) that were only for development
- test_server.py
- test_enhanced.py
- test_developer_context.py
- test_optimized.py
The repository now contains only the essential files needed for users
to run the Gemini MCP server with Claude Code.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added run_gemini.sh for macOS/Linux
- Added run_gemini.bat for Windows
- Scripts handle virtual environment activation automatically
- Updated README and config examples to use the simpler command
- No need to specify Python path or script arguments anymore
This makes the setup much cleaner and less error-prone for users.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added the command to sync MCP servers from Claude Desktop to Claude Code:
claude mcp add-from-claude-desktop -s user
This makes the setup process clearer for Claude Code users.
Major enhancements for Claude Code integration:
Temperature Optimization:
- Chat: 0.5 (balanced accuracy/creativity for development discussions)
- Code Analysis: 0.2 (high precision for code reviews and debugging)
Enhanced Developer Context:
- Rewritten system prompt focusing on Claude Code augmentation
- Emphasizes precision, best practices, and actionable solutions
- Positions Gemini as an extension for large context tasks
Claude Code-Centric Documentation:
- README completely rewritten for Claude Code users
- Clear configuration instructions with file paths
- Practical examples for common development scenarios
- Quick start guide with natural language usage
Key improvements:
- Lower temperatures for more accurate, deterministic responses
- Developer-first approach in all interactions
- Clear positioning as Claude's extended context handler
- Comprehensive setup guide for Claude Desktop integration
The server is now fully optimized to act as a specialized developer
assistant that seamlessly extends Claude Code's capabilities.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
When using the Gemini MCP server from Claude Code, it now automatically
injects a developer-focused system prompt similar to Claude Code's own
behavior. This ensures Gemini responds with the same developer mindset:
- Expert software development knowledge
- Clean code practices
- Debugging and problem-solving focus
- Clear technical explanations
- Architecture and design understanding
- Performance optimization expertise
The system prompt is automatically applied when no custom system prompt
is provided, making the integration seamless for Claude Code users.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changes:
- Restored Gemini 2.5 Pro Preview as the default model
- Removed hardcoded paths from claude_config_example.json
- Added MCP_DISCOVERY.md explaining how Claude discovers MCP servers
- Updated README with natural language usage examples
The server now defaults to the most capable Gemini 2.5 Pro Preview model
as requested, and all paths are now relative for better portability.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major improvements:
- Default model set to Gemini 1.5 Pro (more reliable than 2.5 Preview)
- Added analyze_code tool for processing large files and codebases
- Support for 1M token context window
- File reading capabilities for automatic code ingestion
- Enhanced documentation with usage examples
- Added USAGE.md guide for Claude Code users
Changes:
- Updated default model configuration with fallback note
- Increased default max_tokens to 8192 for better responses
- Added CodeAnalysisRequest model for structured code analysis
- Implemented file reading with proper error handling
- Added token estimation (~4 chars per token)
- Created comprehensive test suite for new features
This update makes the server ideal for handling large files that exceed
Claude's token limits, enabling seamless handoff to Gemini for extended
analysis and thinking.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>