Weather-MCP-Server
Enables sending severe-weather alerts and automated reports via email
Enables sending severe-weather alerts and automated reports via SMS or phone calls
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 in London?"
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 Platform
Agentic weather intelligence, built production-first. Weather data exposed as MCP tools, orchestrated by a LangGraph agent with persistent memory, grounded by citation-aware RAG over disaster-management documents — with automated reports, severe-weather alerts, and published eval numbers gating every release.
Why this project
Most GenAI demos stop at "it answers questions." This one is built solo, to production standards, and every claim below has a testable definition of done:
MCP-native — five typed weather tools + resources + prompts, served over stdio and streamable HTTP; plugs into Claude Desktop or any MCP host
Agentic — LangGraph planning agent with per-user persistent memory, token streaming, human-in-the-loop on outbound actions, and a per-request cost ledger
Grounded — hybrid retrieval (BM25 + pgvector, RRF-fused, cross-encoder reranked) over 20+ disaster/climate documents; every corpus-derived claim carries a citation, and empty retrieval means "the corpus has no answer" — never fabrication
Evaluated — a frozen golden dataset and RAGAS-style quality gates wired into CI; releases are blocked if faithfulness or retrieval quality regresses
Operated — HTTPS deployment with tracing, metrics, uptime monitoring, retries, and dead-letter queues; numbers, not vibes
Related MCP server: MCP Weather Server
Architecture (target)
flowchart TB
subgraph CLIENTS["Clients"]
CD["Claude Desktop / any MCP host"]
UI["Next.js chat UI"]
CRON["Schedules (cron)"]
end
subgraph APP["FastAPI · single deployable"]
REST["REST /v1 + WebSocket<br/>JWT · RBAC · rate limits"]
MCP["MCP server<br/>stdio + streamable HTTP"]
AGENT["LangGraph agent<br/>LiteLLM · memory · HITL"]
RAG["RAG pipeline<br/>hybrid retrieve · rerank · cite"]
JOBS["Workers<br/>APScheduler · retries · DLQ"]
end
subgraph DATA["Data"]
PG[("PostgreSQL 16 + pgvector")]
RS[("Redis 7")]
end
subgraph EXT["External (outbound only)"]
OM["Open-Meteo"]
LLM["OpenAI / Ollama"]
NOTIFY["Resend / Twilio"]
LS["LangSmith"]
end
CD --> MCP
UI --> REST
CRON --> JOBS
REST --> AGENT
AGENT --> MCP
AGENT --> RAG
AGENT --> LLM
AGENT -. traces .-> LS
MCP --> OM
MCP -. cache .-> RS
RAG --> PG
AGENT --> PG
JOBS --> NOTIFYFull component rationale, data model, and non-functional targets live in docs/PRD.md.
MCP tools (ship in v0.1)
Tool | Returns |
| temp, feels-like, humidity, wind speed/direction, condition |
| 1–7 day forecast: min/max, precipitation probability, sunrise/sunset |
| AQI (US + EU), PM2.5, PM10, O₃, NO₂, category + health advice |
| current + daily max UV, category, safe exposure minutes |
| active alerts: type, severity, onset, expiry, area, source |
Shared conventions: location as {city} or {lat, lon}; metric/imperial units; structured errors (INVALID_INPUT, LOCATION_NOT_FOUND, UPSTREAM_UNAVAILABLE, RATE_LIMITED); Redis-cached with per-tool TTLs. Weather data from Open-Meteo (free, keyless).
Tech stack — and why
Layer | Choice | Why |
API | FastAPI (async) | typed, async-native, OpenAPI docs for free |
Database | PostgreSQL 16 + pgvector | one store for relational + vectors + full-text (BM25) |
Cache / queues | Redis 7 | response cache, semantic cache, rate limits, pub/sub |
Agent runtime | LangGraph | explicit state graphs; checkpointing gives durable memory |
LLM gateway | LiteLLM | OpenAI default, local Ollama fallback — swap via env |
MCP | official Python SDK | stdio for Claude Desktop, streamable HTTP for the web |
Evals | RAGAS / DeepEval | spiking both, keeping one (decision D-03) |
Observability | LangSmith + OpenTelemetry | LLM traces + infra spans, separately cheap |
Jobs | APScheduler + SQLAlchemy store | survives restarts; no Celery needed at this scale |
Deploy | Docker Compose + Caddy + GitHub Actions | single VPS, automatic HTTPS, CD on tag |
UI | Next.js + Tailwind | existing skills; hard one-week timebox |
Quickstart
The standing promise from v0.1 onward: clean machine → running MCP server in ≤ 10 minutes. Until then, this brings up the current state.
# Prerequisites: Python 3.12, uv, Docker
git clone https://github.com/AbhishekRaj0037/weather-mcp-platform.git
cd Weather-MCP-Server
cp .env.example .env # config is env-only, app fails fast on missing keys
docker compose up -d # Postgres 16 (+pgvector) and Redis 7
uv sync
uv run pytest # same suite CI runsConnect to Claude Desktop (from v0.1)
Add the server to claude_desktop_config.json and the five tools appear in any conversation:
{
"mcpServers": {
"weather": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/weather-mcp-platform",
"weather-mcp-server"
]
}
}
}Docs
docs/PRD.md— requirements & architecture spec v1.0: functional requirements with acceptance criteria, NFRs, tool contracts, data model, risks, open decisionsVersion acceptance gates and the 26-week execution cadence live in the PRD's companion weekly plan — this repo ships against it publicly
Author
Abhishek Raj — Python backend / GenAI engineer. Building this in public, Jul–Dec 2026. GitHub · LinkedIn
License
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
- 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/AbhishekRaj0037/Weather-MCP-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server