WeatherTrax MCP Server
by jaredco
README.md
# π¦ WeatherTrax MCP Server
Fast, reliable weather data for **Claude and other MCP clients**.
Get current conditions and multi-day forecasts for any location worldwide.
π **Remote MCP Server (no install required)**
`https://mcp-weathertrax.jaredco.com/mcp`
---
[](LICENSE)
[](https://modelcontextprotocol.io/)
[](https://registry.modelcontextprotocol.io/v0.1/servers?search=jaredco)
---
# β‘ 10-Second Demo
Ask Claude:
> **βWhatβs the weather in Miami tomorrow?β**
Claude will call the MCP weather server and return a forecast instantly.
Example API call:
```bash
curl -X POST https://mcp-weathertrax.jaredco.com/tools/weatherTool \
-H "Content-Type: application/json" \
-d '{"location":"Miami","query_type":"current"}'
```
---
# π Features
- **Real-time Weather Data** β Current conditions, temperature, humidity, wind speed
- **Multi-day Forecasts** β Up to 14-day forecasts
- **Planning Tool** β 7-day forecasts optimized for events or construction
- **Flexible Locations** β City names, ZIP codes, or coordinates
- **Token-Efficient** β Compact responses optimized for LLM usage
- **Production-Ready** β Rate limiting and monitoring
- **Public API** β No API keys required
- **MCP Compliant** β Full JSON-RPC 2.0 support
---
# β‘ Quick Start
## Claude
In Claude or Claude Desktop, open **Settings β Connectors β Add connector** and use:
```
Name: WeatherTrax
URL: https://mcp-weathertrax.jaredco.com/mcp
```
You can now ask:
```
Whatβs the weather in New York this weekend?
```
---
# π Direct API Usage
### Health Check
```bash
curl https://mcp-weathertrax.jaredco.com/healthz
```
### MCP Manifest
```bash
curl https://mcp-weathertrax.jaredco.com/.well-known/mcp/manifest
```
---
# π‘ Usage Examples
## Current Weather
```bash
curl -X POST https://mcp-weathertrax.jaredco.com/tools/weatherTool \
-H "Content-Type: application/json" \
-d '{
"location": "San Francisco, CA",
"query_type": "current"
}'
```
Example response:
```json
{
"summary": "It is currently 54Β°F and Clear in San Francisco.",
"temp_high": 54,
"temp_low": 54,
"condition": "Clear",
"wind": "5 mph W",
"humidity": 65
}
```
---
## Multi-Day Forecast
```bash
curl -X POST https://mcp-weathertrax.jaredco.com/tools/weatherTool \
-H "Content-Type: application/json" \
-d '{
"location": "New York",
"query_type": "multi_day",
"num_days": 3
}'
```
---
# π Available Tools
### weatherTool
Retrieve current weather or forecasts.
Input:
```json
{
"location": "city name or coordinates",
"query_type": "current | multi_day",
"num_days": "optional forecast length"
}
```
---
### weatherPlanningTool
7-day planning forecast for outdoor work or events.
Input:
```json
{
"location": "city or place",
"context": "construction | travel | event",
"timeframe": "optional timeframe hint"
}
```
---
# π MCP Protocol Integration
This server supports the full MCP JSON-RPC protocol.
Example tool call:
```bash
curl -X POST https://mcp-weathertrax.jaredco.com/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc":"2.0",
"id":1,
"method":"tools/call",
"params":{
"name":"weatherTool",
"arguments":{
"location":"London",
"query_type":"current"
}
}
}'
```
---
# π§ͺ Testing
Run locally in one terminal:
```bash
npm install
npm start
```
In another terminal, run the protocol tests:
```bash
npm test
```
Release smoke suite:
```bash
npm run test:full
```
`npm run test:full` currently runs the same supported end-to-end smoke suite. The old pre-Streamable-HTTP regression harness remains available as `npm run test:legacy`; it is retained for reference and is not a release gate.
## Deployment configuration
Set these server-side environment variables; never commit them:
| Variable | Required | Purpose |
| --- | --- | --- |
| `WEATHER_API_KEY` | Yes | World Weather Online API key. |
| `PORT` | No | HTTP listener port; defaults to `3000`. |
| `TRUST_PROXY` | Production-dependent | Number of trusted reverse-proxy hops; set to `1` for a single known proxy. |
| `ALLOWED_ORIGINS` | No | Comma-separated browser origins allowed to call MCP; defaults to `https://claude.ai`. |
The service exposes aggregate, non-identifying operational counters at `/metrics`. Do not place this endpoint behind a public dashboard without adding appropriate access control.
---
# π Privacy
Privacy policy available at:
https://mcp-weathertrax.jaredco.com/privacy
Key points:
- Aggregate operational metrics only; locations and raw provider responses are not logged
- Short-lived in-memory caching reduces duplicate provider requests
- No cookies or tracking
- HTTPS enforced
---
# π Development
Clone the repo:
```bash
git clone https://github.com/jaredco/weather-mcp-server.git
cd weather-mcp-server
npm install
npm start
```
Server runs locally at:
```
http://localhost:3000
```
---
# π¦ Technology Stack
- Node.js
- Express 5
- @modelcontextprotocol/sdk
- World Weather Online API
- Railway hosting
---
# π License
MIT License.
---
# π Acknowledgments
Built using the **Model Context Protocol** by Anthropic.
Weather data provided by **World Weather Online**.
---
# π Status
Server: **Production**
API Version: **1.0.1**
MCP Protocol: **2025-03-26**
---
Made with βοΈ for Claude and MCP
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues