natural language to thingsboard rest api translation
Translates conversational AI commands into structured ThingsBoard REST API operations through a Spring Boot MCP server that parses natural language intent, maps it to tool schemas, and executes authenticated API calls. The server acts as a semantic bridge between LLM outputs and IoT platform operations, handling JWT authentication, request serialization, and response transformation without requiring users to write API code directly.
Unique: Implements MCP protocol as a Spring Boot application with edition-aware tool providers that dynamically expose different tool sets for Community Edition vs Professional Edition ThingsBoard instances, enabling single deployment to serve heterogeneous ThingsBoard deployments with appropriate capability filtering
vs alternatives: Provides standardized MCP protocol integration (vs proprietary API wrappers) with native support for multiple ThingsBoard editions and deployment modes (STDIO, HTTP/SSE) in a single open-source package
device lifecycle management through natural language
Exposes device CRUD operations (create, read, update, delete) and state management via MCP tools that accept natural language parameters and translate them to ThingsBoard Device API calls. Handles device provisioning, attribute assignment, and credential management through a tool callback provider that validates inputs and manages JWT-authenticated API requests to the ThingsBoard REST endpoint.
Unique: Implements edition-aware device tools that expose different capabilities for CE vs PE (e.g., entity groups only in PE), with a Tool Callback Provider pattern that validates natural language parameters against ThingsBoard schema before API execution, preventing invalid requests from reaching the backend
vs alternatives: Provides conversational device management (vs manual REST calls or CLI scripts) with built-in schema awareness and permission validation, reducing provisioning errors and enabling non-technical operators to manage devices
tool schema generation and mcp discovery protocol
Generates MCP-compliant tool schemas that describe available tools, their parameters, and expected outputs, enabling LLM clients to discover and understand tool capabilities through the MCP discovery protocol. The implementation uses a Tool Callback Provider pattern that introspects tool implementations and generates JSON schemas that conform to MCP specifications, allowing LLMs to invoke tools with proper parameter validation.
Unique: Implements MCP tool discovery through a Tool Callback Provider pattern that generates JSON schemas from tool implementations, enabling LLM clients to understand tool capabilities and parameters without manual schema definition
vs alternatives: Provides automatic tool schema generation (vs manual schema definition) with MCP protocol compliance, reducing schema maintenance burden and enabling dynamic tool discovery
spring boot application deployment with docker and jar packaging
Packages ThingsBoard MCP as a Spring Boot application deployable via Docker containers or standalone JAR files with configurable application properties. The implementation uses Spring Boot's auto-configuration and property binding to enable deployment flexibility, supporting both containerized cloud deployments and traditional JAR-based installations with environment-based configuration.
Unique: Implements Spring Boot application with dual deployment modes (Docker and JAR) using property-based configuration that enables environment-specific deployments without code changes, supporting both containerized cloud environments and traditional server deployments
vs alternatives: Provides flexible deployment options (Docker and JAR) with Spring Boot configuration management, enabling deployment to diverse environments (cloud, on-premise, edge) without code modification
comprehensive logging and diagnostic capabilities
Provides configurable logging at multiple levels (DEBUG, INFO, WARN, ERROR) with diagnostic output for troubleshooting MCP server issues, API communication, and authentication problems. The implementation uses Spring Boot's logging framework with configuration options for log levels, output formats, and diagnostic logging that helps developers understand request/response flows and identify integration issues.
Unique: Implements Spring Boot logging with configurable diagnostic output for MCP protocol messages and ThingsBoard API communication, enabling developers to trace request flows and identify integration issues without code instrumentation
vs alternatives: Provides comprehensive logging and diagnostics (vs silent failures or minimal error messages) with configurable verbosity, enabling faster troubleshooting and reducing mean-time-to-resolution for integration issues
asset and entity relationship querying with natural language filters
Enables querying of ThingsBoard assets and entity relationships through a sophisticated Entity Data Query (EDQ) system that translates natural language filter expressions into structured query objects. The system supports complex filtering (equality, range, text search, regex), sorting, pagination, and relationship traversal through a query builder that constructs REST API payloads without exposing SQL or API syntax to users.
Unique: Implements a dedicated Entity Data Query (EDQ) and Entity Count Query (ECQ) system with support for multiple filter types (equality, range, text search, regex) and a query builder pattern that constructs REST API payloads dynamically based on natural language intent, with built-in pagination and sorting support
vs alternatives: Provides natural language entity querying (vs SQL or REST API syntax) with sophisticated filtering capabilities and relationship traversal, enabling non-technical users to perform complex data analysis without database knowledge
telemetry data retrieval and time-series analysis
Exposes ThingsBoard telemetry APIs through MCP tools that retrieve time-series data for devices and assets with natural language time range specifications and aggregation options. The implementation handles timestamp parsing, data point filtering, and metric aggregation (min, max, avg, sum) through a Telemetry Tool that translates conversational requests into ThingsBoard REST API calls with proper JWT authentication and response formatting.
Unique: Implements natural language time-range parsing (e.g., 'last 24 hours', 'between Jan 1 and Jan 31') with automatic timestamp conversion and support for ThingsBoard's built-in aggregation functions, enabling non-technical users to perform time-series analysis without timestamp manipulation
vs alternatives: Provides conversational telemetry access (vs direct REST API or database queries) with natural language time specifications and automatic aggregation, reducing data analysis friction for non-technical operators
alarm and event management through conversational commands
Exposes ThingsBoard alarm lifecycle operations (create, acknowledge, clear, delete) and querying through MCP Alarm Tools that translate natural language commands into REST API calls. The implementation handles alarm state transitions, severity filtering, and temporal queries through a tool callback provider that validates alarm parameters and manages JWT-authenticated requests to ThingsBoard's Alarm API endpoint.
Unique: Implements Alarm Tools with natural language state transition support (acknowledge, clear, delete) and temporal filtering, allowing conversational alarm management without requiring knowledge of ThingsBoard alarm API semantics or state machine details
vs alternatives: Provides conversational alarm management (vs manual dashboard interaction or API calls) with natural language severity and status filtering, enabling faster incident response through AI-assisted operations
+5 more capabilities