Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building production-ready AI Agents with Spring...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

Building production-ready AI Agents with Spring AI, Embabel and Amazon Bedrock AgentCore at AWS Community Day Central Asia 2026

Amazon Bedrock AgentCore enables us to deploy and operate highly capable AI agents securely, at scale. It offers infrastructure purpose-built for dynamic agent workloads, powerful tools to enhance agents, and essential controls for real-world deployment. In this talk, we'll dive deep into various aspects of how to implement an AI Agent in Java using Spring AI, including using the MCP Streamable HTTP Client to talk to the MCP Server with exposed tools. Then, we'll look at the Embabel framework for authoring agentic flows on the JVM that supports intelligent path finding towards goals and cover its benefits. We'll host our agent on Amazon Bedrock AgentCore Runtime and look at other AgentCore features like Observability (in standardized OpenTelemetry compatible format), Gateway (to securely connect to MCP-compatible tools), short and long-term Memory, and Identity. Finally, we'll look at the Spring AI AgentCore project, which provides various integrations between Spring AI and Bedrock AgentCore.

Avatar for Vadym Kazulkin

Vadym Kazulkin

October 11, 2026

More Decks by Vadym Kazulkin

Other Decks in Technology

Transcript

  1. Building production-ready AI Agents with Spring AI and Amazon Bedrock

    AgentCore Vadym Kazulkin 10/11/2026 AWS User Groups
  2. Contact Vadym Kazulkin ip.labs GmbH Bonn, Germany Co-Organizer of the

    Java User Group Bonn [email protected] https://vkazulkin.com https://www.linkedin.com/in/vadymkazulkin @VKazulkin https://dev.to/vkazulkin https://github.com/Vadym79/ https://de.slideshare.net/VadymKazulkin/ https://www.iplabs.de/
  3. Agenda ▪ Introduction to the sample application ▪ Spring AI

    ▪ Amazon Bedrock AgentCore services ▪ Runtime and Gateway ▪ Observability ▪ Spring AI AgentCore ▪ AgentCore short-term and long-term Memory ▪ Embabel
  4. Sample Application Conference search application Search criteria: ▪ all conferences

    ▪ conferences by topic ▪ conferences by date range ▪ conferences by call for papers open date How to talk to this application using natural language? https://github.com/Vadym79/amazon-bedrock-agentcore-spring-ai/tree/main/spring-ai-1.1-conference-search-app-bedrock-agentcore-runtime-mcp-server
  5. Introduction to Spring AI ▪ Spring AI is an application

    framework for AI engineering. Its goal is to apply to the AI domain Spring ecosystem design principles such as portability and modular design and promote using POJOs as the building blocks of an application to the AI domain. ▪ Spring AI provides support for all major AI Model providers such as Anthropic, OpenAI, Microsoft, Amazon, Google, and Ollama. The list of its features is rich and new features are constantly added. https://spring.io/projects/spring-ai https://dev.to/aws-heroes/spring-ai-with-amazon-bedrock-part-1-introduction-and-the-sample-application-4hof
  6. Implement MCP Server With Spring AI Expose functionallity like Conference

    Search Java methods: ▪ all conferences ▪ conferences by topic ▪ conferences by date range ▪ conferences by call for papers open date as MCP tools with Spring AI MCP Server implementation https://github.com/Vadym79/amazon-bedrock-agentcore-spring-ai/tree/main/spring-ai-1.1-conference-search-app-bedrock-agentcore-runtime-mcp-server
  7. Implement MCP Server With Spring AI Use spring-ai-starter-mcp-server-webflux dependency for

    spring.ai.mcp.client.type=ASYNC https://github.com/Vadym79/amazon-bedrock-agentcore-spring-ai/tree/main/spring-ai-1.1-conference-search-app-bedrock-agentcore-runtime-mcp-server
  8. Current challenges with development of the AI agents ▪ Building

    an AI agent that can handle a real-life use case in production is a complex undertaking. ▪ Although creating a proof of concept demonstrates the potential, moving to production requires addressing scalability, security, observability, and operational concerns that don’t surface in development environments. https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/what-is-bedrock-agentcore.html
  9. Introduction to Amazon Bedrock AgentCore ▪ Amazon Bedrock AgentCore enables

    you to deploy and operate highly effective agents securely, at scale using any framework and programming language and model (LLM). ▪ With Amazon Bedrock AgentCore, developers can accelerate AI agents into production with the scale, reliability, and security, critical to real-world deployment. ▪ Amazon Bedrock AgentCore services are composable. https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/what-is-bedrock-agentcore.html
  10. AgentCore Runtime Amazon Bedrock AgentCore Runtime provides a secure, serverless

    and purpose-built hosting environment for deploying and running AI agents or tools. It offers the following benefits: ▪ Framework agnostic - Runtime lets you transform any local agent code to cloud-native deployments with a few lines of code no matter the underlying framework. Works seamlessly with popular frameworks like LangGraph, Strands, and CrewAI. You can also leverage it with custom agents that don't use a specific framework. ▪ Model flexibility - Runtime works with any Large Language Model, such as models offered by Amazon Bedrock, Anthropic Claude, Google Gemini, and OpenAI. https://dev.to/aws-heroes/amazon-bedrock-agentcore-runtime-part-1-introduction-e5i
  11. AgentCore Runtime ▪ Protocol support - Service contract supports 2

    communication protocols: ▪ HTTP Protocol: Direct REST API endpoints for traditional request/response patterns ▪ MCP Protocol: Model Context Protocol for tools and agent servers ▪ A2A Protocol: Open standard designed to enable seamless communication and collaboration between AI agents. ▪ Extended execution time - Runtime supports both real-time interactions and long-running workloads up to 8 hours, enabling complex agent reasoning and asynchronous workloads that may involve multi-agent collaboration or extended problem-solving sessions. https://dev.to/aws-heroes/amazon-bedrock-agentcore-runtime-part-1-introduction-e5i
  12. AgentCore Runtime ▪ Session isolation - In Runtime, each user

    session runs in a dedicated microVM with isolated CPU, memory, and filesystem resources. This helps create complete separation between user sessions, safeguarding stateful agent reasoning processes and helps prevent cross-session data contamination. After session completion, the entire microVM is terminated and memory is sanitized, delivering deterministic security even when working with non-deterministic AI processes. https://dev.to/aws-heroes/amazon-bedrock-agentcore-runtime-part-1-introduction-e5i
  13. AgentCore Runtime Firecracker is the right choice because: • •

    • Agent sessions vary from milliseconds (single-turn, single-shot, agent interactions with small models), to hours (multi-turn interactions, with thousands of tool calls and LLM interactions). Context varies from zero to gigabytes. The flexibility of Firecracker, including the ability to grow and shrink the CPU and memory use of VMs in place, was a key part of being able to build this economically. https://brooker.co.za/blog/2025/09/18/firecracker.html https://github.com/awslabs/amazon-bedrock-agentcore-samples/tree/main/01-tutorials
  14. Hosting MCP Server with Spring AI on AgentCore Runtime ▪

    AgentCore supports both stateless and stateful streamable-HTTP MCP servers. By default, stateless mode (stateless_http=True) is recommended for basic MCP servers. The platform automatically adds an Mcp-Session-Id header for any request without one, so MCP clients can maintain connection continuity to the same Amazon Bedrock AgentCore Runtime session. ▪ Spring AI also supports Stateless Streamable-HTTP MCP Servers.
  15. Hosting MCP Server with Spring AI on AgentCore Runtime Use

    spring-ai-starter-mcp-server-webflux dependency for spring.ai.mcp.client.type=ASYNC https://github.com/Vadym79/amazon-bedrock-agentcore-spring-ai/tree/main/spring-ai-1.1-conference-search-app-bedrock-agentcore-runtime-mcp-server
  16. Implement Local MCP Client With Spring AI Use spring-ai-starter-mcp-client-webmvc dependency

    and spring.ai.mcp.client.type=SYNC for the synchronous communication https://github.com/Vadym79/amazon-bedrock-agentcore-spring-ai/tree/main/spring-ai-1.1-conference-app-agent-local
  17. Implement Local MCP Client With Spring AI Spring AI 1.1

    Spring AI 2.0 https://github.com/Vadym79/amazon-bedrock-agentcore-spring-ai/tree/main/spring-ai-1.1-conference-app-agent-local https://brightdata.com/blog/ai/sse-vs-streamable-http
  18. Implement Local MCP Client With Spring AI For public AgentCore

    Gateway (no authentication) or the Gateway with IAM authentication, we can autowire the MCP client directly: // For sync client @Autowired private List<McpSyncClient> mcpSyncClients; // OR for async client @Autowired private List<McpAsyncClient> mcpAsyncClients; https://docs.spring.io/spring-ai/reference/api/mcp/mcp-client-boot-starter-docs.html#_streamable_http_transport_properties
  19. Implement Local MCP Client With Spring AI Spring AI 1.1

    Spring AI 2.0 https://github.com/Vadym79/amazon-bedrock-agentcore-spring-ai/tree/main/spring-ai-1.1-conference-app-agent-local
  20. Implement Local MCP Client With Spring AI Spring AI 1.1

    https://blog.modelcontextprotocol.io/posts/2026-07-28/ https://aws.amazon.com/de/blogs/machine-learning/how-agentcore-gateway-supports-the-mcp-2026-07-28-spec/
  21. Implement Local MCP Client With Spring AI http GET http://localhost:8080/conference?prompt="Please

    provide me with the list of conferences, including their IDs, with Java topics happening in 2026 and 2027, with the call for papers open today" Content-Type:text/plain. https://github.com/Vadym79/amazon-bedrock-agentcore-spring-ai/tree/main/spring-ai-1.1-conference-app-agent-local
  22. Implement MCP Server With Spring AI Expose functionallity like Conference

    Search Java methods: ▪ all conferences ▪ conferences by topic ▪ conferences by date range ▪ conferences by call for papers open date as MCP tools with Spring AI MCP Server implementation https://github.com/Vadym79/amazon-bedrock-agentcore-spring-ai/tree/main/spring-ai-1.1-conference-search-app-bedrock-agentcore-runtime-mcp-server
  23. Sample Application Expose additional functionallity like : ▪ create talk

    ▪ search for talks with title substring ▪ apply for conferences with the talks https://github.com/Vadym79/amazon-bedrock-agentcore-spring-ai/tree/main/conference-talks-and-applications-app
  24. AgentCore Gateway Amazon Bedrock AgentCore Gateway is a fully-managed AI

    gateway that provides a single, secure entry point for agentic traffic— connecting agents to tools, to other agents, and to large language models (LLMs). https://dev.to/aws-heroes/amazon-bedrock-agentcore-runtime-part-1-introduction-e5i
  25. AgentCore Gateway ▪ AgentCore Gateway acts like an MCP server,

    providing a single access point for an agent to interact with its tools. A Gateway can have multiple targets, each representing a different tool or set of tools. ▪ AgentCore Gateway supports OpenAPI, Smithy, Amazon API Gateway and AWS Lambda, MCP Servers and Integrations as Gateway target types . https://dev.to/aws-heroes/amazon-bedrock-agentcore-runtime-part-1-introduction-e5i
  26. Implement Local MCP Client With Spring AI http GET http://localhost:8080/conference?prompt=“Please

    create a talk with some cool title (max 60 charachters long) and description (max 300 charachters long) about using Spring AI on Amazon Bedrock AgentCore service. Then provide me with the list of conferences including their ids with Java topic hapenning in 2027 with call for papers open today. Finally, for each conference, apply individually for the it with the talk just created.“ Content-Type:text/plain. https://github.com/Vadym79/amazon-bedrock-agentcore-spring-ai/tree/main/spring-ai-1.1-conference-app-agent-local
  27. Deploy MCP Client With Spring AI on AgentCore Runtime Using

    Custom Agent to deploy it on AgentCore Runtime gives us full control over our agent's HTTP interface. To deploy a custom agent using Docker, follow AgentCore Runtime requirements : ▪ /invocations Endpoint: POST endpoint for agent interactions ▪ /ping Endpoint: GET endpoint for health checks https://dev.to/aws-heroes/amazon-bedrock-agentcore-runtime-part-4-using-custom-agent-with-strands-agents-sdk-201o
  28. Spring AI Memory ▪ InMemoryChatMemoryRepository ▪ Default ChatMemory provider to

    store messages in memory using a ConcurrentHashMap (by default the last 20, but you can set a different value). Not very suitable for hosting on AgentCore Runtime. ▪ JdbcChatMemoryRepository ▪ CassandraChatMemoryRepository ▪ Neo4j ChatMemoryRepository ▪ CosmosDBChatMemoryRepository ▪ MongoChatMemoryRepository https://docs.spring.io/spring-ai/reference/api/chat-memory.html#_in_memory_repository
  29. Spring AI Memory Use defaultAdvisors of the ChatClient.Builder to configure

    the chat memory, as by default all conversations are stateless and you can't ask question about previously delivered content. https://docs.spring.io/spring-ai/reference/api/chat-memory.html#_in_memory_repository
  30. AgentCore Memory AgentCore Memory lets your AI agents deliver intelligent,

    contextaware, and personalized interactions by maintaining both immediate and long-term knowledge. AgentCore Memory offers two types of memory: . ▪ Short-term memory: Stores conversations to keep track of immediate context. ▪ Long-term memory : Stores extracted insights - such as user preferences, semantic facts, and summaries - for knowledge retention across sessions. https://dev.to/aws-heroes/amazon-bedrock-agentcore-runtime-part-6-using-agentcore-short-term-memory-with-strands-agents-sdk-55d4
  31. Spring AI AgentCore Memory prompt=“You recently applied for some conferences

    for me. Can you provide me with the details?“ https://github.com/Vadym79/amazon-bedrock-agentcore-spring-ai/tree/main/spring-ai-2.0-ac-conference-app-agent-bedrock-agentcore-runtime/agent https://vkazulkin.com/building-ai-agents-with-spring-ai-and-amazon-bedrock-agentcore-part-8-use-spring-ai-agentcore-long-term-memory-for-mcp-client-on-agentcore-runtime/
  32. AgentCore Observability ▪ AgentCore Observability gives us real-time visibility into

    agent operational performance through access to dashboards powered by Amazon CloudWatch and telemetry for key metrics such as session count, latency, duration, token usage, and error rates. ▪ AgentCore emits telemetry data in standardized OpenTelemetry (OTEL)-compatible format, enabling us to easily integrate it with our existing monitoring and observability stack. https://dev.to/aws-heroes/amazon-bedrock-agentcore-runtime-part-1-introduction-e5i
  33. AgentCore Observability with ADOT ▪ To view this data in

    the CloudWatch we need to add the AWS Distro for Open Telemetry (ADOT) SDK to our agent code. ▪ ADOT is a secure, production-ready, AWS-supported distribution of the OpenTelemetry project. Part of the Cloud Native Computing Foundation, OpenTelemetry provides open source APIs, libraries, and agents to collect distributed traces and metrics for application monitoring. ▪ With ADOT, we can instrument our applications just once to send correlated metrics and traces to multiple AWS and Partner monitoring solutions. In our case we will send the metrics to the CloudWatch GenAI Observability service. https://dev.to/aws-heroes/amazon-bedrock-agentcore-runtime-part-1-introduction-e5i
  34. Embabel 1. Please create a talk with some cool title

    (max 60 charachters long) and description (max 300 charachters long) about using Spring AI on Amazon Bedrock AgentCore service. 2. Then provide me with the list of conferences including their ids with Java topic hapenning in 2027 with call for papers open today. 3. Finally, for each conference, apply individually for the it with the talk just created.
  35. Embabel 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. https://github.com/embabel/embabel-agent
  36. Embabel Agents, Actions and Goals Please create a talk with

    some cool title (max 60 charachters long) and description (max 300 charachters long) about using Spring AI on Amazon Bedrock AgentCore service. Then provide me with the list of conferences including their ids with Java topic hapenning in 2027 with call for papers open today. Finally, for each conference, apply individually for the it with the talk just created.
  37. Embabel Agents, Actions and Goals Please create a talk with

    some cool title (max 60 charachters long) and description (max 300 charachters long) about using Spring AI on Amazon Bedrock AgentCore service. Then provide me with the list of conferences including their ids with Java topic hapenning in 2027 with call for papers open today. Finally, for each conference, apply individually for the it with the talk just created. https://github.com/Vadym79/amazon-bedrock-agentcore-spring-ai/tree/main/embabel-1.x-conference-app-agent-local https://github.com/Vadym79/amazon-bedrock-agentcore-spring-ai/tree/main/embabel-1.5.x-conference-app-agent-local
  38. Embabel Agents, Actions and Goals Please create a talk with

    some cool title (max 60 charachters long) and description (max 300 charachters long) about using Spring AI on Amazon Bedrock AgentCore service. Then provide me with the list of conferences including their ids with Java topic hapenning in 2027 with call for papers open today. Finally, for each conference, apply individually for the it with the talk just created.
  39. Amazon Bedrock AgentCore • We used Spring AI with Amazon,

    Bedrock and API Gateway and Lambda as MCP-Servers via AgentCore Gateway. • We can use any models (Open AI) supported by Spring AI and any MCP Servers with exposed tools similarly. https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/what-is-bedrock-agentcore.html
  40. Amazon Bedrock AgentCore • AgentCore Runtime is framework and programming

    language agnostic, so we can use Java frameworks like Embabel, LangChain4j, Koog, and also Python frameworks like LangChain, LangGraph, Strands Agents, Pydantic AI, CrewAI and others to host the agents there. https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/what-is-bedrock-agentcore.html
  41. Article Series: “Building AI Agents with Spring AI and Amazon

    Bedrock AgentCore” Article series covers the topics from this talk in more depth https://vkazulkin.com/series/building-ai-agents-with-spring-ai-and-amazon-bedrock-agentcore/
  42. “Building AI Agents with Spring AI and Amazon Bedrock AgentCore”

    on GitHub https://github.com/Vadym79/amazon-bedrock-agentcore-spring-ai