Skip to content

Conversation

@jamubc
Copy link
Owner

@jamubc jamubc commented Jul 22, 2025

Description

Major refactoring of gemini-mcp-tool to support faster updates in the future.

Added brainstorm tool to aid in Gemini supported development.

Added cache capabilities to support large Gemini responses.

Debugged and potentially solved MCP tool timeout issues with progress notifications.

Improved the documentation for daily usage.

The license change has restricted commercial usage, which does not affect personal usage.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update

Testing

  • I have tested these changes locally
  • I have updated the documentation if needed

This pull request introduces several updates across documentation, licensing, and the codebase, focusing on improving usability, compliance, and user experience. The most significant changes include updating and reformatting the documentation for clarity, consistency and usability and restricting commercial use.

Codebase Enhancements:

  • Added 'brainstorm' tool
  • Improved ask-gemini response pipeline
  • Enhanced context engineering and continuation techniques
  • Added notification streaming for tool start to tool completion to avoid MCP tool timeout
  • re-structured tools for improved separation of concerns
  • depreciated contribution related system for conciseness , will be re-engaged in the future.

Documentation Updates:

  • Simplified and reorganized the README.md file by removing redundant sections, adding a new "Prerequisites" section, and updating default model references. [1] [2] [3] [4]
  • Enhanced the VitePress configuration (docs/.vitepress/config.js) by adding Mermaid.js support, updating navigation, and removing unnecessary sidebar sections. [1] [2] [3] [4]
  • Updated the VitePress layout (docs/.vitepress/theme/Layout.vue) to include custom navigation titles, version badges, sidebar ads, and footer support sections.

Licensing Changes:

  • Updated the LICENSE file to clarify that the software is now for non-commercial use only. Additional instructions for obtaining commercial licenses will be public soon.
@jamubc jamubc self-assigned this Jul 22, 2025
@jamubc jamubc added documentation Improvements or additions to documentation major changes labels Jul 22, 2025
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary of Changes

Hello @jamubc, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a significant refactor and cleanup of the gemini-mcp-tool, aiming to improve its maintainability and prepare it for faster future updates. It enhances the core functionality by adding a new brainstorming tool, implementing robust caching for large Gemini responses, and addressing potential timeout issues with progress notifications. The documentation has also been thoroughly updated for clarity and usability, alongside a notable change in the project's licensing to restrict commercial use.

Highlights

  • Core Refactoring: The internal architecture of the gemini-mcp-tool has been substantially refactored for better separation of concerns, improving maintainability and extensibility. This includes a new unified tool registry and execution pipeline.
  • New Brainstorm Tool: A brainstorm tool has been added, designed to aid Gemini-supported development by generating ideas using various methodologies and context engineering.
  • Enhanced Response Pipeline & Caching: The ask-gemini response pipeline is improved with new caching capabilities to handle and chunk large Gemini responses, preventing timeouts and enabling continuation for multi-part outputs.
  • Improved Timeout Handling: Progress notifications are now streamed from tool start to completion, effectively debugging and potentially solving MCP tool timeout issues, especially during long-running operations.
  • Comprehensive Documentation Overhaul: The project's documentation has undergone a major update, including a reorganized README.md, enhanced VitePress configuration with Mermaid.js support, and new interactive components for troubleshooting and client setup.
  • License Change: The project's license has been updated to restrict commercial usage, clarifying that it is now for non-commercial use only, while personal usage remains unaffected.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments or fill out our survey to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

An impressive and substantial update! This pull request introduces a major refactoring that significantly improves the project's structure, maintainability, and documentation. The new unified tool registry is an excellent abstraction that will make adding new tools much easier. The implementation of progress notifications to prevent timeouts is a crucial feature enhancement that directly addresses a core issue.

My review focuses on a few areas for improvement:

  • Code Cleanup: Removing leftover development artifacts like console.log statements and dead code.
  • Robustness: Hardening some parts of the implementation, such as the ad banner configuration and the state management for progress updates.
  • Project Structure: Ensuring files are located in the correct directories for better organization.

Overall, this is a fantastic contribution that moves the project forward significantly. The changes are well-thought-out and executed. I'm looking forward to seeing this merged after addressing the minor points below.

@jamubc jamubc marked this pull request as ready for review July 22, 2025 21:16
Copilot AI review requested due to automatic review settings July 22, 2025 21:16

This comment was marked as outdated.

Repository owner deleted a comment from gemini-code-assist bot Jul 22, 2025
jamubc and others added 3 commits July 22, 2025 21:21
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@jamubc
Copy link
Owner Author

jamubc commented Jul 22, 2025

Small things to eventually clean up but testing has been conducted and passes.

@jamubc jamubc requested a review from Copilot July 22, 2025 21:28
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This is a comprehensive refactor of the gemini-mcp-tool project that modernizes the codebase architecture, adds new features like the brainstorm tool, implements caching capabilities, and restructures the documentation. The PR transitions from a monolithic approach to a modular system with unified tool registration while adding timeout prevention and enhanced change mode processing.

Key changes include:

  • Implemented unified tool registry system with automatic registration
  • Added brainstorm tool for AI-assisted ideation with multiple methodologies
  • Enhanced caching system for large responses with chunking capabilities
  • Added timeout prevention with progress notifications
  • Restructured documentation with VitePress enhancements

Reviewed Changes

Copilot reviewed 46 out of 68 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/index.ts Complete refactor to use unified tool registry, simplified from 1200+ lines to ~260 lines
src/tools/registry.ts New unified tool registration system with automatic schema validation
src/tools/brainstorm.tool.ts New brainstorm tool with methodology-driven ideation capabilities
src/utils/ New utility modules for logging, command execution, and Gemini CLI integration
src/constants.ts Centralized constants for error messages, models, and CLI flags
docs/ Enhanced documentation with interactive components and troubleshooting modals
Comments suppressed due to low confidence (3)

src/utils/logger.ts:10

  • The log() method uses console.warn instead of console.log, which is inconsistent with the method name and may confuse debugging
 console.warn(this.formatMessage(message), ...args); 

src/utils/logger.ts:22

  • The debug() method uses console.warn instead of console.debug or console.log, which is inconsistent with debugging conventions
 console.warn(this.formatMessage(message), ...args); 

src/tools/simple-tools.ts:25

  • [nitpick] The tool name 'Help' uses inconsistent capitalization compared to other tool names which use lowercase (e.g., 'ping')
export const helpTool: UnifiedTool = { 
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@jamubc jamubc merged commit 6bfb9bc into main Jul 22, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation major changes

2 participants