- Emphasize that setup-docker-env scripts automatically build Docker image
- Clarify that $GEMINI_API_KEY from environment is automatically used
- Remove manual 'docker build' step from instructions
- Add clear 'To update' instructions - just run setup script again
- Update 'Why Docker' section to reflect easy updates
This makes it clearer that Docker setup is fully automated and users
don't need to run any Docker commands manually. The setup scripts
handle everything including building, cleaning old images, and
configuring the environment.
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Add use_websearch parameter to base ToolRequest class
- All tools now inherit web search capability automatically
- Enhanced description emphasizes brainstorming and architectural design
- Add get_websearch_instruction() helper method to base class
- Update all tools to include web search in their prompts when enabled
- Update README documentation with web search examples
- Fix linting issues (ruff, black formatting)
Web search is particularly useful for:
- Brainstorming sessions and architectural design discussions
- Exploring industry best practices
- Working with specific frameworks/technologies
- Researching solutions to complex problems
- Getting current documentation and community insights
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
Updated thinking modes section to emphasize that:
- Claude automatically selects appropriate thinking modes based on task complexity
- Manual override is available but not required in most cases
- Auto-managed mode is recommended for optimal cost/quality balance
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fixed review_changes tool to properly translate host paths to container paths in Docker
- Prevents "No such file or directory" errors when running in Docker containers
- Added proper error handling with clear messages when paths are inaccessible
refactor: Centralized token limit validation across all tools
- Added _validate_token_limit method to BaseTool to eliminate code duplication
- Reduced ~25 lines of duplicated code across 5 tools (analyze, chat, debug_issue, review_code, think_deeper)
- Maintains exact same error messages and behavior
feat: Enhanced large prompt handling
- Added support for prompts >50K chars by requesting file-based input
- Preserves MCP's ~25K token capacity for responses
- All tools now check prompt size before processing
test: Added comprehensive Docker path integration tests
- Tests for path translation, security validation, and error handling
- Tests for review_changes tool specifically with Docker paths
- Fixed failing think_deeper test (updated default from "max" to "high")
chore: Code quality improvements
- Applied black formatting across all files
- Fixed import sorting with isort
- All tests passing (96 tests)
- Standardized error handling follows MCP TextContent format
The changes ensure consistent behavior across all environments while reducing code duplication and improving maintainability.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
More accurate label that clearly shows this is the actual prompt
that produced the results shown in the image.
Co-Authored-By: Claude <noreply@anthropic.com>
- Move example workflow image to Why This Server section
- Condense File & Directory Support into single bullet point
- Remove duplicate image/prompt from think_deeper section
This creates a cleaner, more compelling introduction that showcases
real usage before diving into setup details.
Co-Authored-By: Claude <noreply@anthropic.com>
Focus on using the setup scripts which already generate the exact
Claude Desktop configuration needed. This makes the setup process
much more straightforward.
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>
- Add Python version validation in setup.sh and setup.bat
- Require Python 3.10 or higher (needed by mcp package)
- Provide clear error messages with upgrade instructions
- Update README prerequisites and troubleshooting sections
This prevents confusing dependency errors when users have older Python versions.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add setup.sh for macOS/Linux with dependency installation
- Add setup.bat for Windows with dependency installation
- Update README with clearer setup instructions in Quickstart
- Add troubleshooting for "ModuleNotFoundError: No module named 'mcp'"
- Provide manual installation steps as fallback
This helps users avoid the common "ModuleNotFoundError" by ensuring
dependencies are properly installed before first use.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Document that default access is to home directory
- Explain how to restrict access using MCP_PROJECT_ROOT
- Remove API key warning as requested (applies to all MCP servers)
This helps users understand the security model and how to configure
it for their specific needs.
- When started from Claude Desktop, working directory might be "/"
- Now defaults to user home directory if cwd is "/"
- Startup scripts change to script directory for consistency
- Simplified README to remove implementation details about PROJECT_ROOT
This fixes the "MCP_PROJECT_ROOT cannot be set to '/'" error
while maintaining security by preventing filesystem-wide access.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add alternative instructions for configuring Claude Desktop
through the UI (Settings → Developer → Edit Config) which
is more user-friendly than manually finding the config file.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
The anchor link was using incorrect format. GitHub converts:
"Thinking Modes - Managing Token Costs & Quality"
to: #thinking-modes---managing-token-costs--quality
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add cost-focused headings to emphasize token management
- Include token cost multipliers in thinking modes table
- Add practical examples for each tool showing how to save tokens
- Provide specific token savings (e.g., "saves ~8k tokens")
- Guide users on when higher token costs are justified
- Remove recently added emoji indicators per request
This helps users make informed decisions about balancing response
quality with API costs across all tools.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major improvements for Windows users:
- Add detailed Windows Setup Guide with native and WSL options
- Create platform-specific example configurations (Windows/WSL/macOS)
- Add troubleshooting section addressing common Windows/WSL errors
- Create test_wsl_setup.bat diagnostic script for Windows users
Script improvements:
- Enhance run_gemini.bat with error handling and helpful messages
- Update both run scripts to use server.py as main entry point
- Keep gemini_server.py as backward compatibility wrapper
Documentation:
- Add clear instructions for both native Windows and WSL setups
- Explain the wsl.exe bridge approach for WSL users
- Include performance recommendations for WSL file access
- Add specific troubleshooting for spawn ENOENT errors
All tests passing, code properly formatted and linted.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major changes:
- Add comprehensive documentation to all modules with detailed docstrings
- Remove unused THINKING_MODEL config (use single GEMINI_MODEL with thinking_mode param)
- Remove list_models functionality (simplified to single model configuration)
- Rename DEFAULT_MODEL to GEMINI_MODEL for clarity
- Remove unused python-dotenv dependency
- Fix missing pydantic in setup.py dependencies
Documentation improvements:
- Document security measures in file_utils.py (path validation, sandboxing)
- Add detailed comments to critical logic sections
- Document tool creation process in BaseTool
- Explain configuration values and their impact
- Add comprehensive function-level documentation
Code quality:
- Apply black formatting to all files
- Fix all ruff linting issues
- Update tests to match refactored code
- All 63 tests passing
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Renamed tool from review_pending_changes to review_changes for brevity
- Enhanced tool descriptions for better MCP auto-discovery
- Updated all references throughout codebase including:
- Tool implementation (tools/review_changes.py)
- Test files (tests/test_review_changes.py)
- Server registration and imports
- Documentation in README.md
- Tool prompts in prompts/tool_prompts.py
- Enhanced review_changes description to emphasize pre-commit usage
- All tests pass, linting and formatting checks pass
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Move chat to position #1 as the most general and approachable tool
- Reorder all tool sections accordingly
- Update all anchor links and cross-references
- Update 'Why This Server' section to prioritize chat
- Better flow from general (chat) to specialized tools
- Add cool tagline emphasizing Claude + Gemini partnership
- Update acknowledgments section with proper credits for both AI systems
- Add inspiring message about combining their strengths
- Make the collaborative nature of the tool more prominent
- Added compelling highlight for the review_pending_changes tool
- Emphasizes deep analysis, edge case detection, and requirements validation
- Fixed anchor links for all tools to match correct section numbers
- Positions the tool as valuable for catching subtle bugs Claude might miss
- Add new review_pending_changes tool for comprehensive pre-commit reviews
- Implement filesystem sandboxing with MCP_PROJECT_ROOT
- Enforce absolute paths for all file/directory operations
- Add comprehensive git utilities for repository management
- Update all tools to use centralized path validation
- Add extensive test coverage for new features and security model
- Update documentation with new tool and path requirements
- Remove obsolete demo and guide files
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add collaboration demo showing dynamic context requests
- Implement chat tool for general conversations and brainstorming
- Add tool selection guide with clear boundaries
- Introduce models configuration system
- Update prompts for better tool descriptions
- Refactor server to remove redundant functionality
- Add comprehensive tests for collaboration features
- Enhance base tool with collaborative features
This enables Claude to request additional context from Gemini
during tool execution, improving analysis quality and accuracy.
🤖 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>
- Convert tool names to clickable links that jump to relevant sections
- Makes it easier for users to navigate directly to tool documentation
- Improves README navigation and user experience
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add tool names in parentheses for each capability in "Why This Server?" section
- Expand "Start Using It\!" section to show all tools with arrow indicators
- Include examples for collaborative thinking (chat tool)
- Make it clearer which tool handles each type of request
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update chat tool description to emphasize collaborative thinking capabilities
- Add explicit triggers for brainstorming and sharing ideas with Gemini
- Enhance prompt parameter description to include "current thinking"
- Update README to highlight chat as a thinking partner
- Update MCP_DISCOVERY.md with current tool names and enhanced examples
- Bump version to 2.5.0
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add key capability highlight in the intro about reading files/directories
- Move File & Directory Support section up before Quickstart
- Remove duplicate Directory Support Features section from tool parameters
- Make the file handling capability more prominent as it's a core feature
This better communicates the server's primary strength of passing entire
codebases to Gemini for comprehensive analysis.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Change `relevant_files` to `files` in debug_issue tool
- Change `reference_files` to `files` in think_deeper tool
- Now all tools consistently use `files` parameter name
- Fix cross-platform test for Windows path separators
- Update README to reflect consistent parameter naming
This improves API consistency and reduces confusion when using different tools.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Make documentation timeless by removing 'now' from feature description
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major improvements to file handling capabilities:
- Add directory traversal support to all file-processing tools
- Tools now accept both individual files and entire directories
- Automatically expand directories and discover code files recursively
- Smart filtering: skip hidden files, __pycache__, and non-code files
- Progressive token loading: read as many files as possible within limits
- Clear file separation markers with full paths for Gemini
Key changes:
- Rewrite file_utils.py with expand_paths() and improved read_files()
- Update all tool descriptions to indicate directory support
- Add comprehensive tests for directory handling and token limits
- Document tool parameters and examples in README
- Bump version to 2.4.2
All tools (analyze, review_code, debug_issue, think_deeper) now support:
- Single files: "analyze main.py"
- Directories: "review src/"
- Mixed paths: "analyze config.py, src/, tests/"
This enables analyzing entire projects or specific subsystems efficiently
while respecting token limits and providing clear file boundaries.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 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>
- 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>
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>