Files
spring-ai-examples/pom.xml
Christian Tzolov 41c921bc33 refactor: update MCP API usage to version 0.8.0
- 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
- Align with the new MCP client class names

Add MCP Sampling capability with weather example

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.

refactor: migrate to spring-ai-mcp-client-spring-boot-starter

- 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

refactor: update Spring AI artifact IDs to new naming convention

- 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 <christian.tzolov@broadcom.com>
2025-03-25 15:05:27 -04:00

57 lines
2.0 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example.spring.ai</groupId>
<artifactId>spring-ai-examples-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<url>https://github.com/spring-projects/spring-ai</url>
<name>Spring AI</name>
<description>Building AI applications with Spring Boot</description>
<modules>
<module>models/chat/helloworld</module>
<module>agents/reflection</module>
<module>kotlin/kotlin-hello-world</module>
<module>kotlin/kotlin-function-callback</module>
<module>kotlin/rag-with-kotlin</module>
<module>misc/spring-ai-java-function-callback</module>
<module>misc/openai-streaming-response</module>
<module>model-context-protocol/sqlite/simple</module>
<module>model-context-protocol/sqlite/chatbot</module>
<!-- modules listed in alphabetical order -->
<module>model-context-protocol/brave</module>
<module>model-context-protocol/client-starter/starter-default-client</module>
<module>model-context-protocol/client-starter/starter-webflux-client</module>
<module>model-context-protocol/filesystem</module>
<module>model-context-protocol/weather/manual-webflux-server</module>
<module>model-context-protocol/weather/starter-stdio-server</module>
<module>model-context-protocol/weather/starter-webflux-server</module>
<module>model-context-protocol/weather/starter-webmvc-server</module>
<module>model-context-protocol/web-search/brave-starter</module>
<module>model-context-protocol/web-search/brave-chatbot</module>
<module>model-context-protocol/sampling/mcp-weather-webmvc-server</module>
<module>model-context-protocol/sampling/mcp-sampling-client</module>
<module>agentic-patterns</module>
</modules>
</project>