Configure a ChirpStack application server integration to forward device uplinks to an external HTTP endpoint and provision devices via the gRPC/REST API
Deploy ChirpStack (via Docker Compose or native packages) and log in to the web UI; create a Tenant, Application, and Device Profile matching your LoRaWAN device class and regional parameters
Add an HTTP Integration to the Application: navigate to Application > Integrations > HTTP, enter the uplink and event endpoint URLs, and optionally configure basic auth or a custom header for security
Provision a device via the REST API: POST /api/devices with a JSON body specifying devEui, name, applicationId, deviceProfileId, and skipFcntCheck; then POST /api/devices/<devEui>/keys with the appKey for OTAA
Verify the integration by powering on a device and checking that the HTTP endpoint receives uplink payloads; the payload includes decoded frmPayload, metadata (RSSI, SNR, frequency), and device EUI
Use the ChirpStack gRPC API (or the REST gateway at /api) for bulk device management; authenticate with an API key generated in the UI under API Keys
Set up a downlink by POSTing to /api/devices/<devEui>/queue with the desired payload, fPort, and confirmed flag; ChirpStack will send the downlink on the next available receive window
Known gotchas
ChirpStack v4 changed the API from a separate application-server REST API to a unified gRPC API with a REST gateway; clients written for v3 must be updated as endpoint paths and auth mechanisms changed
HTTP integration endpoints must respond with a 2xx status within the timeout; if the endpoint is slow or returns an error, ChirpStack may drop subsequent events rather than queue them indefinitely
Device frame counters (FCnt) are validated by default for LoRaWAN 1.0.x; enabling skipFcntCheck disables replay protection and should only be used during development
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp