What is MCP Weather Server?
MCP Weather Server 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 Windows Subsystem for Linux (WSL).
How to use MCP Weather Server?
To use the MCP Weather Server, clone the repository, install the necessary dependencies, set up your OpenWeatherMap API key in a .env file, and run the server using Cursor to fetch weather data by city name.
Key features of MCP Weather Server?
- Exposes an MCP tool:
getWhetherByCityName
- Fetches weather data for any city using OpenWeatherMap
- Compatible with Cursor AI client
- WSL support with clean .env configuration
Use cases of MCP Weather Server?
- Fetching current weather data for any city.
- Integrating weather data into applications using the MCP protocol.
- Providing real-time weather updates in AI-driven applications.
FAQ from MCP Weather Server?
- What do I need to run the MCP Weather Server?
You need WSL enabled with a Linux distribution, Node.js, npm, and an OpenWeatherMap API key.
- How do I fetch weather data?
Use the command
getWhetherByCityName({ name: "CityName" })
in Cursor to get the weather data for the specified city.
- Is there any license for this project?
Yes, the project is licensed under the MIT License.
🌤️ 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 usingwsl
. 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
