Skip to content

refactor: update MCP API usage to 0.8.0 and spring-ai 0.7.0 #15

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

Closed
wants to merge 5 commits into from

Conversation

tzolov
Copy link
Contributor

@tzolov tzolov commented Mar 18, 2025

  • Remove all book-library MCP examples (servlet, webflux, and webmvc implementations)
  • Update weather example to use MCP version 0.8.0-SNAPSHOT
  • Refactor transport handling to use transport providers instead of direct transport objects
  • Update method calls from toSyncToolRegistration to toSyncToolSpecifications
  • Add central-portal-snapshots repository to pom.xml for dependency resolution

- Remove all book-library MCP examples (servlet, webflux, and webmvc implementations)
- Update weather example to use MCP version 0.8.0-SNAPSHOT
- Refactor transport handling to use transport providers instead of direct transport objects
- Update method calls from toSyncToolRegistration to toSyncToolSpecifications
- Add central-portal-snapshots repository to pom.xml for dependency resolution

Signed-off-by: Christian Tzolov <[email protected]>
@tzolov
Copy link
Contributor Author

tzolov commented Mar 18, 2025

Depends on spring-projects/spring-ai#2508

@tzolov tzolov marked this pull request as ready for review March 22, 2025 08:53
tzolov added 3 commits March 24, 2025 14:13
Adds MCP Sampling implementation that demonstrates how to delegate LLM requests to multiple providers.

- add a weather server that retrieves data and uses MCP Sampling to generate creative content
- add a client that routes requests to different LLM providers (OpenAI and Anthropic) based on model hints
- add README documentation explaining the MCP Sampling workflow and implementation details

The MCP Sampling capability enables applications to leverage multiple LLM providers within a single workflow,
allowing for creative content generation, model comparison, and specialized task delegation.

Signed-off-by: Christian Tzolov <[email protected]>
- Replace spring-ai-mcp dependency with spring-ai-mcp-client-spring-boot-starter
- Update import statements from org.springframework.ai.mcp.* to io.modelcontextprotocol.client.*
- Replace McpFunctionCallback with SyncMcpToolCallbackProvider
- Update Spring AI version from 1.0.0-M5 to 1.0.0-SNAPSHOT in multiple projects
- Enable tool callback auto-configuration with spring.ai.mcp.client.toolcallback.enabled

Signed-off-by: Christian Tzolov <[email protected]>
- Update all Spring AI dependencies to use the new naming convention:
spring-ai-*-spring-boot-starter → spring-ai-starter-*
spring-ai-openai-spring-boot-starter → spring-ai-starter-model-openai
spring-ai-mcp-client-spring-boot-starter → spring-ai-starter-mcp-client
- And similar patterns for other artifacts
- Enable debug mode in brave module's application.properties

Signed-off-by: Christian Tzolov <[email protected]>
@markpollack
Copy link
Member

markpollack commented Mar 25, 2025

great stuff. fixed web search examples.
Made a minor doc fix (Need to check if readme agrees with new deps)

tested all except for the weather examples.

squashed and merged in 41c921b

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants