-
Notifications
You must be signed in to change notification settings - Fork 2k
feat(mcp): refactor MCP transport configuration to use dedicated starters #2190
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
Conversation
tzolov
commented
Feb 7, 2025
- Add dedicated spring-ai-starter-mcp-webmvc and spring-ai-starter-mcp-webflux starters
- Remove transport property-based configuration in favor of auto-configuration
- Update WebMvc/WebFlux configuration to use ConditionalOnMissingBean
…ters - Add dedicated spring-ai-starter-mcp-webmvc and spring-ai-starter-mcp-webflux starters - Remove transport property-based configuration in favor of auto-configuration - Update WebMvc/WebFlux configuration to use ConditionalOnMissingBean Signed-off-by: Christian Tzolov <[email protected]>
…modules - Separate MCP client and server auto-configurations into dedicated modules - Add support for both sync and async MCP clients - Add support for STDIO, WebMVC and WebFlux transports - Improve configuration properties organization and validation - Add proper lifecycle management and customization support - Add comprehensive JavaDoc documentation Signed-off-by: Christian Tzolov <[email protected]>
55b1281 to
13f4428
Compare
Signed-off-by: Christian Tzolov <[email protected]>
- Add test dependencies and comprehensive integration tests for McpClientAutoConfiguration - Reorganize code by moving properties and configurer classes into dedicated packages - Add root change notification property to common properties - Add extensive documentation for MCP client/server starters and common utilities - Improve code documentation with detailed Javadoc comments - Update navigation to include new MCP documentation sections Signed-off-by: Christian Tzolov <[email protected]>
Signed-off-by: Christian Tzolov <[email protected]>
2856343 to
aca5899
Compare
Signed-off-by: Christian Tzolov <[email protected]>
Signed-off-by: Christian Tzolov <[email protected]>
|
|
||
| * Standard I/O (Stdio) (activated by the `spring-ai-mcp-client-spring-boot-starter`) | ||
| * SSE HTTP (activated by the `spring-ai-mcp-client-spring-boot-starter`) | ||
| * SSE WebFlux (activated by the `spring-ai-starter-mcp-client-webflux`) |
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.
shoud be spring-ai-mcp-client-webflux-spring-boot-starter
Signed-off-by: Christian Tzolov <[email protected]>
|
I had some doc changes that somehow got written into the root project directory, i didn't remerge them in but pulled the branch from scratch and rebased and squashed. I'll get back to merging my doc changes tomorrow. It's a big PR and moves us in the right direction. There are some improvements to discuss, but I felt it is easier to work on it after it is in main vs. more iterations around this PR and the corresponding PR in the examples repo. If there are other ClientMcpTransports created by the user in their own @bean definition, then they aren't going to get picked up in to Also, if the use creates their own merged in fe377ee |