Skip to content

Conversation

NextFire
Copy link

@NextFire NextFire commented Apr 21, 2025

Expose func_metadata's skip_names argument in the @tool decorator and move the if param.name in skip_names: check to the top.

Motivation and Context

It allows users to ignore specific parameters, such as optional ones and especially those starting with an underscore.

My use case was to programmatically wrap a generated SDK for Spotify (from openapi-generator-cli) into an MCP server. However, the client methods included optional arguments that started with an underscore, which led to InvalidSignature exceptions.

image

How Has This Been Tested?

https://github.com/NextFire/spotify-mcp-server/tree/with-pr-fix

image

Breaking Changes

No.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

@NextFire NextFire force-pushed the feat/expose-skip-names branch from b65ab81 to cb0293d Compare April 21, 2025 12:49
And move the `if param.name in skip_names:` check to the top

It allows users to ignore specific parameters, such as optional ones
and especially those starting with an underscore.
@NextFire NextFire force-pushed the feat/expose-skip-names branch from cb0293d to 4bfc5cb Compare May 12, 2025 09:07
Copy link

@mcp-shadow mcp-shadow bot left a comment

Choose a reason for hiding this comment

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

Thank you for your contribution. We're rejecting this PR because bypassing the underscore parameter validation would circumvent an intentional design decision in the SDK and is not backwards compatible.

Instead, we recommend creating wrapper functions that have clean parameter names and delegate to your Spotify SDK.

If you believe there's a broader need for this functionality beyond your specific use case, please open a discussion with additional examples and use cases for community feedback.

@mcp-shadow mcp-shadow bot closed this May 13, 2025
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.

1 participant