MCP ExplorerExplorer

Mcp Agent Spring Ai

@jameswardon a year ago
1 MIT
FreeCommunity
AI Systems
MCP-Agent-Spring-AI integrates Bedrock for AI inquiries via REST.

Overview

What is Mcp Agent Spring Ai

mcp-agent-spring-ai is a project that integrates Spring AI with AWS Bedrock to facilitate the development of AI applications using the MCP Server.

Use cases

Use cases include querying employee skills in an organization, developing AI-driven applications, and creating intelligent agents for various business processes.

How to use

To use mcp-agent-spring-ai, set up Bedrock in the AWS Console, configure authentication for local development, and run the MCP Server and Client using Gradle commands. You can make requests to the server’s REST endpoint using tools like IntelliJ or curl.

Key features

Key features include integration with AWS Bedrock, support for Spring framework, and the ability to handle RESTful requests for AI inquiries.

Where to use

mcp-agent-spring-ai can be used in fields such as artificial intelligence development, cloud computing, and enterprise application integration.

Content

Sample: MCP Agent with Spring AI and Bedrock

Provides a sample Spring AI MCP Server that runs on ECS; which is used by a Spring AI Agent using Bedrock; which also runs on ECS and is exposed publicly via a Load Balancer.

flowchart LR
    subgraph aws[AWS]
        alb[Application Load Balancer]
        
        subgraph vpc[VPC]
            server[MCP Server - ECS Service]
            client[MCP Client / Bedrock Agent - ECS Service]
        end
        
        subgraph services[AWS Services]
            bedrock[Bedrock]
        end
    end
    
    internet((Internet))
    
    %% Connections
    internet <--> alb
    alb --> client
    client <--> bedrock
    client <--> server

    %% Styling
    style aws fill:#f5f5f5,stroke:#232F3E,stroke-width:2px
    style vpc fill:#E8F4FA,stroke:#147EBA,stroke-width:2px
    style services fill:#E8F4FA,stroke:#147EBA,stroke-width:2px

    style alb fill:#FF9900,color:#fff,stroke:#FF9900
    style server fill:#2196f3,color:#fff,stroke:#2196f3
    style client fill:#2196f3,color:#fff,stroke:#2196f3
    style bedrock fill:#FF9900,color:#fff,stroke:#FF9900
    style internet fill:#fff,stroke:#666,stroke-width:2px

    %% Link styling
    linkStyle default stroke:#666,stroke-width:2px

Setup

  1. Setup Bedrock in the AWS Console, request access to Nova Pro
  2. Setup auth for local development

Run Locally

Start the MCP Server:

./gradlew :server:bootRun

Start the MCP Client / Agent:

./gradlew :client:bootRun

Make a request to the server REST endpoint:

In IntelliJ, open the client.http file and run the request.

Or via curl:

curl -X POST --location "http://localhost:8080/inquire" \
    -H "Content-Type: application/json" \
    -d '{"question": "Get employees that have skills related to Java, but not Java"}'

Run on AWS

Prereqs:

Build and push the MCP Server & MCP Client to ECR:

export ECR_REPO=<your account id>.dkr.ecr.us-east-1.amazonaws.com

./gradlew :server:bootBuildImage --imageName=$ECR_REPO/mcp-agent-spring-ai-server

docker push $ECR_REPO/mcp-agent-spring-ai-server:latest


./gradlew :client:bootBuildImage --imageName=$ECR_REPO/mcp-agent-spring-ai-client

docker push $ECR_REPO/mcp-agent-spring-ai-client:latest

Deploy the Agent:

rain deploy infra.cfn mcp-agent-spring-ai

End-to-end Test with curl:

curl -X POST --location "http://YOUR_LB_HOST/inquire" \
-H "Content-Type: application/json" \
-d '{"question": "Get employees that have skills related to Java, but not Java"}'

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers