MCP Host Project
@oalles
Showcases how to integrate Spring AI's support for MCP (Model Context Protocol) within Spring Boot applications, covering both server-side and client-side implementations.
Overview
What is MCP Host Project?
It integrates Spring AI’s support for the Model Context Protocol (MCP) within Spring Boot, demonstrating both server and client implementations. The project combines a Geocoder Service, a Timezone Service, and an MCP Host client that uses an LLM (Llama3.2 via Ollama) to answer geographical queries.
How to use MCP Host Project?
Run the three Spring Boot applications sequentially: Geocoder Service on port 8081, Timezone Service on port 8082, then MCP Host. Once started, enter city names in the console to receive latitude, longitude, and timezone details.
Key features of MCP Host Project
- Integrates Spring AI MCP with Spring Boot
- Provides geocoding service for latitude/longitude
- Provides timezone service for given coordinates
- MCP host client orchestrates tools via LLM
- Console interface for interactive queries
- Requires a model supporting tool calls (e.g., Llama3.2 via Ollama)
Use cases of MCP Host Project
- Look up latitude and longitude for any city
- Retrieve timezone details for a geographic location
- Demonstrate MCP client-server communication in Spring AI
- Build an AI assistant that calls external data services
FAQ from MCP Host Project
What LLM does the project use?
It uses Llama3.2 via Ollama, and the model must support tool calling.
How do I run the project?
Start the Geocoder Service on port 8081, the Timezone Service on port 8082, and then the MCP Host. All are Spring Boot apps run with mvn spring-boot:run.
What is the Model Context Protocol (MCP)?
MCP is a standard that streamlines management of contextual interactions in AI models, enabling consistent integration with external data sources and tools.
What are the dependencies?
The project uses Spring AI MCP starters and the MCP Java SDK, plus Ollama for the LLM.
Can I use a different LLM?
The README only mentions Llama3.2 via Ollama; a model supporting tool calls is required, but no other models are specified.