Skip to main content
Glama
cmer81

infoclimat-mcp

by cmer81

infoclimat-mcp

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

Related MCP server: MCP Weather Server

Installation

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

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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/cmer81/infoclimat-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server