A battle-tested, open-source weather API and public MCP server - free to use, free to fork, maintained since 2017.
Live API: https://weather-api.madadipouya.com
Swagger Docs: https://weather-api.madadipouya.com/swagger-ui/index.html
MCP Endpoint: https://weather-api.madadipouya.com/mcp
Eris is a Spring Boot weather service that consolidates OpenWeatherMap, OpenStreetMap, and IP geolocation into a single clean API. It exposes weather data by coordinates or IP address, and since 2026, also serves as a public MCP (Model Context Protocol) server that any AI agent can plug into directly.
It's simple by design. But it's built on a foundation that doesn't cut corners.
Eris exposes a public MCP server endpoint that works out of the box with any MCP compatible AI agent (Claude, Cursor, and others).
MCP Server URL:
https://weather-api.madadipouya.com/mcp
Claude_AI_Integration.mp4
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"eris-weather": {
"type": "sse",
"url": "https://weather-api.madadipouya.com/mcp"
}
}
}| Tool | Description |
|---|---|
get_current_weather_by_latitude_and_longitude |
Get weather for a specific location by coordinates |
get_current_weather_by_ip_address |
Get weather based on caller's IP address |
No API key required. No sign-up. Just point and use.
For testing MCP locally with tools like
mcp-cli, seemcp/README.md.
This project has been quietly doing things right for nearly a decade. Here's what's under the hood:
| Area | Detail |
|---|---|
| Test Coverage | 100% β enforced via SonarCloud on every build |
| Code Quality | Zero code smells, zero duplications. SonarCloud Quality Gate always green |
| CI/CD Pipeline | Auto builds, auto releases to GitHub Releases, auto pushes Docker image to Docker Hub |
| Auto-deployment | Merges to master trigger live deployment via Adnanh Webhook + Docker Swarm |
| Security Scanning | NVD dependency vulnerability check runs on every merge to develop |
| Versioned Releases | Automatic release notes and GitHub Release artifacts on every tag |
| MCP Ready | Public MCP server endpoint, usable by any AI agent without setup |
| Swagger Docs | Full interactive API documentation at /swagger-ui/index.html |
| Clustering | Docker Swarm support with provided docker-compose-swarm.yml |
| Heroku | One click deployment button |
| Longevity | Maintained from Spring Boot 1 β 3.5 over 8 years |
The fastest way to get weather data, no account needed:
# By coordinates
$ curl "https://weather-api.madadipouya.com/v1/weather/current?lat=51.5074&lon=-0.1278"
# By IP address (uses caller's IP)
$ curl "https://weather-api.madadipouya.com/v1/weather/currentbyip"Full API reference with live examples: Swagger UI β
| Endpoint | Parameters | Description |
|---|---|---|
GET /v1/weather/current |
lat, lon, fahrenheit (optional) |
Weather by coordinates |
GET /v1/weather/currentbyip |
fahrenheit (optional) |
Weather by caller IP |
For full request/response examples, see the GitHub Pages documentation.
$ docker run -p 8080:8080 \
-e OPENWEATHERMAP_API_KEY=your-api-key \
-e ACTUATOR_USERNAME=your-username \
-e ACTUATOR_PASSWORD=your-password \
kasramp/eris:latestImages are automatically built and pushed to Docker Hub on every release.
$ export OPENWEATHERMAP_API_KEY=your-api-key
$ export ACTUATOR_USERNAME=your-username
$ export ACTUATOR_PASSWORD=your-password
$ docker stack deploy --with-registry-auth -c docker-compose-swarm.yml eris_stackRequires JDK 25 and Maven.
$ git clone https://github.com/kasramp/Eris.git
$ cd Eris
$ mvn spring-boot:run$ mvn clean install
$ cd target
$ java -jar eris-*.jarPull Request β develop
βββ SonarCloud analysis (quality gate + 100% coverage check)
βββ NVD dependency vulnerability scan
Merge to master
βββ GitHub Actions build
βββ Docker image pushed to Docker Hub β kasramp/eris:latest
βββ GitHub Release created with auto-generated release notes
βββ Adnanh Webhook triggers live redeployment on weather-api.madadipouya.com
The live instance runs in Docker Swarm with multiple replicas for availability.
- Java 25 / Spring Boot 3.5
- Maven
- Docker / Docker Swarm
- SonarCloud (quality + coverage)
- GitHub Actions (CI/CD)
- Spring MCP (MCP server)
- Springdoc / Swagger UI (API docs)
Data sources: OpenWeatherMap Β· OpenStreetMap Β· IP-API
All contributions are welcome including bug reports, pull requests, and ideas. Please open an issue first for significant changes.
Eris is free software licensed under the GNU General Public License v3.
Β© 2017β2026 Kasra Madadipouya