About weatherport
weatherport is a CLI and stdio MCP server for querying OpenWeather. It provides city weather, forecasts, point-based air and One Call data, and geocoding, using an OpenWeather API key.
Key features
- 01Current city weather
- 02Five-day forecast in three-hour steps
- 03One Call 3.0 weather summaries
- 04Air pollution and AQI data
- 05Place-name geocoding
Use cases
- 01Check current conditions in a city
- 02Review upcoming weather by three-hour interval
- 03Inspect air quality at coordinates
- 04Resolve a place name to coordinates
MCP support
Runs as a stdio MCP server and exposes tools for current weather, forecasts, One Call data, air pollution, and geocoding to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
5Saved tool list · updated 1w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| units | string | No | Unit system for the response: one of standard, metric, or imperial. |
| location | string | Yes | City or place name to get current weather for; must be a non-empty string. |
Details
From the project READMEweatherport
weatherport brings OpenWeather to the terminal and to MCP clients. It answers the questions people actually ask of that service: what is it like in a city right now, what is coming over the next five days in three-hour steps, what does the fuller One Call 3.0 view say for a precise point on the map, how clean is the air there, and where exactly is a place name? One binary serves both a command-line interface and a stdio MCP server.
An OpenWeather API key is required for every call. Put it in the
OPENWEATHER_API_KEY environment variable; weatherport sends it
to https://api.openweathermap.org as the appid query
parameter and never prints it. When the variable is missing or
blank, calls fail with an error that names it, before any request
is made. Note that One Call 3.0 needs a separate upstream
subscription in reality, even though it uses the same key.
Units are optional everywhere they apply: standard, metric,
or imperial. Anything else is rejected before a request.
Install
npx @reneturcios/weatherport current Paris --units metric
Or run the container image:
docker run -i -e OPENWEATHER_API_KEY ghcr.io/cloudcorprecords/weatherport
The container defaults to the MCP server. Pass CLI arguments to use it as a CLI instead.
CLI
export OPENWEATHER_API_KEY=<your key>
weatherport current Paris --units metric
weatherport forecast Berlin --units imperial --count 5
weatherport onecall 51.5 -0.12 --units metric
weatherport pollution 51.5 -0.12
weatherport geocode Paris --limit 3
weatherport --version
Each command prints the upstream JSON payload. Exit codes: 0
on success, 1 when a call fails (including a missing
OPENWEATHER_API_KEY or an API error), 2 for usage errors.
MCP server
npx -y @reneturcios/weatherport mcp
MCP client configuration:
{
"mcpServers": {
"weatherport": {
"command": "npx",
"args": ["-y", "@reneturcios/weatherport", "mcp"],
"env": { "OPENWEATHER_API_KEY": "..." }
}
}
}
Tools
| Tool | Input | What it returns |
|---|---|---|
get_current_weather | location (required), units (optional) | Current weather for a city. |
get_forecast | location (required), units, count (optional) | 5-day forecast in 3-hour steps. |
get_onecall_weather | lat, lon (required), units (optional) | One Call 3.0 current, hourly, and daily summaries. |
get_air_pollution | lat, lon (required) | Current AQI and pollutant components. |
geocode_location | query (required), limit (optional) | Coordinate matches for a place name. |
Latitude must be in [-90, 90] and longitude in [-180, 180];
out-of-range values are rejected before any request. HTTP
failures surface the status plus OpenWeather's message field
when the upstream JSON provides one.
Development
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev # run the CLI from source via tsx
License
MIT — see LICENSE.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.