ChirpStack
Manage and live-debug LoRaWAN devices on a ChirpStack v4 network server over its gRPC API
Connector by oliveres · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/oliveres-chirpstack-mcp-server
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 36 read · 25 write · 20 delete
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- Not scanned yet
- Runs as
- Python package
Tools by what they do 81
Read from the source code; the running server may list different tools.
Read 36 · Look things up without changing anything.
api_key_listapplication_getapplication_listapplication_list_device_tagscapture_listcapture_readdevice_getdevice_listdevice_metricsdevice_queue_getdevice_recent_eventsfuota_get
Show 24 more tools
fuota_listfuota_list_devicesfuota_list_jobsgateway_getgateway_listgateway_metricsintegration_getintegration_listmulticast_getmulticast_listmulticast_queue_listprofile_getprofile_listprofile_list_adr_algorithmsprofile_list_vendorsrelay_gateway_getrelay_gateway_listrelay_listrelay_list_devicesserver_infotenant_gettenant_listtenant_user_listwait_for_event
Write 25 · Create, change, send or run things.
api_key_createapplication_createapplication_updatecapture_startcapture_stopdevice_createdevice_enqueuedevice_updatefuota_add_devicesfuota_createfuota_updategateway_create
Show 13 more tools
gateway_updateintegration_setmulticast_add_devicemulticast_createmulticast_enqueuemulticast_updateprofile_createprofile_set_codecprofile_updaterelay_add_devicetenant_createtenant_updatetenant_user_add
Delete 20 · Delete, drop, revoke or wipe things.
api_key_deleteapplication_deletedevice_activatedevice_deactivatedevice_deletedevice_flush_dev_noncesdevice_queue_flushdevice_set_keysfuota_deletefuota_remove_devicesfuota_startgateway_delete
Show 8 more tools
integration_deletemulticast_deletemulticast_queue_flushmulticast_remove_deviceprofile_deleterelay_remove_devicetenant_deletetenant_user_remove
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
CHIRPSTACK_API_KEY
Other settings (environment variables or headers).
CHIRPSTACK_SERVERCHIRPSTACK_TLSCHIRPSTACK_TOOLSETS
Tools (81)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
api_key_createCreate an API key. The token is shown once, here; store it securely. Leave tenant_id empty with is_admin for a global key.
api_key_deletecan change or delete dataRevoke an API key.
api_key_listread-onlyList API keys: names, ids, and permission/tenant metadata; tokens are never retrievable.
application_createCreate an application in a tenant.
application_deletecan change or delete dataDelete an application and all of its devices.
application_getread-onlyGet an application.
application_listread-onlyList applications of a tenant.
application_list_device_tagsread-onlyList the distinct device tag keys and values used inside an application.
application_updateUpdate only the given fields of an application. Supplying `tags` replaces the whole tag map.
capture_listread-onlyList capture sessions, including ones stopped by a terminal error (`stream_state` starts with `stopped:`).
capture_readread-onlyRead captured items with seq > since_seq. Remember last_seq and pass it back next time. Check stream_state for reconnects. Each item carries `live`: false means ChirpStack replayed it from before the session started, true means it happened while the session was open.
capture_startStart a background capture of a device's events/frames or a gateway's frames. Returns a session_id; read incrementally with capture_read. Sessions idle for 30 minutes are dropped.
capture_stopStop a capture session and discard its buffer.
device_activatecan change or delete dataABP-activate a device (or reset an OTAA session). For LoRaWAN 1.0.x pass nwk_s_enc_key only; the other two network keys default to it.
device_createCreate a device. Set OTAA keys afterwards with device_set_keys, or ABP session with device_activate.
Show 66 more tools
device_deactivatecan change or delete dataDrop the device session; an OTAA device must re-join before it can communicate.
device_deletecan change or delete dataDelete a device and everything ChirpStack stores about it.
device_enqueueQueue a downlink. Give the payload as data_hex, data_base64, or object (encoded by the profile codec). Class A devices receive it after their next uplink.
device_flush_dev_noncescan change or delete dataForget used DevNonces so a device whose join-requests are rejected as replays can join again.
device_getread-onlyGet a device with its current activation (session) and, if include_keys, its OTAA root keys. include_keys also reveals the session keys in `activation`.
device_listread-onlyList devices in an application (optionally filtered by a search string).
device_metricsread-onlyLink quality (RSSI, SNR, packets per frequency/DR, errors) plus codec-defined device metrics. Defaults to the last 24 hours.
device_queue_flushcan change or delete dataDiscard every queued downlink for a device.
device_queue_getread-onlyShow downlinks waiting for (or pending confirmation from) a device.
device_recent_eventsread-onlyOne-shot look at the last few events (or frames) ChirpStack still holds for a device - typically the last 10.
device_set_keyscan change or delete dataCreate or replace the OTAA root keys. LoRaWAN 1.0.x devices use nwk_key only (their AppKey goes in nwk_key).
device_updateUpdate only the given fields of a device; omitted fields keep their current values. Supplying `tags` replaces the whole tag map. Supplying `variables` replaces the whole variable map.
fuota_add_devicesAdd devices to a deployment.
fuota_createCreate a FUOTA deployment from FuotaDeployment fields (snake_case, enums by name) plus the firmware as payload_hex or payload_base64. Byte fields (payload, fragmentation_descriptor) must come through payload_hex/payload_base64 and fragmentation_descriptor_hex, not `deployment`. Required fields: application_id, device_profile_id, name, multicast_group_type, multicast_dr, multicast_frequency.
fuota_deletecan change or delete dataDelete a FUOTA deployment.
fuota_getread-onlyGet a FUOTA deployment (payload is returned as hex).
fuota_listread-onlyList FUOTA deployments of an application.
fuota_list_devicesread-onlyList devices in a deployment with their per-device progress.
fuota_list_jobsread-onlyList the scheduler jobs of a deployment with attempts, warnings and errors.
fuota_remove_devicescan change or delete dataRemove devices from a deployment.
fuota_startcan change or delete dataStart a FUOTA deployment (schedules the multicast setup, fragmentation and transfer jobs).
fuota_updateMerge fields and/or replace the firmware payload of a deployment that has not started yet. Byte fields (payload, fragmentation_descriptor) must come through payload_hex/ payload_base64 and fragmentation_descriptor_hex, not `changes`. Map and repeated fields you supply in `changes` replace the whole field; omitted fields are kept.
gateway_createRegister a gateway; location is set only when coordinates are given.
gateway_deletecan change or delete dataDelete a gateway.
gateway_getread-onlyGet a gateway with its last-seen time and location.
gateway_listread-onlyList gateways (all tenants when tenant_id is empty and the key is a global admin key).
gateway_metricsread-onlyRX/TX packet counts per frequency, DR and status, plus duty-cycle usage. Defaults to the last 24 hours.
gateway_updateUpdate only the given fields of a gateway. Supplying `tags` replaces the whole tag map.
integration_deletecan change or delete dataRemove an integration from an application.
integration_getread-onlyGet one integration's configuration. Stored credentials (tokens, passwords, header values, etc.) are redacted unless include_secrets is true.
integration_listread-onlyList which integrations an application has configured. `manageable` says whether integration_get/set/delete accept that `kind`.
integration_setCreate or update an integration. config holds the snake_case fields of the matching ChirpStack message, per kind: http: event_endpoint_url, encoding, headers; influxdb: endpoint, db, username, password, retention_policy_name, precision, version, token, organization, bucket; thingsboard: server; mydevices: endpoint; gcp_pubsub: encoding, credentials_file, project_id, topic_name; aws_sns: encoding, region, access_key_id, secret_access_key, topic_arn; azure_service_bus: encoding, connection_string, publish_name; pilot_things: server, token; ifttt: key, uplink_values, arbitrary_json, event_prefix…
multicast_add_deviceAdd a device to a multicast group.
multicast_createCreate a multicast group from MulticastGroup fields (snake_case; enums by name: region "EU868", group_type "CLASS_C"). Required: application_id, name, region, mc_addr, mc_nwk_s_key, mc_app_s_key, group_type, dr, frequency.
multicast_deletecan change or delete dataDelete a multicast group.
multicast_enqueueQueue a multicast downlink (raw bytes only; multicast has no codec).
multicast_getread-onlyGet a multicast group. include_keys also reveals mc_nwk_s_key/mc_app_s_key.
multicast_listread-onlyList multicast groups of an application.
multicast_queue_flushcan change or delete dataDiscard queued multicast downlinks.
multicast_queue_listread-onlyShow queued multicast downlinks.
multicast_remove_devicecan change or delete dataRemove a device from a multicast group.
multicast_updateMerge the given MulticastGroup fields into an existing group; other fields are kept. Map and repeated fields you supply replace the whole field; omitted fields are kept. Session keys left as `<redacted>` (what multicast_get returns by default) keep the key already stored.
profile_createCreate a device profile from a dict of DeviceProfile fields (snake_case; enums by name, e.g. region "EU868", mac_version "LORAWAN_1_0_3", reg_params_revision "A"). Required: tenant_id, name, region, mac_version, reg_params_revision.
profile_deletecan change or delete dataDelete a device profile (fails while devices still use it).
profile_getread-onlyGet a device profile including its payload codec script.
profile_listread-onlyList device profiles of a tenant.
profile_list_adr_algorithmsread-onlyList the ADR algorithms available on this server.
profile_list_vendorsread-onlyList vendors from the imported device-profile catalogue.
profile_set_codecReplace only the payload codec of a profile. For runtime JS, script is required and must define decodeUplink(input) and may define encodeDownlink(input); use runtime NONE to turn the codec off. Iterate here while watching uplinks with capture_read.
profile_updateMerge the given DeviceProfile fields into an existing profile; other fields are kept. Map and repeated fields you supply (e.g. tags, measurements) replace the whole field; omitted fields are kept.
relay_add_deviceAttach an end-device to a relay.
relay_gateway_getread-onlyGet a relay gateway (4-byte relay id as hex).
relay_gateway_listread-onlyList relay gateways of a tenant.
relay_listread-onlyList devices acting as relays in an application.
relay_list_devicesread-onlyList end-devices attached to a relay.
relay_remove_devicecan change or delete dataDetach an end-device from a relay.
server_inforead-onlyCheck the connection and the API key. Version and regions are only available to user sessions in ChirpStack, so they may be null/empty with an API key.
tenant_createCreate a tenant (0 for a count means unlimited).
tenant_deletecan change or delete dataDelete a tenant and everything under it.
tenant_getread-onlyGet a tenant.
tenant_listread-onlyList tenants visible to the API key.
tenant_updateUpdate only the given fields of a tenant. Supplying `tags` replaces the whole tag map.
tenant_user_addGive an existing user (by e-mail) a role in a tenant.
tenant_user_listread-onlyList users of a tenant with their roles.
tenant_user_removecan change or delete dataRemove a user from a tenant (the user account itself is kept).
wait_for_eventread-onlyBlock until the device emits a live event (optionally of the given types: up, join, ack, txack, log, status, location) or the timeout (max 60 s) passes. Only events newer than the moment of the call count (`live`); the events ChirpStack replays from its history never satisfy the wait, whatever their arrival timing. Use device_recent_events for those.
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Weekly downloads
- 29
- Last commit
- Aug 30, 2026 (1 month ago)
- Last release
- Aug 30, 2026 (1 month ago)
- Last package publish
- Aug 29, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.oliveres/chirpstack-mcp-server- Version
- 0.1.1
- Auth
- API key
- Packages
- pypi chirpstack-mcp-server
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Cite this page
ChirpStack MCP server. Agent Mart. https://agentmart.dev/connectors/oliveres-chirpstack-mcp-server (last updated 2026-10-24)