openSenseMap
live EnvironmentScienceCitizen-science sensor network readings worldwide — hyperlocal temperature, humidity, PM2.5 and noise from senseBox stations near any location, with per-station readouts and outlier-robust area averaging.
Tools
opensensemap_nearby Find citizen science sensor stations (senseBox, openSenseMap network) near a lat/lon and return their latest readings — hyperlocal temperature, humidity, air pressure, PM2.5/PM10 air quality, illumina
No parameters required.
Try it
opensensemap_box Get one openSenseMap citizen science sensor station (senseBox) by its box id — full sensor readout with latest value, unit, and measurement time per sensor (temperature, humidity, PM2.5/PM10 air quali
No parameters required.
Try it
opensensemap_area_average Average one phenomenon across all citizen science sensors (openSenseMap / senseBox network) in an area — hyperlocal neighborhood-level temperature, PM2.5/PM10 air quality, humidity, pressure or noise
No parameters required.
Try it
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
curl -X POST https://gateway.pipeworx.io/opensensemap/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' curl -X POST https://gateway.pipeworx.io/opensensemap/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"opensensemap_nearby","arguments":{}}}' Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("opensensemap_nearby", {}); // Or ask in plain English:
const answer = await px.ask("citizen-science sensor network readings worldwide — hyperlocal temperature, humidity, pm2");