-
Notifications
You must be signed in to change notification settings - Fork 1.1k
fix(mcp): Update --only behavior to bypass availability checks #9713
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Summary of ChangesHello @schnecle, 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 enhances the Model Context Protocol (MCP) system by refining how feature and tool availability is determined, especially when users explicitly specify features or tools via command-line flags. The primary goal is to ensure that when Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe 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 by creating a comment using either
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 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. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. 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
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request updates the behavior of the --only and --tools flags to bypass availability checks, which is a great improvement for users with non-standard project structures. The changes are well-implemented across availableTools and availablePrompts, correctly prioritizing explicitly specified features over auto-detected ones and skipping the availability checks in those cases. I particularly appreciate the refactoring in prompt.ts and tool.ts to lazily resolve the availability check functions, which enhances testability. The accompanying unit tests are thorough, with new tests added to cover the new logic, ensuring the changes are robust. Overall, this is a high-quality contribution.
f5c9527 to
3b08248
Compare
joehan
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Can you also add a changelog entry like:
- Fixes an issue where the
--onlyflag was not always respected forfirebase mcp
3b08248 to
60c3833
Compare
Description
Updates the behavior of --only and --tools flags to bypass availability checks.
Why make this change?
When attempting to reproduce behavior for #9663, I noticed that --only was not working for Crashlytics in directories that have non-standard dependency management because it was still executing an availability check. This availability check looks for a dependency on Crashlytics for apps that use gradle, swift package manager, pod, carthage, and flutter's standard pubspec.yaml file.
We direct customers to use the --only flag if they do not fall into one of the supported categories above for Crashlytics MCP.
Scenarios Tested
Sample Commands
gemininpx @modelcontextprotocol/inspector firebase mcp --only crashlytics