GenAI & BeyondGenAI & Beyond
Deep Dive180min
INTERMEDIATE

Build an MCP Server with Java

This session demonstrates building an MCP (Model Context Protocol) Server in Java from scratch and with frameworks like Spring Boot, Micronaut, and Quarkus. It covers implementation, testing with MCP Inspector, and client connection using Claude, targeting developers interested in Java-based MCP server development.

Sergio  del Amo Caballero
Sergio del Amo CaballeroOracle

talkDetail.whenAndWhere

talks.scheduleTBD
Room 6
talks.roomOccupancytalks.noOccupancyInfo
talks.description
This session shows how to build an MCP (Model Context Protocol) Server in Java.
We first discuss how to build an MCP Server with Java without any framework, and then compare what frameworks (Spring Boot, Micronaut, and Quarkus) offer.
We will implement an MCP Server with each framework. The MCP Server will expose custom tools that can be accessed by MCP clients.
You will learn how to test your implementation using the MCP Inspector tool and connect to your MCP server with Claude as a client.

Target Audience

Developers interested in creating an MCP (Model Context Protocol) Server in Java.
framework
java
server
mcp
talks.speakers
Sergio  del Amo Caballero

Sergio del Amo Caballero

Oracle

Spain

My name is Sergio del Amo. I am proactive developer. I like to consider myself a manager of one.
Job
I work as a Principal Member of Technical Staff at Oracle.
Open Source Contributor
I am a member of the Micronaut Foundation Board Of Directors and the Micronaut Technology Advisory Board. Additionally, I am a member of the GraalVM Advisory Board.
I have been a core developer of the Micronaut Framework since its inception. I write/review most of the Micronaut Guides. I work a lot in the MCP, Langchain4j, Security, AWS, Views, RSS, Problem+JSON, Email, Micronaut's modules.
Moreover, I have worked a lot with Grails Framework. I have contributed to the framework core code, plugins, and guides.

talkDetail.rateThisTalk

talkDetail.poortalkDetail.excellent

talkDetail.ratingNotYetAvailable

talkDetail.ratingAvailableWhenStarted

talkDetail.signInRequired

talkDetail.signInToRateDescription