Milesight Gateway MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MILESIGHT_HOST | Yes | The IP address or hostname of the Milesight gateway. | |
| MILESIGHT_PORT | No | The HTTPS port of the gateway API. | 8080 |
| MILESIGHT_USER | Yes | The username for gateway login. | |
| MILESIGHT_ORG_ID | No | The organization ID on the gateway. | 1 |
| MILESIGHT_PASSWORD | Yes | The password for gateway login. | |
| MILESIGHT_VERIFY_TLS | No | Whether to verify the gateway's TLS certificate (set to 'true' only with a trusted certificate). | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_applicationsB | List LoRaWAN applications on the gateway. Returns |
| get_applicationC | Get a single application by ID. |
| create_applicationB | Create an application. Returns
|
| update_applicationC | Update an existing application. |
| delete_applicationC | Delete an application by ID. |
| list_devicesA | List devices, optionally scoped to one application. Returns |
| get_deviceA | Get a single device by its DevEUI. The gateway exposes no per-DevEUI GET endpoint, so this searches the device list and returns the matching record. |
| create_deviceA | Register a new device under an application.
|
| update_deviceA | Update a device. Only the provided fields are changed (merged onto the device's current record). The gateway's update endpoint requires all mandatory fields in every request, so the current record is fetched first and the requested changes merged in before the full body is sent. |
| delete_deviceC | Delete a device by its DevEUI. |
| list_profilesC | List device profiles. Returns |
| get_profileB | Get a single device profile by ID. |
| create_profileC | Create a device profile.
|
| update_profileC | Update an existing device profile. |
| delete_profileC | Delete a device profile by ID. |
| list_multicast_groupsC | List multicast groups. Returns |
| get_multicast_groupB | Get a single multicast group by ID. |
| create_multicast_groupC | Create a multicast group.
|
| delete_multicast_groupC | Delete a multicast group by ID. |
| list_multicast_group_devicesC | List devices belonging to a multicast group. |
| add_device_to_multicast_groupC | Add a device (by DevEUI) to a multicast group. |
| remove_device_from_multicast_groupC | Remove a device (by DevEUI) from a multicast group. |
| enqueue_device_downlinkB | Queue a downlink payload to a device.
|
| get_device_downlink_queueC | Get pending downlink items queued for a device. |
| flush_device_downlink_queueA | Delete all pending downlink items for a device. |
| enqueue_multicast_downlinkC | Queue a downlink payload to a multicast group. Returns |
| get_multicast_downlink_queueC | Get pending downlink items queued for a multicast group. |
| flush_multicast_downlink_queueC | Delete all pending downlink items for a multicast group. |
| list_gatewaysC | List LoRaWAN gateways. Returns |
| list_packetsC | List recent LoRaWAN packets (frame log). Returns |
| delete_packetsC | Clear the packet/frame log. |
| list_payload_codecsA | List available payload codecs (short form). Returns
|
| get_network_server_settingsB | Get the embedded network server settings. |
| get_packet_forwarder_network_serversA | Get configured packet-forwarder network servers. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 34 tools
Each tool targets a clear and distinct resource and action (e.g., create_application vs. create_device), with no overlapping purposes. Operations like enqueue_downlink are differentiated by target (device vs. multicast group).
All tools follow a consistent verb_noun snake_case pattern (e.g., list_applications, update_profile, remove_device_from_multicast_group). No mixing of conventions or vague verbs.
With 34 tools, the set is on the higher end but justified by the breadth of resources managed (applications, devices, profiles, multicast groups, packets, etc.). Each tool serves a specific purpose without redundancy.
The tools provide full CRUD for four main resource types plus specialized operations for downlink and multicast management. Minor gaps exist (e.g., no tool for managing service profiles), but the core gateway management workflow is well-covered.