Metadata-Version: 2.4
Name: meteologix-mcp
Version: 0.1.3
Summary: MCP server for Open-Meteo location search and Meteologix fccompact forecasts
Author: Meteologix MCP contributors
License-Expression: MIT
Project-URL: Homepage, https://pypi.org/project/meteologix-mcp/
Keywords: mcp,meteologix,weather,forecast,model-context-protocol
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Internet
Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: curl_cffi<1,>=0.15
Requires-Dist: httpx<1,>=0.28
Requires-Dist: mcp<2,>=1.27
Dynamic: license-file

# Meteologix MCP

Python MCP server for Open-Meteo location search and Meteologix `fccompact` forecast data.

This package exposes Meteologix as Model Context Protocol tools:

- `meteologix_search_locations`
- `meteologix_list_models`
- `meteologix_get_meteogram`
- `meteologix_get_current`
- `meteologix_get_daily_summary`

## Install

```bash
pip install meteologix-mcp
```

## Run

```bash
python3 -m meteologix-mcp
```

MCP client configuration:

```json
{
  "mcpServers": {
    "meteologix-weather": {
      "command": "python3",
      "args": ["-m", "meteologix-mcp"]
    }
  }
}
```

## City Search

Use `meteologix_search_locations` first:

```json
{
  "query": "shanghai",
  "limit": 5
}
```

Then pass the returned Open-Meteo `location_id` into forecast tools:

```json
{
  "location_id": "1796236",
  "model": "rapid-euro",
  "hours": 48
}
```

Location search uses the Open-Meteo Geocoding API. The returned `id` is exposed directly as `location_id`, `open_meteo_id`, and `geonames_id`:

```text
https://geocoding-api.open-meteo.com/v1/search?name=Shanghai&count=5&language=en&format=json
```

Forecast tools use:

```text
https://meteologix.com/ajax_pub/fccompact
```

## Notes

`fccompact` is a Meteologix web endpoint observed from the public site. It is not documented as a public stability contract by Meteologix. Meteologix currently sits behind Akamai rules that reject common non-browser clients such as Python `httpx` and `curl`, so forecast requests use `curl_cffi` with a browser TLS fingerprint. Use reasonable request volume and respect Meteologix terms. Location search is provided by the public Open-Meteo Geocoding API.

## Maintainer Release

```bash
python -m build --no-isolation --outdir python_dist
python -m twine check python_dist/*
TWINE_USERNAME=__token__ TWINE_PASSWORD=pypi-... python -m twine upload python_dist/*
```
