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).
- Exposes an MCP tool:
getWhetherByCityName - Fetches weather data for any city using OpenWeatherMap
- Compatible with Cursor AI client
- WSL support with clean
.envconfiguration
- Cursor installed
- WSL enabled with Ubuntu or other Linux distro
- Node.js and npm installed in WSL
- OpenWeatherMap API key
# In WSL terminal
git clone https://github.com/your-username/mcp-weather-server
cd mcp-weather-server
npm installCreate 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.
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:
envkey won't work properly when usingwsl. Use a.envfile instead.
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.
mcp-poc/
├── index.js # MCP server entrypoint
├── .env # Your API key
├── package.json
└── README.md
MIT