feature: add configuration option for shell of stdio client #977
+8
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds to
StdioClientTransport
ashell
configuration option whose type match thespawn
function parameter with the same name. The current value for this parameter is not configurable and always false. This default behavior is preserved.Making this option configurable enables spawning MCP clients with shell execution capabilities. This is particularly useful for command chaining without having to rely on workarounds like
/bin/sh -c 'cd myDirectory && npm run start'
.Motivation and Context
This change provides a clean, cross-platform way to enable shell execution by adding a shell parameter that accepts either a boolean (to use the default system shell) or a string (to specify a custom shell path).
For exemple, this current configuration:
can be replaced with:
which is cross-platform compatible
How Has This Been Tested?
No additional tests, the default behavior is preserved
Breaking Changes
No breaking changes. The shell parameter is optional and defaults to false, maintaining backward compatibility with existing implementations.
Types of changes
Checklist