Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Infoclimat

FreeNot checked

Enables querying French weather data from Infoclimat via MCP, including station search, observations, and precipitation summaries.

GitHubEmbed

About

Enables querying French weather data from Infoclimat via MCP, including station search, observations, and precipitation summaries.

README

A FastMCP server that exposes Infoclimat weather data via the Model Context Protocol (MCP). The server proxies requests to the Infoclimat API, injecting your API token server-side so clients never see it.

Tools

Tool Description
list_stations List stations with optional filters (département, pays, genre, active_only)
search_stations Search stations by name or département — use this to resolve a place name to station IDs
find_nearest_stations Find stations within a radius of a lat/lon point
get_observations Observations for one or more stations over a date range — raw (~10 min resolution) or aggregated daily (aggregate="daily")
get_latest Latest observation for each requested station
get_precipitation_summary Precipitation totals over a period, with lat/lon for mapping

Installation

With uv (recommended)

git clone <repo>
cd infoclimat-mcp
uv sync

With pip

pip install fastmcp httpx cachetools python-dotenv

Configuration

Copy .env.example to .env and fill in your token:

cp .env.example .env
INFOCLIMAT_TOKEN=your_token_here
MCP_HOST=0.0.0.0   # optional, default 0.0.0.0
MCP_PORT=8000      # optional, default 8000

Get a token at infoclimat.fr.

Running

uv run python main.py

The server starts an SSE endpoint at http://0.0.0.0:8000/sse.

Docker

The image is published automatically to GitHub Container Registry on every push to master and on version tags.

docker pull ghcr.io/cmer81/infoclimat-mcp:latest

Run the server:

docker run -d \
  -e INFOCLIMAT_TOKEN=your_token_here \
  -p 8000:8000 \
  ghcr.io/cmer81/infoclimat-mcp:latest

Optional environment variables:

Variable Default Description
INFOCLIMAT_TOKEN (required) Your Infoclimat API token
MCP_HOST 0.0.0.0 Host to bind
MCP_PORT 8000 Port to listen on

The SSE endpoint is available at http://localhost:8000/sse.

Note: Never pass INFOCLIMAT_TOKEN as a build argument — always supply it at runtime via -e.

MCP Client Configuration

The Docker image exposes the same SSE endpoint (/sse) on port 8000. The configuration below applies whether you're running the server directly or via Docker.

Claude Desktop (remote server via SSE)

Note: Claude Desktop natively uses stdio for local MCP servers. The config below assumes the server is deployed remotely (e.g., behind a reverse proxy with TLS).

{
  "mcpServers": {
    "infoclimat": {
      "transport": "sse",
      "url": "https://your-server.example.com/sse"
    }
  }
}

Generic HTTP/SSE MCP client

SSE endpoint: https://your-server.example.com/sse

Reverse proxy (TLS)

Example Caddyfile for TLS termination:

your-server.example.com {
    reverse_proxy localhost:8000
}

Daily Aggregation

get_observations accepts an optional aggregate parameter:

Value Behaviour
"raw" (default) Returns all raw ~10-minute observations
"daily" Returns compact per-day statistics — suitable for injecting into LLM context

Example daily response per station:

{
  "STATIC0183": {
    "station_name": "Sainte-Radegonde",
    "period": { "start": "2026-03-01", "end": "2026-03-21" },
    "daily": [
      {
        "date": "2026-03-01",
        "temp_min": 2.2,
        "temp_mean": 6.9,
        "temp_max": 13.8,
        "humidity_mean": 79.0,
        "wind_mean_kmh": 7.2,
        "wind_gust_max_kmh": 63.7,
        "pressure_mean": 1023.8,
        "precip_mm": 0.0
      }
    ],
    "summary": {
      "temp_min_abs": -4.1,
      "temp_max_abs": 21.4,
      "temp_mean": 8.2,
      "precip_total_mm": 29.8,
      "days_count": 21
    }
  }
}

Fields with all-null source values are omitted. precip_mm is the last pluie_cumul_0h value of the day (cumul since midnight).

Caching

  • Station list: cached 1 hour in memory
  • Observations: cached 10 minutes per (stations, start, end) key
  • Cache is lost on server restart

from github.com/cmer81/infoclimat-mcp

Installing Infoclimat

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/cmer81/infoclimat-mcp

FAQ

Is Infoclimat MCP free?

Yes, Infoclimat MCP is free — one-click install via Unyly at no cost.

Does Infoclimat need an API key?

No, Infoclimat runs without API keys or environment variables.

Is Infoclimat hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install Infoclimat in Claude Desktop, Claude Code or Cursor?

Open Infoclimat on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Infoclimat with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs