Introduction to the series
I've already started the article series Spring AI with Amazon Bedrock, where I've published articles to :
- Introduce to Spring AI and the sample application to search for technical conferences.
- Explore Spring AI MCP Server with STDIO protocol.
- Explore Spring AI MCP Server with SSE protocol.
- Explore Spring AI MCP Server with Streamable HTTP protocol.
- Explore Amazon Bedrock AgentCore with Spring AI. Here, I used another sample application, which I implemented in Python with the Strands Agents framework and ported the parts of it to Spring AI. I deployed the application on the AgentCore Runtime. The application also used Spring AI MCP Client to talk to the AgentCore Gateway. It acts as the managed MCP server to expose the functionality provided by another application as MCP-compatible tools. This application stores and retrieves orders, which I implemented with API Gateway, Lambda, and Aurora DSQL.
Why did I decide to start a separate article series to cover building AI Agents with Spring AI and Amazon Bedrock AgentCore if the last-mentioned article also covers it? Because there is more to cover and to be released by AWS and Broadcom (the company behind the Spring development). I'll use the conference application example to cover the following topics in this series:
- Deploy Spring AI MCP server on AgentCore Runtime with MCP protocol instead of locally, as mentioned in the examples above.
- Discuss the use case where it's more beneficial to deploy the MCP server on AgentCore Gateway instead of AgentCore Runtime.
- Use Spring AI MCP client to talk to the MCP server deployed on AgentCore Runtime and AgentCore Gateway. This MCP client itself can be deployed either locally or on the AgentCore Runtime.
- Explore the functionality of the Spring AI AgentCore. It provides easier integration between Spring AI and the Amazon Bedrock AgentCore services, such as the Runtime, but also short-term, long-term, and episodic AgentCory Memory. In my example to explore Amazon Bedrock AgentCore with Spring AI, I didn't use AgentCore Memory at all, as such integration was an immense effort. With Spring AI AgentCore Memory, this integration becomes much easier.
- I'll rewrite the agent using Embabel, which builds upon Spring AI. Embabel is a framework for authoring agentic flows on the JVM that seamlessly mix LLM-prompted interactions with code and domain models. Supports intelligent path finding towards goals.
- How to set up so-called collector-less Observability for the Amazon Bedrock AgentCore resources using AWS Distro for OpenTelemetry (ADOT) SDK for Spring AI applications hosted in AgentCore Runtime.
- Last but not least, I'll update the examples to use Java 25, Spring Boot 4, and the recent Spring AI version. There is a Spring AI 1.1* branch for Spring Boot versions before Spring Boot 4. And there is the Spring AI 2.x branch for Spring Boot 4 applications. The last one is currently in development and not GA. When it's released, I'll also provide my examples for the Spring AI 2.x version.
You can already preview some of my examples, where I'll cover the above-mentioned topics in my amazon-bedrock-agentcore-spring-ai GitHub repository.
If you like my content, please follow me on GitHub and give my repositories a star!
Please also check out my website for more technical content and upcoming public speaking activities.
Top comments (0)