MCP-Whether-Server

MCP-Whether-Server

0

MCP Weather Server is a Model Context Protocol server providing real-time weather data. Built with Node.js for WSL, it integrates with the Cursor AI client leveraging the OpenWeatherMap API for city-based weather queries.

šŸŒ¤ļø MCP Weather Server (Cursor + Node.js + WSL)

This project is a simple Model Context Protocol (MCP) server that provides real-time weather data using the OpenWeatherMap API, built with Node.js and designed to run inside WSL (Windows Subsystem for Linux).

šŸ“¦ Features

  • Exposes an MCP tool: getWhetherByCityName
  • Fetches weather data for any city using OpenWeatherMap
  • Compatible with Cursor AI client
  • WSL support with clean .env configuration

šŸ› ļø Prerequisites

  • Cursor installed
  • WSL enabled with Ubuntu or other Linux distro
  • Node.js and npm installed in WSL
  • OpenWeatherMap API key

šŸ”§ Installation

# In WSL terminal
git clone https://github.com/your-username/mcp-weather-server
cd mcp-weather-server
npm install

šŸ” Environment Setup

Create a .env file in the root of the project:

WHETHER_API_KEY=your_openweather_api_key_here

🌱 The server will read this key using dotenv.


🧠 MCP Configuration (in Cursor)

In your Cursor's mcp.json (or settings UI), use the following:

{
  "mcpServers": {
    "demo": {
      "command": "wsl",
      "args": ["node", "/home/kaif/code/learnings/mcp-poc/index.js"]
    }
  }
}

āœ… Note: env key won't work properly when using wsl. Use a .env file instead.


šŸš€ Running the Server

In Cursor, create a new MCP Client using the demo server. Then run queries like:

getWhetherByCityName({ name: "London" })

The server will respond with current weather data for that city.


šŸ“‚ File Structure

mcp-poc/
ā”œā”€ā”€ index.js           # MCP server entrypoint
ā”œā”€ā”€ .env               # Your API key
ā”œā”€ā”€ package.json
└── README.md

šŸ“œ License

MIT


✨ Credits