Skip to content

feat(mcp): update WebFlux and WebMvc server transport providers with URL configuration #2654

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
Copy link
Contributor

@tzolov tzolov commented Apr 6, 2025

  • Update MCP SDK version to 0.9.0

  • Add baseUrl and sseEndpoint properties to McpServerProperties

  • Update WebFlux and WebMvc server transport providers to use new URL configuration properties

  • Remove deprecated backward compatibility code and related tests

  • Remove deprecated methods from McpToolUtils

  • Add tool filtering capability to MCP Tool Callback Providers
    Introduces a BiPredicate-based filtering mechanism for both Sync and Async
    MCP Tool Callback Providers, allowing selective tool discovery based on
    custom criteria. This enables filtering tools by name, client, or
    any combination of properties.
    * Apply filter in getToolCallbacks() methods for both providers
    * Add tests for various filtering scenarios

  • Add utility method to retrieve MCP exchange from tool context

    • Add constant TOOL_CONTEXT_MCP_EXCHANGE_KEY to replace hardcoded exchange string
    • Implement getMcpExchange utility method to safely retrieve the MCP exchange object

@tzolov tzolov added the MCP label Apr 6, 2025
@tzolov tzolov added this to the 1.0.0-M7 milestone Apr 6, 2025
@tzolov tzolov changed the title feat(mcp): update WebFlux and WebMvc server transport providers with URL configuration DO NOT MERGE YET: feat(mcp): update WebFlux and WebMvc server transport providers with URL configuration Apr 7, 2025
@tzolov tzolov changed the title DO NOT MERGE YET: feat(mcp): update WebFlux and WebMvc server transport providers with URL configuration feat(mcp): update WebFlux and WebMvc server transport providers with URL configuration Apr 9, 2025
…URL configuration

- Update MCP SDK version to 0.9.0
- Add baseUrl and sseEndpoint properties to McpServerProperties
- Update WebFlux and WebMvc server transport providers to use new URL configuration properties
- Remove deprecated backward compatibility code and related tests
- Remove deprecated methods from McpToolUtils
- Update MCP SDK version to 0.9.0-SNAPSHOT
- Add tool filtering capability to MCP Tool Callback Providers
  Introduces a BiPredicate-based filtering mechanism for both Sync and Async
  MCP Tool Callback Providers, allowing selective tool discovery based on
  custom criteria. This enables filtering tools by name, client, or
  any combination of properties.
  * Apply filter in getToolCallbacks() methods for both providers
  * Add  tests for various filtering scenarios
- Add utility method to retrieve MCP exchange from tool context
 * Add constant TOOL_CONTEXT_MCP_EXCHANGE_KEY to replace hardcoded exchange string
 * Implement getMcpExchange utility method to safely retrieve the MCP exchange object

Signed-off-by: Christian Tzolov <[email protected]>
@tzolov tzolov force-pushed the mcp-server-auto-conf-update-properties branch from 9795242 to 3409c1f Compare April 10, 2025 17:33
@markpollack markpollack merged commit 3409c1f into spring-projects:main Apr 10, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants