weather-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@weather-mcpWhat's the current weather in Tokyo?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.

weather-mcp
TypeScript MCP server that exposes weather tools backed by OpenWeatherMap.
Tools
Tool | Description |
| Current conditions by city name or lat/lon |
| 5-day / 3-hour forecast by lat/lon |
Transports
Mode | Env | Use when |
|
| Local Cursor / Claude Desktop |
Streamable HTTP |
| Deploy (Render, etc.) / remote URL |
Official MCP docs: https://modelcontextprotocol.io/docs/
Live remote (Render)
Deployed on Render’s free tier:
Base URL | |
MCP endpoint | |
Health check |
Cursor config (remote)
Add this to Settings → MCP or ~/.cursor/mcp.json:
{
"mcpServers": {
"weather": {
"url": "https://weather-mcp-ts.onrender.com/mcp"
}
}
}No local build or API key in Cursor — the key lives in Render’s env vars.
Render free tier: the service shuts down after ~15 minutes of inactivity. The next request is a cold start and can take up to ~50 seconds before MCP responds. Hit
/healthonce if Cursor tools look stuck waking up.
Related MCP server: mcp-weatherapi
Prerequisites (local only)
Node.js 20+
pnpm (or npm/yarn)
An OpenWeatherMap API key (get one here)
Setup (local)
pnpm install
cp .env.example .envEdit .env and set your key:
OPEN_WEATHER_MAP_API_KEY=your_key_here
TRANSPORT=stdioBuild the server:
pnpm run buildThis writes the runnable entrypoint to dist/index.js.
Add to Cursor (local stdio)
Cursor does not start this process from the project root by default for env loading, so pass the env file with an absolute path via Node’s --env-file flag.
Open Cursor Settings → MCP, or edit
~/.cursor/mcp.json.Add a
weatherentry undermcpServers:
{
"mcpServers": {
"weather": {
"command": "node",
"args": [
"--env-file",
"/ABSOLUTE/PATH/TO/weather-mcp/.env",
"/ABSOLUTE/PATH/TO/weather-mcp/dist/index.js"
]
}
}
}Replace /ABSOLUTE/PATH/TO/weather-mcp with your real project path (e.g. run pwd from the repo root). Keep TRANSPORT=stdio (or unset) in .env.
Alternative: env inline
{
"mcpServers": {
"weather": {
"command": "node",
"args": [
"/ABSOLUTE/PATH/TO/weather-mcp/dist/index.js"
],
"env": {
"OPEN_WEATHER_MAP_API_KEY": "your_key_here",
"TRANSPORT": "stdio"
}
}
}
}Prefer .env + --env-file so the key stays out of mcp.json.
Save, then toggle the server off/on in Settings → MCP (or restart Cursor).
Confirm the server shows as connected and lists
get_current_weatherandget_forecast.
After code changes
pnpm run buildThen reload the MCP server in Cursor.
Streamable HTTP (local)
HTTP mode serves MCP at POST/GET /mcp (configurable) plus GET /health. Streamable HTTP is configured via the official SDK’s createMcpHandler + toNodeHandler.
pnpm run build
TRANSPORT=http PORT=3000 pnpm run start
# or
pnpm run start:httpYou should see something like:
Weather MCP Server running on http://0.0.0.0:3000/mcp (Streamable HTTP)Deploy on Render
Create a Web Service from this repo (root of the project).
Build:
pnpm install && pnpm run build(ornpmequivalent).Start:
node dist/index.js(orpnpm run start).Env vars:
TRANSPORT=httpOPEN_WEATHER_MAP_API_KEY=...PORTis set by Render automatically
MCP URL:
https://<your-service>.onrender.com/mcp
This deployment:https://weather-mcp-ts.onrender.com/mcp
The HTTP endpoint is unauthenticated. Anyone with the URL can call the tools. Add auth before sharing widely.
Manual smoke check (OpenWeatherMap)
With .env set:
node --env-file=.env -e "
import { getApiKey, buildCurrentWeatherUrl, makeOWMRequest, formatCurrentWeather } from './dist/utils.js';
const apiKey = getApiKey();
const data = await makeOWMRequest(buildCurrentWeatherUrl({ apiKey, city: 'Yaounde,CM', units: 'metric' }));
console.log(data ? formatCurrentWeather(data, 'metric') : 'failed');
"Remote health:
curl -s https://weather-mcp-ts.onrender.com/healthRepo layout
weather-mcp/
├── README.md
├── package.json
├── tsconfig.json
├── .env.example
└── src/
├── index.ts # stdio + Streamable HTTP entry
├── server.ts # tool registration
├── types.ts
└── utils.tsNotes
Never commit
.env(it is gitignored).Stdio servers must not write to stdout except MCP JSON-RPC; logs go to stderr (
console.error).Free OpenWeatherMap plans cover current weather and the 5-day / 3-hour forecast used here.
License
ISC
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceWraps the OpenWeatherMap API to provide weather data through MCP, enabling AI agents to query current conditions, forecasts, and other weather information via natural language.10MIT
- AlicenseNot gradedqualityCmaintenanceProvides weather data from WeatherAPI.com through MCP, enabling AI agents to query current conditions and forecasts via natural language.11MIT
- FlicenseNot gradedqualityDmaintenanceEnables MCP clients like Kiro and Claude to access current weather conditions and forecasts for any location using the OpenWeatherMap API.
- AlicenseNot gradedqualityDmaintenanceIntegrates OpenWeatherMap API with MCP to provide weather data, forecasts, air quality, maps, alerts, and geocoding via natural language.10MIT
Related MCP Connectors
OpenWeather MCP — wraps the OpenWeatherMap API (openweathermap.org)
WeatherAPI.com MCP — wraps WeatherAPI.com (api.weatherapi.com)
Visual Crossing Weather MCP — wraps the Visual Crossing Weather Timeline API
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/RashJrEdmund/Weather-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server