Live weather and air quality (GAIA)
Weather, air quality and nearest live sensors anywhere, each with a signed receipt. Free, no key.
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
claude mcp add --transport http live-weather-and-air-quality-gaia 'https://modelmarket.dev/tools/mcp/weather'
{
"mcpServers": {
"live-weather-and-air-quality-gaia": {
"type": "http",
"url": "https://modelmarket.dev/tools/mcp/weather"
}
}
}
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
المحتويات
🔄 Synced from a monorepo — but with a live history.
gaiamirrors the canonical AI-Factory monorepo. History here is append-only (no force-push). Pull requests are welcome — merged PRs are imported back into the monorepo and re-synced here, so your contribution becomes canonical. 💬 Issues · Pull requests both welcome.
GAIA — physical-world oracle gateway
Own a weather station or air-quality sensor? Sell your readings through your own Hub + GAIA.
For an existing MQTT station, see the single-station MQTT adapter.
=3.11" />
GAIA is a physical-world oracle gateway that sells Ed25519-attested sensor readings from
virtual IoT devices as paid AIMarket v2 capabilities, and serves a Metis-envelope-compatible
/v1/verify so the hub's Pay-on-Verified escrow can settle them —
an honest reading gets the provider paid, a lying sensor refunds the buyer automatically.
It is the ecosystem's third oracle class: math oracles prove computations, Metis judges LLM output, GAIA grounds settlement in physics. The demo fleet is simulated (two co-located weather stations sharing one site truth, an air-quality node, an energy meter — models imitate BME280/SDS011/SCD30/Shelly-EM-class hardware), but every wire surface — manifest, invoke, receipts, provider signature, verify envelope, W3C WoT Thing Descriptions — is the real one.
📖 Deep-dive (monorepo):
docs/iot-physical-oracles.md🌍 Live devices:gaia/devices/live.py🎬 3D visualization:frontend/(cd frontend && npm i && npm run dev)
Quickstart
# Container
docker pull ghcr.io/alexar76/gaia:latest
docker run --rm -p 9320:9320 ghcr.io/alexar76/gaia:latest
# From source (satellite checkout vendors oracle-core)
pip install -e vendor/oracle-core -e ".[dev]" # or: pip install -e ../oracles/core -e ".[dev]"
python -m gaia.main # :9320
Poke it:
curl -s localhost:9320/.well-known/ai-market.json
curl -s localhost:9320/ai-market/v2/manifest
curl -s -X POST localhost:9320/ai-market/v2/invoke \
-H 'Content-Type: application/json' \
-d '{"capability_id": "gaia.weather.read@v1", "product_id": "gaia.gateway",
"input": {"device_id": "ws-01"}}'
Live devices — relay real public sensors
Set GAIA_ENABLE_LIVE=1 to register real public-API relays alongside the simulators.
Every relay uses the same Ed25519 attestation + plausibility path. Unreachable upstream
→ DeviceOffline → 503 / {ok:false} → no debit. Upstream hosts are allowlisted
(SSRF defence); invoke clients never supply a URL.
| Device id | Capability | Upstream | Key? |
|---|---|---|---|
nws-01 | gaia.weather.read@v1 | NOAA/NWS api.weather.gov | no |
om-wx-01 | gaia.weather.read@v1 | Open-Meteo weather | no |
osm-01 | gaia.air.read@v1 | openSenseMap | no |
om-aq-01 | gaia.air.read@v1 | Open-Meteo air quality | no |
sta-01 | gaia.air.read@v1 | OGC SensorThings (Fraunhofer) | no |
openaq-01 | gaia.air.read@v1 | OpenAQ v3 | yes — free key from explore.openaq.org → GAIA_OPENAQ_API_KEY |
uk-grid-01 | gaia.grid.read@v1 | UK Carbon Intensity | no |
usgs-quake-01 | gaia.quake.read@v1 | USGS GeoJSON feed | no |
noaa-tide-01 | gaia.tide.read@v1 | NOAA CO-OPS tides | no |
firms-fire-01 | gaia.fire.read@v1 | NASA FIRMS VIIRS (cite NASA) | no |
safecast-01 | gaia.radiation.read@v1 | Safecast (CC0) | no |
cybernews-jam-01 | gaia.jamming.read@v1 | CyberNews GNSS (CC BY 4.0) | no |
feeder-adsb-01 | gaia.adsb.read@v1 | Own dump1090 ingest | GAIA_FEEDER_* |
feeder-ais-01 | gaia.ais.read@v1 | Own AIS ingest | GAIA_FEEDER_* |
Full operator notes (5 languages): docs/LIVE-RELAYS.md.
Add a sensor / pin (GAIA → ATLAS): docs/add-gaia-atlas-sensor.md (EN · RU · ES · FR · ZH).
curl -s -X POST https://iot.modelmarket.dev/ai-market/v2/invoke \
-H 'Content-Type: application/json' \
-d '{"capability_id":"gaia.grid.read@v1","product_id":"gaia.gateway",
"input":{"device_id":"uk-grid-01"}}'
Beyond reading — places, power prices, imagery, device control
| Capability | Price | What it does | Guide |
|---|---|---|---|
gaia.place.resolve@v1 | free | Any populated place by name ("Kraków", "Paris, Texas", "東京") → one place, or the candidates when the name is ambiguous; says which GAIA reads cover it (GeoNames, CC BY 4.0) | Places |
gaia.power.price.read@v1 | $0.001 | Day-ahead electricity price of a European bidding zone, now and over the next 24 h (SMARD, CC BY 4.0; 15 zones) | Power prices |
gaia.power.window@v1 | $0.002 | When is power cheapest for N hours — with the prices used and their SHA-256 (an 11 kW EV charge was 38 % cheaper at 12:30 than at 08:40 on 2026-10-16) | Power prices |
gaia.imagery.read@v1 | $0.005 | Latest cloud-free Sentinel-2 view of any land point: NDVI, NDWI, NBR, NDMI | Imagery |
gaia.actuator.list@v1 | free | The operator's switchable devices and their limits | Device control |
gaia.actuate@v1 | $0.05 | Switch the public demo plug on for N seconds or off — paid only for the effect its meter measures (Pay-on-Verified). A real plug answers only its owner | Device control |
gaia.owner.command@v1 | free | The owner (or a delegate) switches their own plug, signed with their wallet (EIP-712) — no hub, no payment | Device control |
gaia.owner.consumption@v1 | free | The owner reads their plug's hourly or daily consumption, signed by the plug's key | Device control |
gaia.consumption.read@v1 | $0.01 | A plug's consumption statistics, only where its owner put them on sale, in whole finished hours or days | Device control |
License
MIT — see LICENSE.
الأسئلة الشائعة
ما هو Live weather and air quality (GAIA)؟
Weather, air quality and nearest live sensors anywhere, each with a signed receipt. Free, no key.
كيف أثبّت Live weather and air quality (GAIA)؟
يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http live-weather-and-air-quality-gaia 'https://modelmarket.dev/tools/mcp/weather'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج Live weather and air quality (GAIA) إلى مفتاح API؟
لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.
هل Live weather and air quality (GAIA) مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون Live weather and air quality (GAIA)؟
ينشره alexar76. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.