joshlong-attic
MCP Serverjoshlong-atticpublic

2025 bootiful aws ai

Hi, Spring and AWS fans! in this installment industry legend James Ward and his trusty sidekick Josh look at the amazing opportunities marrying Spring AI and AWS Bedrock!

Repository Info

3
Stars
1
Forks
3
Watchers
0
Issues
Java
Language
Apache License 2.0
License

About This Server

Hi, Spring and AWS fans! in this installment industry legend James Ward and his trusty sidekick Josh look at the amazing opportunities marrying Spring AI and AWS Bedrock!

Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.

Documentation

Sample: Spring AI with Bedrock and MCP

A Spring Boot application that provides an AI-powered dog adoption service using:

  • AWS Bedrock for AI/ML capabilities
  • Spring AI for conversation management
  • PostgreSQL with pgvector for vector storage
  • Two services:
    • Adoptions service: Handles dog adoption inquiries
    • Scheduling service: MCP Server that manages adoption appointments

Architecture

sequenceDiagram
    actor User
    participant Controller as ConversationalController
    participant Memory as ChatMemory
    participant RAG as QuestionAnswerAdvisor
    participant Vector as VectorStore
    participant Chat as ChatClient
    participant MCP as MCPSyncClient
    participant AI as Bedrock AI

    User->>Controller: POST /{id}/inquire
    
    alt New conversation
        Controller->>Memory: computeIfAbsent(id)
        Memory-->>Controller: Create new PromptChatMemoryAdvisor
    end

    par RAG Process
        Controller->>RAG: Process question
        RAG->>Vector: Search relevant context
        Vector-->>RAG: Return matching embeddings
        RAG-->>Controller: Return augmented prompt
    and Memory Management
        Controller->>Memory: Get conversation history
        Memory-->>Controller: Return chat context
    end

    Controller->>Chat: prompt().user(question)
    
    Chat->>MCP: Synchronous tool callback
    MCP-->>Chat: Return tool results
    
    Chat->>AI: Send augmented prompt + context
    AI-->>Chat: Generate response
    
    Chat-->>Controller: Return content
    Controller->>Memory: Store conversation
    Controller-->>User: Return response

    Note over RAG,Vector: Retrieval Augmented Generation
    Note over Memory: Maintains conversation state
    Note over MCP: Handles scheduled operations

Setup

To run locally you will need:

  • JDK 23 or higher
  • Docker
  1. Setup Bedrock in the AWS Console, request access to Nova Lite and Cohere Embed Multilingual
  2. Setup auth for local development

Build the Scheduling MCP Server as a Docker container:

cd scheduling && ./mvnw spring-boot:build-image && cd ..

Alternatively, for faster MCP server startup, create a GraalVM Native Image container:

cd scheduling && ./mvnw -Pnative spring-boot:build-image && cd ..

Running

This sample includes tests and a "test" main application which will start the dependency services (postgres with pgvector and the scheduling MCP server) in Docker with Testcontainers.

First make sure you are in the adoptions directory:

cd adoptions

Run the tests:

./mvnw test

Run the "adoptions" server:

./mvnw spring-boot:test-run

With the server started you can now make requests to the server. In IntelliJ, open the resources/client.http file and run the two requests. Or via curl:

curl -X POST --location "http://localhost:8080/2/inquire" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -d 'question=Do+you+have+any+neurotic+dogs%3F'

Quick Start

1

Clone the repository

git clone https://github.com/joshlong-attic/2025-bootiful-aws-ai
2

Install dependencies

cd 2025-bootiful-aws-ai
npm install
3

Follow the documentation

Check the repository's README.md file for specific installation and usage instructions.

Repository Details

Ownerjoshlong-attic
Repo2025-bootiful-aws-ai
LanguageJava
LicenseApache License 2.0
Last fetched8/10/2025

Recommended MCP Servers

💬

Discord MCP

Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.

integrationsdiscordchat
🔗

Knit MCP

Connect AI agents to 200+ SaaS applications and automate workflows.

integrationsautomationsaas
🕷️

Apify MCP Server

Deploy and interact with Apify actors for web scraping and data extraction.

apifycrawlerdata
🌐

BrowserStack MCP

BrowserStack MCP Server for automated testing across multiple browsers.

testingqabrowsers

Zapier MCP

A Zapier server that provides automation capabilities for various apps.

zapierautomation