feat(mcp): add streamable HTTP transport support#179
Merged
Conversation
Add configurable transport mode to the MCP server, supporting both stdio (default) and streamable-http transports. Refactor Main to resolve transport mode from --transport.mode= CLI arg, and extract shared tool registration into McpConfiguration.registerTools(). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…flow Add McpStreamableHttpIT that starts the MCP server via @SpringBootTest with streamable-http transport on a random port, creates an HttpClientStreamableHttpTransport client, and verifies the uniqueness_check tool returns correct results over HTTP. The test is excluded from mvn install and only runs when the integration-tests Maven profile is activated. A dedicated GitHub Actions workflow (.github/workflows/integration-tests.yml) runs mvn verify -P integration-tests on push and PRs. Also adds maven-failsafe-plugin to root pom pluginManagement. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace push/PR triggers with a scheduled cron trigger to reduce CI load and run integration tests once per day. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
NoMemoryUniquenessCheck.exec returned early on the non-unique path without closing the data source, leaking the open scanner/result set. Close it before returning, matching the successful-check path. Add a test that wraps the source in a close-tracking spy and asserts it is closed when a duplicate is detected. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Map.put must return the previous value for an existing key, or null for a new key. Both branches were incorrectly returning the new value. Also adds two parameterized tests covering both cases across all map implementations.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
OpenAddressingMap.putto return the previous value (or null) per theMapcontractNoMemoryUniquenessCheckto close the data source when a duplicate is foundTest plan
mvn testpasses locallyMcpStreamableHttpITcovers the new transport end-to-endMapTest— new parameterized testsputNewKeyReturnsNullandputExistingKeyReturnsPreviousValueverify theputcontract across all implementations🤖 Generated with Claude Code