Skip to content

Conversation

@cveticm
Copy link
Collaborator

@cveticm cveticm commented Sep 16, 2025

Proposed changes

Fixes #556

On Gemini CLI, tool atlas-create-dbusers would be skipped due to missing types in paramter schema.
This seems to be caused by setting password as both optional and nullable.
I have replaced this with nullish (both optional and nullable).
This resolves the issue.

before fix:
image

after fix:
image

Checklist

@cveticm cveticm marked this pull request as ready for review September 16, 2025 10:25
@cveticm cveticm requested a review from a team as a code owner September 16, 2025 10:25
Copilot AI review requested due to automatic review settings September 16, 2025 10:25
Copy link
Contributor

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

Fixes an issue where the atlas-create-dbusers tool was being skipped due to missing types in parameter schema by replacing separate .optional() and .nullable() chaining with the combined .nullish() method for the password field.

  • Replaces chained .optional().nullable() with .nullish() for the password field in DBUser creation schema
  • Resolves parameter schema validation issues that prevented the tool from being recognized by Gemini CLI

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Copy link
Collaborator

@himanshusinghs himanshusinghs left a comment

Choose a reason for hiding this comment

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

Good catch 🚀 @nirinchev should we pull this for 1.0.0?

@nirinchev
Copy link
Collaborator

Can we test the impact of this change with several agents - notably, we want to ensure the agent doesn't generate a password unless explicitly prompted for it. Otherwise, happy to pull it in.

@cveticm
Copy link
Collaborator Author

cveticm commented Sep 16, 2025

Can we test the impact of this change with several agents - notably, we want to ensure the agent doesn't generate a password unless explicitly prompted for it. Otherwise, happy to pull it in.

@nirinchev Tested with copilot agents GPT, grok, Claude and gemini. All exclude password or provide null value if not explicitly prompted to include password. Additionally, user provided password is used when prompted. ie, behaviour remains the same.
Let me know if there is additional agents you'd like me to test with

@gagik
Copy link
Collaborator

gagik commented Sep 16, 2025

Tested with copilot agents GPT, grok, Claude and gemini

If this was only in VSCode/Copilot might also be worth verifying in a different agent (i.e. Claude Desktop or Cursor) and not model just to make sure they interpret JSON schema correctly as well

@cveticm cveticm merged commit bb28bd6 into main Sep 16, 2025
22 checks passed
@cveticm cveticm deleted the mc/dbuser_shape_fix branch September 16, 2025 11:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: 'atlas-create-db-user' from MCP server has missing types in its parameter schema

5 participants