A free, open-source weather API and public MCP server. Get current conditions by coordinates or IP - no key, no sign up, no limits on the public instance.
Eris exposes a public MCP server. Connect it to Claude, Cursor, or any MCP-compatible agent and let your AI query live weather data, no key required.
Add to claude_desktop_config.json:
{
"mcpServers": {
"eris-weather": {
"type": "http",
"url": "https://weather-api.madadipouya.com/mcp"
}
}
}
Or test with curl:
curl "https://weather-api.madadipouya.com/mcp"
The kind of quality you'd expect from a professional codebase, an open-source side project, maintained for 8 years and counting.
/swagger-ui/index.html, try it live.# develop branch Pull Request → develop ├── ✓ SonarCloud (quality gate + 100% coverage check) └── ✓ NVD scan (dependency vulnerability check) # master branch Merge to master ├── ✓ Build & Test ├── ↑ Docker Hub kasramp/eris:latest ├── ↑ GitHub Release + auto release notes + Jar artifact └── ⟳ Live deploy webhook → Docker Swarm → weather-api.madadipouya.com
Two endpoints, same response shape. Try them live in the Swagger UI →
| Parameter | Type | Required | Description |
|---|---|---|---|
| lat | Decimal | Yes | Latitude |
| lon | Decimal | Yes | Longitude |
| fahrenheit | Boolean | No | Use Fahrenheit + miles (default: false = Celsius + km) |
{
"country": "Germany",
"geoLocation": "Berlin, 10115, Germany",
"temperature": 18.4,
"feelsLike": 17.1,
"main": {
"temp": 18.4,
"pressure": 1015,
"humidity": 62,
"temp_min": 16.0,
"temp_max": 20.0
},
"weather": [{ "main": "Clouds", "description": "scattered clouds" }],
"wind": { "speed": 3.2, "deg": 220 },
"visibility": "10000",
"errors": []
}
| Parameter | Type | Required | Description |
|---|---|---|---|
| fahrenheit | Boolean | No | Use Fahrenheit + miles (default: false) |
/* Same response shape as /current */ { "country": "...", "geoLocation": "...", "temperature": 0.0, "errors": [] }
curl "https://weather-api.madadipouya.com/v1/weather/current?lat=52.52&lon=13.405"
curl "https://weather-api.madadipouya.com/v1/weather/currentbyip"
Self-host with a single Docker command, scale with Swarm, or deploy to Heroku in one click.
Recommended. Images are auto-published to Docker Hub on every release.
docker run -p 8080:8080 \ -e OPENWEATHERMAP_API_KEY=key \ -e ACTUATOR_USERNAME=user \ -e ACTUATOR_PASSWORD=pass \ kasramp/eris:latest
Multi-node clustering with the included Swarm compose template.
export OPENWEATHERMAP_API_KEY=key docker stack deploy \ -c docker-compose-swarm.yml \ eris_stack