Weather MCP Server
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 MCP Serverwhat's the weather forecast for Tokyo this weekend?"
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 Server
A Model Context Protocol (MCP) server for weather data with OpenAPI support. This server provides weather information from OpenWeatherMap API and can be used by LLM agents through MCP.
Features
MCP stdio transport for LLM agent integration
HTTP REST API with OpenAPI 3.0 specification
4 weather tools:
Get current weather by city
Get current weather by coordinates
Get weather forecast (5-day, 3-hour intervals)
Get temperature range summary
Mock data support for testing without API key
TypeScript implementation with full type safety
Installation
cd weather-mcp-server
npm install
npm run buildUsage
1. MCP Server (stdio transport)
Run the MCP server for LLM agents:
npm startOr in development mode:
npm run dev2. HTTP Server with OpenAPI
Run the HTTP server with REST API:
npm run dev:httpThe server will start on http://localhost:3000 with:
/health- Health check endpoint/openapi- OpenAPI specification/api/v1/weather/current/{city}- Current weather by city/api/v1/weather/current/coordinates- Current weather by coordinates/api/v1/weather/forecast/{city}- Weather forecast
3. Configuration
Set your OpenWeatherMap API key (optional - mock data will be used if not provided):
export OPENWEATHER_API_KEY=your_api_key_hereOr create a .env file:
OPENWEATHER_API_KEY=your_api_key_hereMCP Tools
The server provides the following MCP tools:
Tool Name | Description | Parameters |
| Get current weather by city |
|
| Get current weather by coordinates |
|
| Get weather forecast |
|
| Get temperature range summary |
|
API Endpoints
HTTP REST API
All endpoints return JSON with the following structure:
{
"success": true,
"data": { ... }
}1. Current Weather by City
GET /api/v1/weather/current/{city}Example:
curl http://localhost:3000/api/v1/weather/current/London2. Current Weather by Coordinates
GET /api/v1/weather/current/coordinates?lat={latitude}&lon={longitude}Example:
curl "http://localhost:3000/api/v1/weather/current/coordinates?lat=51.5074&lon=-0.1276"3. Weather Forecast
GET /api/v1/weather/forecast/{city}?days={days}Example:
curl "http://localhost:3000/api/v1/weather/forecast/New%20York?days=3"Testing
Run the test suite:
npm testRun MCP inspector for debugging:
npm run inspectProject Structure
weather-mcp-server/
├── src/
│ ├── index.ts # MCP stdio server
│ ├── http-server.ts # HTTP server with OpenAPI
│ ├── types/
│ │ └── weather.ts # TypeScript types and Zod schemas
│ ├── utils/
│ │ └── weather-client.ts # OpenWeatherMap API client
│ └── tools/
│ └── weather-tools.ts # MCP tool definitions
├── dist/ # Compiled JavaScript
├── test/
│ └── test.js # Test suite
├── package.json
├── tsconfig.json
└── README.mdDependencies
@modelcontextprotocol/sdk- MCP SDK for TypeScriptexpress- HTTP server frameworkaxios- HTTP client for API callszod- Schema validationtypescript- TypeScript compiler
License
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/akdrione/weather-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server