# 🌤️ 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). ## 📦…
About
# 🌤️ 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…
Details
Author
mdkaifansari04
Downloads
255
Categories
Developer Tools
Jump to
- Exposes a single MCP tool: getWhetherByCityName
- Fetches current weather for any city
- Compatible with Cursor AI client
- Runs inside WSL with clean .env configuration
- Uses OpenWeatherMap API (requires free API key)
Clone the repository in WSL, install dependencies with npm install, create a .env file with your OpenWeatherMap API key (WHETHER_API_KEY), then configure the server in Cursor’s mcp.json using the wsl command pointing to index.js. Invoke the tool with getWhetherByCityName({ name: "CityName" }).
# 🌤️ 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](https://cursor.sh) AI client
- WSL support with clean `.env` configuration
---
## 🛠️ Prerequisites
- [Cursor](https://cursor.sh) installed
- WSL enabled with Ubuntu or other Linux distro
- Node.js and npm installed in WSL
- OpenWeatherMap API key
---
## 🔧 Installation
```bash
# 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:
```json
{
"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
- [OpenWeatherMap API](https://openweathermap.org/api)
- [Model Context Protocol (MCP)](https://github.com/modelcontextprotocol)
- [Cursor](https://cursor.sh)
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.
Social sign-in isn’t configured yet. You can still create an account with email below, or ask an admin to add Google/GitHub/Discord OAuth credentials.
A collection of reference implementations for the Model Context Protocol (MCP), demonstrating secure and controlled access to tools and data sources for Large…