feat(mcp): add streamable HTTP transport with integration test#177
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>
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
McpConfiguration) alongside the existing stdio transport, switchable viatransport.mode=streamable-httpMcpStreamableHttpITintegration test that starts the server via@SpringBootTeston a random port and exercises theuniqueness_checktool end-to-end over HTTP usingHttpClientStreamableHttpTransportintegration-tests.yml) that runsmvn verify -P integration-testsseparately from the main CI buildmvn installand only run when theintegration-testsMaven profile is activatedTest plan
mvn installpasses without running integration testsmvn verify -P integration-testsrunsMcpStreamableHttpITand both tests pass (nonUniqueColumnReturnsFalse,uniqueColumnReturnsTrue)MCP Integration Teststriggers on push🤖 Generated with Claude Code