sylvia-iot-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SYLVIA_IOT_AUTH_URL | Yes | URL of the sylvia-iot-auth service | |
| SYLVIA_IOT_DATA_URL | Yes | URL of the sylvia-iot-data service | |
| SYLVIA_IOT_CLIENT_ID | Yes | OAuth2 client ID for authentication | |
| SYLVIA_IOT_COREMGR_URL | Yes | URL of the sylvia-iot-coremgr service | |
| SYLVIA_IOT_CLIENT_SECRET | Yes | OAuth2 client secret for authentication |
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| auth_tokeninfoA | Get information about the current access token (userId, account, name, roles, clientId, scopes). |
| user_getA | Get the current user's profile (account, name, info, roles, createdAt, modifiedAt, verifiedAt). |
| user_updateA | Update the current user's profile. Provide at least one of: password, name, info. |
| client_createA | Create an OAuth2 client. Use credentials:true to create a private client with a secret. |
| client_countA | Get the count of OAuth2 clients owned by the current user. |
| client_listA | List OAuth2 clients owned by the current user. |
| client_getA | Get details of a specific OAuth2 client, including its secret if private. |
| client_updateB | Update an OAuth2 client. Provide at least one field to change. |
| client_deleteB | Delete an OAuth2 client. |
| unit_createA | Create a unit. The calling user becomes the owner. |
| unit_countA | Get the count of units owned by the current user. |
| unit_listA | List units owned by the current user. |
| unit_getA | Get details of a specific unit. |
| unit_updateC | Update a unit's display name or info. |
| unit_deleteA | Delete a unit and all its resources. |
| application_createA | Create an application. Returns applicationId and the one-time default password. |
| application_countA | Get the count of applications in a unit. |
| application_listB | List applications in a unit. |
| application_getB | Get details of a specific application. |
| application_updateB | Update an application. password is required when changing hostUri. |
| application_deleteA | Delete an application and all its resources. |
| application_statsA | Get queue statistics for an application (uldata, dldataResp, dldataResult queues). |
| application_send_dldataA | Send downlink data to a device via an application. |
| network_createA | Create a network. Returns networkId and the one-time default password. |
| network_countC | Get the count of networks in a unit. |
| network_listC | List networks in a unit. |
| network_getB | Get details of a specific network. |
| network_updateC | Update a network. password is required when changing hostUri. |
| network_deleteA | Delete a network and all its resources. |
| network_statsB | Get queue statistics for a network (dldata queue). |
| network_send_uldataB | Simulate uplink data from a device via a network. |
| device_createA | Create a single device. |
| device_bulk_createA | Bulk create devices by address list (max 1024). Existing addresses are skipped. |
| device_bulk_deleteA | Bulk delete devices by address list (max 1024). |
| device_range_createA | Bulk create devices by hex address range (max 1024). startAddr and endAddr must be same-length hex strings. |
| device_range_deleteB | Bulk delete devices by hex address range (max 1024). |
| device_countA | Get the count of devices in a unit. |
| device_listB | List devices in a unit. |
| device_getB | Get details of a specific device. |
| device_updateC | Update a device. |
| device_deleteB | Delete a device and all its resources. |
| device_route_createB | Create a device route linking a device to an application. Both must belong to the same unit. |
| device_route_bulk_createA | Bulk create device routes by address list (max 1024). Existing routes are skipped. |
| device_route_bulk_deleteB | Bulk delete device routes by address list (max 1024). |
| device_route_range_createA | Bulk create device routes by hex address range (max 1024). Existing routes are skipped. startAddr and endAddr must be same-length hex strings. |
| device_route_range_deleteB | Bulk delete device routes by hex address range (max 1024). |
| device_route_countB | Get the count of device routes in a unit. |
| device_route_listB | List device routes in a unit. |
| device_route_deleteC | Delete a device route. |
| network_route_createA | Create a network route linking a network to an application. All uplink data from the network will be forwarded to the application. |
| network_route_countC | Get the count of network routes in a unit. |
| network_route_listC | List network routes in a unit. |
| network_route_deleteC | Delete a network route. |
| dldata_buffer_countA | Get the count of buffered downlink data items waiting to be sent to devices. |
| dldata_buffer_listA | List buffered downlink data items waiting to be sent to devices. |
| dldata_buffer_deleteC | Delete a buffered downlink data item. |
| data_application_uldata_countB | Get the count of application uplink data records. |
| data_application_uldata_listC | List application uplink data records. |
| data_application_dldata_countB | Get the count of application downlink data records. |
| data_application_dldata_listC | List application downlink data records. |
| data_network_uldata_countC | Get the count of network uplink data records. |
| data_network_uldata_listC | List network uplink data records. |
| data_network_dldata_countB | Get the count of network downlink data records. |
| data_network_dldata_listC | List network downlink data records. |
| data_coremgr_opdata_countA | Get the count of coremgr operation log records. Normal users see only their own logs. |
| data_coremgr_opdata_listA | List coremgr operation log records. Normal users see only their own logs. |
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 66 tools
Each tool targets a distinct resource-action pair, such as user, client, unit, application, network, device, routes, buffers, and data records. Even with 66 tools, the resource prefix clearly separates concerns and prevents misselection.
Tool names consistently follow a snake_case resource_action pattern (e.g., client_create, device_list, network_route_delete). A few outliers like auth_tokeninfo and data_coremgr_opdata_list are slightly less verb-driven but remain predictable within their context.
66 tools is far above the typical well-scoped range and will burden an agent with a large surface to navigate. While the platform covers many entities, the count is excessive and could likely be consolidated.
The toolset provides thorough CRUD coverage across users, clients, units, applications, networks, devices, routes, and data buffers, plus logging and data queries. Minor gaps exist, such as no network_route_get or update operation, but these are not critical to core workflows.