Weather MCP Server

by devlibx

269 downloads
Not rated
GitHub

Description

# 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…

About

# 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](#overview) -…

Details

Author
devlibx
Downloads
269
Categories
Media

- Retrieves current weather for any specified location
- Generates realistic mock weather data (temperature, condition, humidity, wind speed)
- MCP integration for AI assistant compatibility
- Easy setup with Spring Boot and Maven

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Weather MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Clone the repository, build with mvn clean install, and run with mvn spring-boot:run. The server listens on port 8080 by default. To integrate with AI assistants in IDEs like Cursor or Cline, configure the SSE endpoint http://localhost:8089/sse in the MCP settings (ensure the port matches your application.properties). Use the MCP Inspector (npx @modelcontextprotocol/inspector) to test the getWeather tool.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "weather mcp server": {
            "experiment-java-mcp-server": {
                "command": "npx",
                "args": [
                    "@modelcontextprotocol/inspector"
                ]
            }
        }
    }
}

McpServers

{
    "experiment-java-mcp-server": {
        "command": "npx",
        "args": [
            "@modelcontextprotocol/inspector"
        ]
    }
}

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
- Features
- Technologies
- Project Structure
- Prerequisites
- Installation
- Running the Application
- Using the MCP Inspector
- API Documentation
- Contributing
- License

🔍 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.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.