openSenseMap

live EnvironmentScience

Citizen-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.

3 tools
0ms auth
free tier 50 calls/day

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.

List available tools
bash
curl -X POST https://gateway.pipeworx.io/opensensemap/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Call a tool
bash
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.

TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("opensensemap_nearby", {});
ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("citizen-science sensor network readings worldwide — hyperlocal temperature, humidity, pm2");