fix: disable strict mode for MCP tools to preserve optional parameters #10220
+75
−20
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.
Summary
MCP tools (like Linear's MCP server) have optional parameters that were broken by OpenAI's strict mode which requires ALL properties to be in the
requiredarray.Changes
mcp--prefix (indicating MCP tool)strict: falsefor MCP toolsFiles Changed
src/api/providers/base-provider.ts-convertToolsForOpenAI()src/api/providers/openai-native.ts-buildRequestBody()Testing
Fixes ROO-241
Important
Disable strict mode for MCP tools by checking for
mcp--prefix, preserving optional parameters while maintaining strict mode for native tools.mcp--prefix inconvertToolsForOpenAI()inbase-provider.tsandbuildRequestBody()inopenai-native.ts.isMcpTool()function inmcp-name.tsto identify MCP tools by prefix.isMcpTool()inmcp-name.spec.ts.This description was created by
for 7b0985a. You can customize this summary. It will automatically update as commits are pushed.