Skip to content
Agentmart
Submit a tool

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

IndexedMITLocal (stdio)
Write a review

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.

We use your email only for this newsletter. Privacy

About

Manage and live-debug LoRaWAN devices on a ChirpStack v4 network server over its gRPC API

No 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_list
  • application_get
  • application_list
  • application_list_device_tags
  • capture_list
  • capture_read
  • device_get
  • device_list
  • device_metrics
  • device_queue_get
  • device_recent_events
  • fuota_get
Show 24 more tools
  • fuota_list
  • fuota_list_devices
  • fuota_list_jobs
  • gateway_get
  • gateway_list
  • gateway_metrics
  • integration_get
  • integration_list
  • multicast_get
  • multicast_list
  • multicast_queue_list
  • profile_get
  • profile_list
  • profile_list_adr_algorithms
  • profile_list_vendors
  • relay_gateway_get
  • relay_gateway_list
  • relay_list
  • relay_list_devices
  • server_info
  • tenant_get
  • tenant_list
  • tenant_user_list
  • wait_for_event

Write 25 · Create, change, send or run things.

  • api_key_create
  • application_create
  • application_update
  • capture_start
  • capture_stop
  • device_create
  • device_enqueue
  • device_update
  • fuota_add_devices
  • fuota_create
  • fuota_update
  • gateway_create
Show 13 more tools
  • gateway_update
  • integration_set
  • multicast_add_device
  • multicast_create
  • multicast_enqueue
  • multicast_update
  • profile_create
  • profile_set_codec
  • profile_update
  • relay_add_device
  • tenant_create
  • tenant_update
  • tenant_user_add

Delete 20 · Delete, drop, revoke or wipe things.

  • api_key_delete
  • application_delete
  • device_activate
  • device_deactivate
  • device_delete
  • device_flush_dev_nonces
  • device_queue_flush
  • device_set_keys
  • fuota_delete
  • fuota_remove_devices
  • fuota_start
  • gateway_delete
Show 8 more tools
  • integration_delete
  • multicast_delete
  • multicast_queue_flush
  • multicast_remove_device
  • profile_delete
  • relay_remove_device
  • tenant_delete
  • tenant_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_SERVER
  • CHIRPSTACK_TLS
  • CHIRPSTACK_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_create

    Create 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 data

    Revoke an API key.

  • api_key_listread-only

    List API keys: names, ids, and permission/tenant metadata; tokens are never retrievable.

  • application_create

    Create an application in a tenant.

  • application_deletecan change or delete data

    Delete an application and all of its devices.

  • application_getread-only

    Get an application.

  • application_listread-only

    List applications of a tenant.

  • application_list_device_tagsread-only

    List the distinct device tag keys and values used inside an application.

  • application_update

    Update only the given fields of an application. Supplying `tags` replaces the whole tag map.

  • capture_listread-only

    List capture sessions, including ones stopped by a terminal error (`stream_state` starts with `stopped:`).

  • capture_readread-only

    Read 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_start

    Start 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_stop

    Stop a capture session and discard its buffer.

  • device_activatecan change or delete data

    ABP-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_create

    Create 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 data

    Drop the device session; an OTAA device must re-join before it can communicate.

  • device_deletecan change or delete data

    Delete a device and everything ChirpStack stores about it.

  • device_enqueue

    Queue 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 data

    Forget used DevNonces so a device whose join-requests are rejected as replays can join again.

  • device_getread-only

    Get 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-only

    List devices in an application (optionally filtered by a search string).

  • device_metricsread-only

    Link 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 data

    Discard every queued downlink for a device.

  • device_queue_getread-only

    Show downlinks waiting for (or pending confirmation from) a device.

  • device_recent_eventsread-only

    One-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 data

    Create or replace the OTAA root keys. LoRaWAN 1.0.x devices use nwk_key only (their AppKey goes in nwk_key).

  • device_update

    Update 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_devices

    Add devices to a deployment.

  • fuota_create

    Create 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 data

    Delete a FUOTA deployment.

  • fuota_getread-only

    Get a FUOTA deployment (payload is returned as hex).

  • fuota_listread-only

    List FUOTA deployments of an application.

  • fuota_list_devicesread-only

    List devices in a deployment with their per-device progress.

  • fuota_list_jobsread-only

    List the scheduler jobs of a deployment with attempts, warnings and errors.

  • fuota_remove_devicescan change or delete data

    Remove devices from a deployment.

  • fuota_startcan change or delete data

    Start a FUOTA deployment (schedules the multicast setup, fragmentation and transfer jobs).

  • fuota_update

    Merge 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_create

    Register a gateway; location is set only when coordinates are given.

  • gateway_deletecan change or delete data

    Delete a gateway.

  • gateway_getread-only

    Get a gateway with its last-seen time and location.

  • gateway_listread-only

    List gateways (all tenants when tenant_id is empty and the key is a global admin key).

  • gateway_metricsread-only

    RX/TX packet counts per frequency, DR and status, plus duty-cycle usage. Defaults to the last 24 hours.

  • gateway_update

    Update only the given fields of a gateway. Supplying `tags` replaces the whole tag map.

  • integration_deletecan change or delete data

    Remove an integration from an application.

  • integration_getread-only

    Get one integration's configuration. Stored credentials (tokens, passwords, header values, etc.) are redacted unless include_secrets is true.

  • integration_listread-only

    List which integrations an application has configured. `manageable` says whether integration_get/set/delete accept that `kind`.

  • integration_set

    Create 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_device

    Add a device to a multicast group.

  • multicast_create

    Create 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 data

    Delete a multicast group.

  • multicast_enqueue

    Queue a multicast downlink (raw bytes only; multicast has no codec).

  • multicast_getread-only

    Get a multicast group. include_keys also reveals mc_nwk_s_key/mc_app_s_key.

  • multicast_listread-only

    List multicast groups of an application.

  • multicast_queue_flushcan change or delete data

    Discard queued multicast downlinks.

  • multicast_queue_listread-only

    Show queued multicast downlinks.

  • multicast_remove_devicecan change or delete data

    Remove a device from a multicast group.

  • multicast_update

    Merge 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_create

    Create 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 data

    Delete a device profile (fails while devices still use it).

  • profile_getread-only

    Get a device profile including its payload codec script.

  • profile_listread-only

    List device profiles of a tenant.

  • profile_list_adr_algorithmsread-only

    List the ADR algorithms available on this server.

  • profile_list_vendorsread-only

    List vendors from the imported device-profile catalogue.

  • profile_set_codec

    Replace 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_update

    Merge 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_device

    Attach an end-device to a relay.

  • relay_gateway_getread-only

    Get a relay gateway (4-byte relay id as hex).

  • relay_gateway_listread-only

    List relay gateways of a tenant.

  • relay_listread-only

    List devices acting as relays in an application.

  • relay_list_devicesread-only

    List end-devices attached to a relay.

  • relay_remove_devicecan change or delete data

    Detach an end-device from a relay.

  • server_inforead-only

    Check 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_create

    Create a tenant (0 for a count means unlimited).

  • tenant_deletecan change or delete data

    Delete a tenant and everything under it.

  • tenant_getread-only

    Get a tenant.

  • tenant_listread-only

    List tenants visible to the API key.

  • tenant_update

    Update only the given fields of a tenant. Supplying `tags` replaces the whole tag map.

  • tenant_user_add

    Give an existing user (by e-mail) a role in a tenant.

  • tenant_user_listread-only

    List users of a tenant with their roles.

  • tenant_user_removecan change or delete data

    Remove a user from a tenant (the user account itself is kept).

  • wait_for_eventread-only

    Block 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
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)