experiment-java-mcp-server

experiment-java-mcp-server

0

The project is a Spring Boot application that provides weather information using the Model Context Protocol (MCP). It offers mock weather data for AI assistants and is designed for easy setup and integration.

Weather MCP Server

A Spring Boot application that provides weather information through the Model Context Protocol (MCP). This project demonstrates how to create an MCP server using Spring AI to expose weather data as a tool that can be used by AI assistants.

šŸ“‹ Table of Contents

šŸ” Overview

This project implements a weather service that provides mock weather data for different locations. It exposes this functionality through the Model Context Protocol (MCP), allowing AI assistants to retrieve weather information for specified locations.

✨ Features

  • Get current weather information for any location
  • Mock weather data generation with realistic parameters
  • MCP integration for AI assistant compatibility
  • Spring Boot application with easy setup and configuration

šŸ› ļø Technologies

  • Java 17
  • Spring Boot 3.2.0
  • Spring AI MCP Server
  • Maven
  • Lombok

šŸ“ Project Structure

src/
ā”œā”€ā”€ main/
│   ā”œā”€ā”€ java/
│   │   └── com/
│   │       └── gox/
│   │           └── weather/
│   │               ā”œā”€ā”€ WeatherMcpApplication.java    # Main application class
│   │               ā”œā”€ā”€ model/
│   │               │   └── WeatherData.java          # Weather data model
│   │               └── service/
│   │                   └── WeatherService.java       # Weather service with MCP tool
│   └── resources/
│       └── application.properties                    # Application configuration

šŸ“‹ Prerequisites

  • Java 17 or higher
  • Maven 3.6 or higher
  • Node.js and npm (for MCP Inspector)

šŸš€ Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/weather-mcp-java.git
    cd weather-mcp-java
    
  2. Build the project:

    mvn clean install
    

šŸƒā€ā™‚ļø Running the Application

Start the Spring Boot application:

mvn spring-boot:run

The application will start on port 8080 by default (configurable in application.properties).

āš™ļø Configuring MCP in IDE Tools

To use this MCP server with AI assistants in IDE tools like Cursor or Cline:

  1. Open your IDE's settings for AI assistant configuration
  2. Look for MCP or Model Context Protocol settings
  3. Add a new MCP server with the following SSE endpoint:
    http://localhost:8089/sse
    
  4. Save the settings and restart the AI assistant if necessary
  5. The weather tool should now be available to your AI assistant

Note: Make sure the port (8089) matches the port configured in your application.properties file.

šŸ”§ Using the MCP Inspector

The MCP Inspector is a tool that allows you to test and debug your MCP server (If you want to debug MCP server). To use it:

  1. Install and run the MCP Inspector:

    npx @modelcontextprotocol/inspector
    
  2. Open the MCP Inspector in your browser:

    http://127.0.0.1:6274/#tools
    
  3. Connect to your MCP server by entering the SSE endpoint:

    http://localhost:8080/mcp/sse
    

    Note: The port (8080) should match the port your Spring Boot application is running on.

  4. Once connected, you can test the getWeather tool by providing a location parameter.

šŸ“š API Documentation

Weather Service

The Weather Service provides the following functionality:

Get Weather

Returns weather information for a specified location.

Tool Name: getWeather

Parameters:

  • location (String): The name of the location to get weather for (e.g., "New York", "London", "Tokyo")

Response:

{
  "location": "New York",
  "temperature": 22.5,
  "condition": "Partly Cloudy",
  "humidity": 65,
  "windSpeed": 12.3
}

šŸ¤ Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

šŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.