diff --git a/model-context-protocol/web-search/brave-starter/README.md b/model-context-protocol/web-search/brave-starter/README.md
index ef78492..19582ae 100644
--- a/model-context-protocol/web-search/brave-starter/README.md
+++ b/model-context-protocol/web-search/brave-starter/README.md
@@ -1,6 +1,24 @@
# Spring AI - Model Context Protocol (MCP) Brave Search Example
-This example demonstrates how to use the Spring AI Model Context Protocol (MCP) with the [Brave Search MCP Server](https://github.com/modelcontextprotocol/servers/tree/main/src/brave-search). The application enables natural language interactions with Brave Search, allowing you to perform internet searches through a conversational interface.
+This example demonstrates how to use the Spring AI Model Context Protocol (MCP) with the [Brave Search MCP Server](https://github.com/modelcontextprotocol/servers/tree/main/src/brave-search) using Spring Boot's auto-configuration capabilities. The application enables natural language interactions with Brave Search, allowing you to perform internet searches through a conversational interface. When run, the application demonstrates the MCP client's capabilities by asking a specific question: "Does Spring AI supports the Model Context Protocol? Please provide some references." The MCP client uses Brave Search to find relevant information and returns a comprehensive answer. After providing the response, the application exits.
+
+Unlike the manual configuration approach, this example uses the Spring Boot starter which automatically creates the MCP client for you, moving the configuration into `application.properties` and `mcp-servers-config.json`.
+
+## Dependencies
+
+The project uses the following key dependencies:
+
+```xml
+
+ org.springframework.ai
+ spring-ai-mcp-client-spring-boot-starter
+
+
+
+ org.springframework.ai
+ spring-ai-openai-spring-boot-starter
+
+```
@@ -49,30 +67,103 @@ The application will demonstrate the integration by asking a sample question abo
## How it Works
-The application demonstrates Spring AI integration with Brave Search through the Model Context Protocol (MCP). Here's an overview of the key components:
+The application uses Spring Boot's auto-configuration capabilities to set up the MCP client. The configuration is primarily done through two files:
-### Project Configuration
+### Project Dependencies
-The project uses Spring AI's MCP boot starter:
+The project uses Spring AI's MCP client Spring Boot starter and OpenAI starter:
```xml
- org.springframework.ai
- spring-ai-mcp-spring-boot-starter
+ org.springframework.ai
+ spring-ai-mcp-client-spring-boot-starter
+
+
+
+ org.springframework.ai
+ spring-ai-openai-spring-boot-starter
```
-The application configuration is defined in two files:
+### Configuration Files
+
+The MCP client can be configured in two different ways, both achieving the same behavior:
+
+#### Option 1: Direct Configuration in application.properties
+
+This approach configures the MCP client directly in the application.properties file:
-1. `application.properties` - Core application settings:
```properties
-# Application configuration
spring.application.name=mcp
spring.main.web-application-type=none
-
-# API Keys
spring.ai.openai.api-key=${OPENAI_API_KEY}
+# Direct MCP client configuration
+spring.ai.mcp.client.stdio.connections.brave-search.command=npx
+spring.ai.mcp.client.stdio.connections.brave-search.args=-y,@modelcontextprotocol/server-brave-search
+```
+
+#### Option 2: External Configuration File
+
+Alternatively, you can move the MCP configuration to an external file. This approach is similar to how the anthropic standalone client is configured.
+
+1. In `application.properties`, enable the external configuration and comment out the direct configuration:
+```properties
+spring.application.name=mcp
+spring.main.web-application-type=none
+spring.ai.openai.api-key=${OPENAI_API_KEY}
+
+# Use external configuration file
+spring.ai.mcp.client.stdio.servers-configuration=classpath:/mcp-servers-config.json
+
+# Comment out direct configuration when using external file
+# spring.ai.mcp.client.stdio.connections.brave-search.command=npx
+# spring.ai.mcp.client.stdio.connections.brave-search.args=-y,@modelcontextprotocol/server-brave-search
+```
+
+2. In `mcp-servers-config.json` - Define the MCP server configuration:
+```json
+{
+ "mcpServers": {
+ "brave-search": {
+ "command": "npx",
+ "args": [
+ "-y",
+ "@modelcontextprotocol/server-brave-search"
+ ],
+ "env": {}
+ }
+ }
+}
+```
+
+### Application Code
+
+The main application (`Application.java`) uses the auto-configured components to create a chat client and execute a single question:
+
+```java
+@SpringBootApplication
+public class Application {
+ @Bean
+ public CommandLineRunner predefinedQuestions(ChatClient.Builder chatClientBuilder,
+ List tools, ConfigurableApplicationContext context) {
+ return args -> {
+ var chatClient = chatClientBuilder
+ .defaultTools(tools)
+ .build();
+
+ String question = "Does Spring AI support the Model Context Protocol? Please provide some references.";
+ System.out.println("QUESTION: " + question);
+ System.out.println("ASSISTANT: " + chatClient.prompt(question).call().content());
+
+ context.close();
+ };
+ }
+}
+```
+
+The application uses Spring Boot's auto-configuration to automatically create and configure the MCP client based on the properties and configuration files, without requiring explicit bean definitions for the client itself.
+
# MCP Configuration
spring.ai.mcp.client.stdio.enabled=true
diff --git a/model-context-protocol/web-search/brave-starter/src/main/resources/application.properties b/model-context-protocol/web-search/brave-starter/src/main/resources/application.properties
index 294f176..6ad2db5 100644
--- a/model-context-protocol/web-search/brave-starter/src/main/resources/application.properties
+++ b/model-context-protocol/web-search/brave-starter/src/main/resources/application.properties
@@ -2,10 +2,17 @@ spring.application.name=mcp
spring.main.web-application-type=none
spring.ai.openai.api-key=${OPENAI_API_KEY}
-spring.ai.anthropic.api-key=${ANTHROPIC_API_KEY}
-# spring.ai.mcp.client.stdio.servers-configuration=classpath:/mcp-servers-config.json
+# There are two ways to configure the MCP client:
+# Option 1: Direct configuration in application.properties
+# Comment these out if using Option 2
spring.ai.mcp.client.stdio.connections.brave-search.command=npx
spring.ai.mcp.client.stdio.connections.brave-search.args=-y,@modelcontextprotocol/server-brave-search
-spring.ai.mcp.client.stdio.connections.brave-search.env.FOO=BAAR
+
+# Option 2: Use external configuration file (similar to anthropic standalone client)
+# Uncomment this and comment out Option 1 to use external configuration
+# spring.ai.mcp.client.stdio.servers-configuration=classpath:/mcp-servers-config.json
+
+
+logging.level.io.modelcontextprotocol.spec=WARN