-
Notifications
You must be signed in to change notification settings - Fork 1
release: 0.1.0 #25
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
base: main
Are you sure you want to change the base?
release: 0.1.0 #25
Conversation
|
🧪 Testing To try out this version of the SDK, run: Expires at: Sat, 17 Jan 2026 21:00:33 GMT |
c3cbf25 to
88501c8
Compare
88501c8 to
1aac9a9
Compare
1aac9a9 to
af44ae8
Compare
This removes all tool schemes except for "code mode" tools. Specifically, this removes "all tools" and "dynamic tools" schemes. Additionally, this removes support for resource filtering, tags, jq filtering, and compatibility controls in MCP servers, as they are no longer necessary when using code mode. # Migration To migrate, simply modify the command used to invoke the MCP server. Currently, the only supported tool scheme is code mode. Now, starting the server with just `node /path/to/mcp/server` or `npx package-name` will invoke code tools: changing your command to one of these is likely all you will need to do. Specifically, you must remove all flags including things like --resources, --tags, --client, --tools=dynamic, etc from your invocation command. The only supported flags are now `--port`, `--transport`, `--socket`, and `--tools=docs` (specifically for "docs"). These are also the only options available for http servers. migration-effort: small
af44ae8 to
9232add
Compare
|
|
||
| switch (options.transport) { | ||
| case 'stdio': | ||
| await launchStdioServer(options); | ||
| await launchStdioServer(); | ||
| break; | ||
| case 'http': | ||
| await launchStreamableHTTPServer(options, options.port ?? options.socket); |
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.
Bug: The stdio server transport silently ignores CLI options for tool selection because the options object is not passed to launchStdioServer, causing default tools to always be enabled.
Severity: HIGH | Confidence: High
🔍 Detailed Analysis
When the server is launched in stdio mode, command-line options for tool selection (like --no-tools docs) are ignored. This happens because launchStdioServer() is called without the options argument from index.ts. Consequently, inside initMcpServer, selectTools is called with undefined, and its options?.includeDocsTools ?? true logic defaults to true, always enabling the docsSearchTool. This creates a discrepancy where the tools logged at startup don't match the tools actually available to the server, which could confuse users.
💡 Suggested Fix
Pass the options object to launchStdioServer in index.ts. Update the launchStdioServer function signature in stdio.ts to accept options?: McpOptions. Then, pass these options when calling initMcpServer within launchStdioServer: initMcpServer({ server, mcpOptions: options }).
🤖 Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.
Location: packages/mcp-server/src/index.ts#L18-L24
Potential issue: When the server is launched in `stdio` mode, command-line options for
tool selection (like `--no-tools docs`) are ignored. This happens because
`launchStdioServer()` is called without the `options` argument from `index.ts`.
Consequently, inside `initMcpServer`, `selectTools` is called with `undefined`, and its
`options?.includeDocsTools ?? true` logic defaults to `true`, always enabling the
`docsSearchTool`. This creates a discrepancy where the tools logged at startup don't
match the tools actually available to the server, which could confuse users.
Did we get this right? 👍 / 👎 to inform future reviews.
Reference ID: 7727890
Automated Release PR
0.1.0 (2025-12-18)
Full Changelog: v0.0.20...v0.1.0
⚠ BREAKING CHANGES
node /path/to/mcp/serverornpx package-namewill invoke code tools: changing your command to one of these is likely all you will need to do.Features
Bug Fixes
Chores
This pull request is managed by Stainless's GitHub App.
The semver version number is based on included commit messages. Alternatively, you can manually set the version number in the title of this pull request.
For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request.
🔗 Stainless website
📚 Read the docs
🙋 Reach out for help or questions