- Requirements - Entity Operations - Telemetry Management - Relations - OTA Packages - Entity Data Query - Quick Start Guide - Installation - Docker Image - Build from Sources - Client Configuration - Binary Configuration - Docker Configuration - Environment Variables - Tool Groups Configuration - Available Tools - Device Tools - Asset Tools - Customer Tools - User Tools - Alarm Tools - OTA Tools
Add this skill
npx mdskills install thingsboard/thingsboard-mcpComprehensive IoT platform integration with 120+ tools for device management, telemetry, and data analysis
1# ThingsBoard MCP Server23[](https://github.com/thingsboard/mcp-server/blob/master/README.md)45## Table of Contents67- [Overview](#overview)8- [Requirements](#requirements)9- [Features](#features)10 - [Entity Operations](#entity-operations)11 - [Telemetry Management](#telemetry-management)12 - [Relations](#relations)13 - [Alarms](#alarms)14 - [OTA Packages](#ota-packages)15 - [Entity Data Query](#entity-data-query)16- [Quick Start Guide](#quick-start-guide)17- [Installation](#installation)18 - [Docker Image](#docker-image)19 - [Build from Sources](#build-from-sources)20- [Client Configuration](#client-configuration)21 - [Binary Configuration](#binary-configuration)22 - [Docker Configuration](#docker-configuration)23- [Environment Variables](#environment-variables)24- [Tool Groups Configuration](#tool-groups-configuration)25- [Available Tools](#available-tools)26 - [Device Tools](#device-tools)27 - [Asset Tools](#asset-tools)28 - [Customer Tools](#customer-tools)29 - [User Tools](#user-tools)30 - [Alarm Tools](#alarm-tools)31 - [OTA Tools](#ota-tools)32 - [Entity Group Tools](#entity-group-tools-pe)33 - [Relation Tools](#relation-tools)34 - [Telemetry Tools](#telemetry-tools)3536## Overview3738The ThingsBoard MCP Server provides a **natural language interface** for LLMs and AI agents to interact with your ThingsBoard IoT platform.3940You can ask questions such as “Get my devices of type 'Air Quality Sensor'” and receive structured results:41424344You can request to simulate or save time-series data in ThingsBoard:454647484950Or, you can ask it to analyze your time-series data to find anomalies, spikes, or data gaps:515253545556This server implements the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/docs/getting-started/intro), which enables AI systems to57access and manipulate data in ThingsBoard through natural language commands. With this integration, you can:5859- Query entities (device, asset, customer, etc.) data and telemetry using conversational language60- Manage entities through AI assistants61- Analyze IoT data and create reports using AI tools62- Automate ThingsBoard operations through AI-powered workflows6364The server integrates seamlessly with MCP clients such as Claude Desktop, Cursor, and other AI applications that support the MCP protocol.6566## Requirements6768Before you begin, ensure you have the following:6970- **ThingsBoard instance** - A running ThingsBoard instance that the MCP server can connect to. You can use any of the following options:71 - **Local/On-premise Community Edition**: Self-hosted installation on your72 own [infrastructure](https://thingsboard.io/docs/user-guide/install/installation-options/), or73 - **Local/On-premise Professional Edition**: Self-hosted installation on your74 own [infrastructure](https://thingsboard.io/docs/user-guide/install/pe/installation-options/), or75 - **ThingsBoard Demo**: Free shared instance at [demo.thingsboard.io](https://demo.thingsboard.io), or76 - **ThingsBoard Cloud**: Fully managed cloud service at [thingsboard.cloud](https://thingsboard.cloud), or77 - **EU ThingsBoard Cloud**: Fully managed cloud service at [eu.thingsboard.cloud](https://eu.thingsboard.cloud), or78 - **ThingsBoard Edge instance** [up and running](https://thingsboard.io/docs/user-guide/install/edge/installation-options/)79- **Authentication credentials** - An API key (recommended for ThingsBoard 4.3+) or username/password with appropriate permissions8081## Quick Start Guide82831. **Configure your MCP client**: Add the ThingsBoard MCP server to your client configuration (see [Client Configuration](#client-configuration))842. **Start using natural language**: Begin interacting with your ThingsBoard instance through your MCP client8586## Features8788### Entity Operations8990- **Devices**: Create, delete, view device details, credentials, and manage device relationships91- **Assets**: Create, delete, view, and manage asset relationships92- **Customers**: Create, delete, access customer information, titles, and manage customer relationships93- **Users**: Create, delete, manage users, tokens, activation links, and user assignments94- **Entity Groups**: Create, delete, view entity groups. Assign/unassign entities to specific group.9596### Telemetry Management9798- **Attribute Access**: Retrieve attribute keys and values by scope for any entity99- **Time-series Access**: Get time-series data with various aggregation options100- **Telemetry Insert/Update**: Save attributes or time-series data with optional TTL settings101102### Relations103104Create, delete, discover, and navigate relationships between entities with direction-based queries.105106### Alarms107108Create, delete, fetch alarms, alarm types, and severity information for specific entities.109110### OTA Packages111112Create, upload, list, download, and delete OTA packages for device firmware/software updates.113114### Entity Data Query115116Run complex queries over platform entities (devices, assets, customers, etc.) and retrieve their data (fields, attributes, telemetry) in a structured,117paginated format.118119## Installation120121This MCP server works with ThingsBoard IoT Platform or ThingsBoard Edge. You'll need your ThingsBoard instance or Edge URL and valid credentials for122the installation.123124### ThingsBoard Account125126Before installing the MCP server, ensure you have:1271281. Access to a ThingsBoard or Edge instance1292. A user account with sufficient permissions1303. An API key (ThingsBoard 4.3+) or the username and password for this account131132### Docker Image133134The easiest way to get started is with the pre-built Docker image from Docker Hub.135136#### Server Modes137138The ThingsBoard MCP Server can run in two different modes:139140- **STDIO Mode (Standard Input/Output)**: The server communicates directly through standard input/output streams141- **SSE Mode (Server-Sent Events)**: The server runs as an HTTP server that clients connect to142143#### Running in STDIO Mode (Default)144145For STDIO Mode, you must include the `-i` flag to keep stdin open:146147```bash148docker pull thingsboard/mcp149docker run --rm -i -e THINGSBOARD_URL=<your_thingsboard_url> -e THINGSBOARD_API_KEY=<your_api_key> thingsboard/mcp150```151152#### Running in SSE Mode153154In SSE Mode, you must expose port 8000 using the `-p` flag and explicitly override the default settings :155156```bash157docker pull thingsboard/mcp158docker run --rm -p 8000:8000 -e THINGSBOARD_URL=<your_thingsboard_url> -e THINGSBOARD_API_KEY=<your_api_key> -e SPRING_AI_MCP_SERVER_STDIO=false -e SPRING_WEB_APPLICATION_TYPE=servlet thingsboard/mcp159```160161### Download release binary162163Alternatively, you can download the release binary (JAR file) and use it with the LLM Agent.164Run the following command to download the binary to your PC:165166```bash167wget https://github.com/thingsboard/thingsboard-mcp/releases/download/v2.1.0/thingsboard-mcp-server-2.1.0.jar168```169170### Build from Sources171172You can also build the JAR file from sources and run the ThingsBoard MCP Server directly.173174#### Prerequisites175176- Java 17 or later177- Maven 3.6 or later178179#### Build Steps1801811. Clone this repository1822. Build the project:183184```bash185mvn clean install -DskipTests186```1871883. The JAR file will be available in the target folder:189190```bash191./target/thingsboard-mcp-server-2.1.0.jar192```1931944. Run the server using the JAR file:195196```bash197# For STDIO Mode198java -jar ./target/thingsboard-mcp-server-2.1.0.jar199```200201```bash202# For SSE Mode203java -Dspring.ai.mcp.server.stdio=false -Dspring.main.web-application-type=servlet -jar ./target/thingsboard-mcp-server-2.1.0.jar204```205206## Client Configuration207208To launch the server as a container when your MCP client starts (e.g., Claude Desktop), you need to add the appropriate configuration to your client's209settings.210211### Docker Configuration212213If you're using the Docker image, use this configuration in your `claude_desktop_config.json`:214215```json216{217 "mcpServers": {218 "thingsboard": {219 "command": "docker",220 "args": [221 "run",222 "-i",223 "--rm",224 "-e",225 "THINGSBOARD_URL",226 "-e",227 "THINGSBOARD_API_KEY",228 "thingsboard/mcp"229 ],230 "env": {231 "THINGSBOARD_URL": "<thingsboard_url>",232 "THINGSBOARD_API_KEY": "<your_api_key>"233 }234 }235 }236}237```238239### Binary Configuration240241If you've built the JAR file from sources, use this configuration in your `claude_desktop_config.json`:242243```json244{245 "mcpServers": {246 "thingsboard": {247 "command": "java",248 "args": [249 "-jar",250 "/absolute/path/to/thingsboard-mcp-server-2.1.0.jar"251 ],252 "env": {253 "THINGSBOARD_URL": "<thingsboard_url>",254 "THINGSBOARD_API_KEY": "<your_api_key>"255 }256 }257 }258}259```260261## Environment Variables262263The MCP server requires the following environment variables to connect to your ThingsBoard instance:264265| Variable | Description | Default |266|---------------------------------------------|---------------------------------------------------|--------------|267| `THINGSBOARD_URL` | The base URL of your ThingsBoard instance | |268| `THINGSBOARD_API_KEY` | API key for authentication (recommended for 4.3+) | |269| `THINGSBOARD_USERNAME` | Username for authentication (legacy) | |270| `THINGSBOARD_PASSWORD` | Password for authentication (legacy) | |271| `THINGSBOARD_LOGIN_INTERVAL_SECONDS` | Login session refresh interval in seconds | 1800 |272| `SPRING_WEB_APPLICATION_TYPE` | Spring application type (none or servlet) | none |273| `SPRING_AI_MCP_SERVER_STDIO` | Enable/disable standard I/O communication | true |274| `SPRING_AI_MCP_SERVER_SSE_ENDPOINT` | Server-Sent Events (SSE) endpoint URL | /sse |275| `SPRING_AI_MCP_SERVER_SSE_MESSAGE_ENDPOINT` | Server-Sent Events message endpoint URL | /mcp/message |276| `LOGGING_PATTERN_CONSOLE` | Logback console log pattern (must not be empty) | `%d{yyyy-MM-dd HH:mm:ss} \| %-5level \| %logger{1} \| %msg%n` |277| `LOGGING_CONSOLE_TARGET` | Log output target (`System.err` or `System.out`) | System.err |278| `HTTP_BIND_PORT` | HTTP server port number | 8000 |279280**Authentication**: Since ThingsBoard 4.3, we recommend using API keys instead of username/password. Create an API key in ThingsBoard UI under your user profile.281282These variables can be set either:283284- Directly via Docker command line using the `-e` flag285- Or through the `env` configuration block in your MCP client setup286287## Tool Groups Configuration288289The MCP server provides **120+ tools** which may exceed context limits for some MCP clients (e.g., Claude Desktop). You can disable entire tool groups to reduce the tool count and context size.290291### Tool Group Environment Variables292293| Variable | Description | Default | Tools |294|-----------------------------|--------------------------------------------------|---------|-------|295| `THINGSBOARD_TOOLS_EDQ` | Entity Data Query tools + Guide tools | true | 40 |296| `THINGSBOARD_TOOLS_TELEMETRY` | Telemetry and attributes tools | true | 11 |297| `THINGSBOARD_TOOLS_DEVICE` | Device management tools | true | 11 |298| `THINGSBOARD_TOOLS_ASSET` | Asset management tools | true | 8 |299| `THINGSBOARD_TOOLS_ALARM` | Alarm management tools | true | 9 |300| `THINGSBOARD_TOOLS_OTA` | OTA package management tools | true | 11 |301| `THINGSBOARD_TOOLS_RELATION`| Relation management tools | true | 8 |302| `THINGSBOARD_TOOLS_CUSTOMER`| Customer management tools | true | 7 |303| `THINGSBOARD_TOOLS_USER` | User management tools | true | 9 |304| `THINGSBOARD_TOOLS_GROUP` | Entity Group tools (PE only) | true | 10 |305306### Recommended Configuration for Claude Desktop307308If you experience "Context size exceeds the limit" errors, disable some tool groups:309310```json311{312 "mcpServers": {313 "thingsboard": {314 "command": "java",315 "args": ["-jar", "/path/to/thingsboard-mcp-server-2.1.0.jar"],316 "env": {317 "THINGSBOARD_URL": "<thingsboard_url>",318 "THINGSBOARD_API_KEY": "<your_api_key>",319 "THINGSBOARD_TOOLS_EDQ": "false",320 "THINGSBOARD_TOOLS_OTA": "false",321 "THINGSBOARD_TOOLS_GROUP": "false",322 "THINGSBOARD_TOOLS_USER": "false"323 }324 }325 }326}327```328329This configuration reduces the tool count from ~120 to ~50 tools, which should work with most MCP clients.330331## Available Tools332333The ThingsBoard MCP Server provides a wide range of tools that can be used through natural language commands. These tools are organized by category.334335### Device Tools336337| Tool | Description |338|----------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------|339| `createOrUpsertDevice` | Create or update a device by name. Primary tool for most device tasks. |340| `saveDevice` | Create or update the device object from raw JSON. Advanced tool. |341| `deleteDevice` | Delete the device by id. |342| `getDeviceById` | Fetch the Device object based on the provided Device Id. |343| `getDeviceCredentialsByDeviceId` | Get device credentials by device id. If during device creation there wasn't specified any credentials, platform generates random 'ACCESS_TOKEN' credentials. |344| `getTenantDevices` | Returns a page of devices owned by tenant. |345| `getTenantDevice` | Get tenant device by name. Device name is a unique property of device. |346| `getCustomerDevices` | Returns a page of devices objects assigned to customer. |347| `getUserDevices` **(PE)** | Returns a page of device objects available for the current user. |348| `getDevicesByIds` | Get Devices By Ids. Requested devices must be owned by tenant or assigned to customer. |349| `getDevicesByEntityGroupId` **(PE)** | Returns a page of device objects that belongs to specified Entity Group Id. |350351### Asset Tools352353| Tool | Description |354|----------------------------|--------------------------------------------------------------------------------------|355| `saveAsset` | Create or update the asset object. |356| `deleteAsset` | Delete the asset by id. |357| `getAssetById` | Get the Asset object based on the provided Asset Id. |358| `getTenantAssets` | Returns a page of assets owned by tenant. |359| `getTenantAsset` | Get tenant asset by name. Asset name is a unique property of asset. |360| `getCustomerAssets` | Returns a page of assets objects assigned to customer. |361| `getUserAssets` **(PE)** | Returns a page of assets objects available for the current user. |362| `getAssetsByEntityGroupId` **(PE)** | Returns a page of asset objects that belongs to specified Entity Group Id. |363364### Customer Tools365366| Tool | Description |367|-------------------------------|-------------------------------------------------------------------------------|368| `saveCustomer` | Create or update the customer object. |369| `deleteCustomer` | Delete the customer by id. |370| `getCustomerById` | Get the Customer object based on the provided Customer Id. |371| `getCustomers` | Returns a page of customers owned by tenant. |372| `getTenantCustomer` | Get the Customer using Customer Title. |373| `getUserCustomers` **(PE)** | Returns a page of customers available for the user. |374| `getCustomersByEntityGroupId` **(PE)** | Returns a page of Customer objects that belongs to specified Entity Group Id. |375376### User Tools377378| Tool | Description |379|------------------------------------|--------------------------------------------------------------------------------|380| `saveUser` | Create or update the user object. |381| `deleteUser` | Delete the user by id. |382| `getUserById` | Fetch the User object based on the provided User Id. |383| `getUsers` | Returns a page of users owned by tenant or customer. |384| `getTenantAdmins` | Returns a page of tenant administrator users assigned to the specified tenant. |385| `getCustomerUsers` | Returns a page of users assigned to the specified customer. |386| `getAllCustomerUsers` **(PE)** | Returns a page of users for the current tenant with authority 'CUSTOMER_USER'. |387| `getUsersForAssign` | Returns page of user data objects that can be assigned to provided alarmId. |388| `getUsersByEntityGroupId` **(PE)** | Returns a page of user objects that belongs to specified Entity Group Id. |389390### Alarm Tools391392| Tool | Description |393|---------------------------|--------------------------------------------------------------------------------------------------------------|394| `saveAlarm` | Create or update the alarm object. |395| `deleteAlarm` | Delete the alarm by id. |396| `ackAlarm` | Acknowledge the alarm. |397| `clearAlarm` | Clear the alarm. |398| `getAlarmInfoById` | Get the Alarm info object based on the provided alarm id (includes originator name). |399| `getAlarms` | Get a page of alarms for the selected entity. |400| `getAllAlarms` | Get a page of alarms that belongs to the current user owner. |401| `getHighestAlarmSeverity` | Get highest alarm severity by originator and optional status filters. |402| `getAlarmTypes` | Get a set of unique alarm types based on alarms that are either owned by tenant or assigned to the customer. |403404### OTA Tools405406| Tool | Description |407|----------------------------------|-----------------------------------------------------------------------------|408| `saveOtaPackageInfo` | Create or update OTA package info. |409| `saveOtaPackageData` | Upload OTA package binary data from a file path on the MCP host. Provide `checksum` only if you already have an official hash. |410| `downloadOtaPackage` | Download OTA package binary to a local file path on the MCP host. |411| `getOtaPackageInfoById` | Get OTA package info by id. |412| `getOtaPackageById` | Get OTA package by id. |413| `getOtaPackages` | Get OTA packages (paged). |414| `getOtaPackagesByDeviceProfile` | Get OTA packages by device profile and type (paged). |415| `assignOtaPackageToDevice` | Assign or clear OTA package for a device. |416| `assignOtaPackageToDeviceProfile`| Assign or clear OTA package for a device profile. |417| `countByDeviceProfileAndEmptyOtaPackage` | Count devices in a profile without assigned OTA package. |418| `deleteOtaPackage` | Delete OTA package by id. |419420### Entity Group Tools (PE)421422| Tool | Description |423|---------------------------------------|---------------------------------------------------------------------------------------------|424| `saveEntityGroup` | Create or update the entity group object. |425| `deleteEntityGroup` | Delete the entity group by id. |426| `getEntityGroupById` | Fetch the Entity Group object based on the provided Entity Group Id. |427| `getEntityGroupsByType` | Fetch the list of Entity Group Info objects based on the provided Entity Type. |428| `getEntityGroupByOwnerAndNameAndType` | Fetch the Entity Group object based on the provided owner, type and name. |429| `getEntityGroupsByOwnerAndType` | Fetch the list of Entity Group Info objects based on the provided Owner Id and Entity Type. |430| `getEntityGroupsForEntity` | Returns a list of groups that contain the specified Entity Id. |431| `getEntityGroupsByIds` | Fetch the list of Entity Group Info objects based on the provided entity group ids list. |432| `addEntitiesToEntityGroup` | Add entities to an entity group. |433| `removeEntitiesFromEntityGroup` | Remove entities from an entity group. |434435### Relation Tools436437| Tool | Description |438|------------------------------|-------------------------------------------------------------------------------------------------------------------|439| `saveRelation` | Create or update the relation object. |440| `deleteRelation` | Delete a relation between two entities. |441| `deleteRelations` | Delete all relations (both 'from' and 'to' directions) for the specified entity within the COMMON relation group. |442| `getRelation` | Returns relation object between two specified entities if present. |443| `findInfoByFrom` | Returns list of relation info objects for the specified entity by the 'from' direction (includes entity names). |444| `findByFromWithRelationType` | Returns list of relation objects for the specified entity by the 'from' direction and relation type. |445| `findInfoByTo` | Returns list of relation info objects for the specified entity by the 'to' direction (includes entity names). |446| `findByToWithRelationType` | Returns list of relation objects for the specified entity by the 'to' direction and relation type. |447448### Telemetry Tools449450| Tool | Description |451|------------------------------|----------------------------------------------------------------------|452| `getAttributeKeys` | Get all attribute keys for the specified entity. |453| `getAttributeKeysByScope` | Get all attribute keys for the specified entity and scope. |454| `getAttributes` | Get attributes for the specified entity. |455| `getAttributesByScope` | Get attributes for the specified entity and scope. |456| `getTimeseriesKeys` | Get all time-series keys for the specified entity. |457| `getLatestTimeseries` | Get the latest time-series values for the specified entity and keys. |458| `getTimeseries` | Get time-series data for the specified entity, keys, and time range. |459| `saveDeviceAttributes` | Save device attributes. |460| `saveEntityAttributesV2` | Save entity attributes. |461| `saveEntityTelemetry` | Save entity telemetry data. |462| `saveEntityTelemetryWithTTL` | Save entity telemetry data with time-to-live (TTL). |463464### Guide Tools465466| Tool | Description |467|---------------------|------------------------------------------------------------------------------------------|468| `getEdqGuide` | Get documentation for creating Entity Data Queries. |469| `getEdqCountGuide` | Get documentation for creating Entity Count Queries. |470| `getKeyFiltersGuide`| Get documentation and JSON schema for creating key filters (predicates over attributes/telemetry). |471472### Entity Data Query Tools473474| Tool | Description |475|----------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------|476| `findEntityDataBySingleEntityFilter` | Find data for **one entity by ID**. Select entity fields, latest attributes/telemetry; optional key filters for expressions over fields/attributes/latest TS. |477| `findEntityDataByEntityGroupFilter` **(PE)** | Find data for entities using an **Entity Group** filter (group type + id). Supports fields/latest values and optional key filters. |478| `findEntityDataByEntityListFilter` | Find data for a **list of entity IDs** (same type). Supports fields/latest values and optional key filters. |479| `findEntityDataByEntityNameFilter` | Find data by **name starts-with** filter (same type). Supports fields/latest values and optional key filters. |480| `findEntityDataByEntityTypeFilter` | Find data by **entity type** (CUSTOMER, USER, DASHBOARD, ASSET, DEVICE, EDGE, ENTITY_VIEW, etc.). Supports fields/latest values and optional key filters. |481| `findEntityDataByEntityGroupListFilter` **(PE)** | Find data for **multiple groups** of the same type using group IDs. Supports fields/latest values and optional key filters. |482| `findEntityDataByEntityGroupNameFilter` **(PE)** | Find data for groups by **group type** and **group name starts-with**. Supports fields/latest values and optional key filters. |483| `findEntityDataByEntitiesGroupNameFilter` **(PE)** | Find data for entities that belong to a **group (by type + group name)**. Supports fields/latest values and optional key filters. |484| `findEntityDataByStateEntityOwnerFilter` | Find data for the **owner (Tenant/Customer)** of a specified entity. Supports fields/latest values and optional key filters. |485| `findEntityDataByAssetTypeFilter` | Find **assets** by **type** and **name starts-with**. Supports fields/latest values and optional key filters. |486| `findEntityDataByDeviceTypeFilter` | Find **devices** by **type** and **name starts-with**. Supports fields/latest values and optional key filters. |487| `findEntityDataByEdgeTypeFilter` | Find **edges** by **type** and **name starts-with**. Supports fields/latest values and optional key filters. |488| `findEntityDataByEntityViewTypeFilter` | Find **entity views** by **type** and **name starts-with**. Supports fields/latest values and optional key filters. |489| `findEntityDataByRelationsQueryFilter` | Find entities **related** to a root entity (by relation query). Supports fields/latest values and optional key filters. |490| `findEntityDataByAssetSearchQueryFilter` | Find **assets related** to a root entity (by relation type + allowed asset types). Supports fields/latest values and optional key filters. |491| `findEntityDataByDeviceSearchQueryFilter` | Find **devices related** to a root entity (by relation type + allowed device types). Supports fields/latest values and optional key filters. |492| `findEntityDataByEntityViewSearchQueryFilter` | Find **entity views related** to a root entity (by relation type + allowed view types). Supports fields/latest values and optional key filters. |493| `findEntityDataByApiUsageStateFilter` | Find **API usage** data (tenant or customer-scoped). Supports fields/latest values and optional key filters. |494| `findEntityDataByEdgeQueryFilter` | Find **edges related** to a root entity (by relation type + allowed edge types). Supports fields/latest values and optional key filters. |495496### Entity Count Query Tools497498| Tool | Description |499|-------------------------------------------|---------------------------------------------------------------------------------------------------------|500| `countBySingleEntityFilter` | Count results for a **single entity** by ID with optional key filters. |501| `countByEntityGroupFilter` **(PE)** | Count results by **Entity Group** (group type + id) with optional key filters. |502| `countByEntityListFilter` | Count results for a **list of entity IDs** (same type) with optional key filters. |503| `countByEntityNameFilter` | Count results using **name starts-with** (same type) with optional key filters. |504| `countByEntityTypeFilter` | Count results by **entity type** with optional key filters. |505| `countByEntityGroupListFilter` **(PE)** | Count results for **multiple groups** (same type) using group IDs with optional key filters. |506| `countByEntityGroupNameFilter` **(PE)** | Count results for groups by **group type** and **group name starts-with** with optional key filters. |507| `countByEntitiesGroupNameFilter` **(PE)** | Count results for entities that belong to a **group (by type + group name)** with optional key filters. |508| `countByAssetTypeFilter` | Count **assets** by **type** and **name starts-with** with optional key filters. |509| `countByDeviceTypeFilter` | Count **devices** by **type** and **name starts-with** with optional key filters. |510| `countByEdgeTypeFilter` | Count **edges** by **type** and **name starts-with** with optional key filters. |511| `countByEntityViewTypeFilter` | Count **entity views** by **type** and **name starts-with** with optional key filters. |512| `countByApiUsageStateFilter` | Count API usage rows (optionally scoped by customer) with optional key filters. |513| `countByRelationsQueryFilter` | Count entities **related** to a root entity with optional key filters. |514| `countByAssetSearchQueryFilter` | Count **assets related** to a root entity with optional key filters. |515| `countByDeviceSearchQueryFilter` | Count **devices related** to a root entity with optional key filters. |516| `countByEntityViewSearchQueryFilter` | Count **entity views related** to a root entity with optional key filters. |517| `countByEdgeQueryFilter` | Count **edges related** to a root entity with optional key filters. |518
Full transparency — inspect the skill content before installing.