MCP server for Litmus Edge automation, providing tools for device management, data collection, digital twins, and system operations
Server has 25 tools with mostly complete schemas and descriptions. Naming follows verb_noun convention well (get_, create_, list_, run_). Descriptions average ~120 chars, meeting baseline. However, critical gaps exist: (1) parameter descriptions are sparse or missing for optional params like nats_source, nats_port across data_tools; (2) output schemas are not documented, tools return dicts but LLMs cannot see field structure; (3) error handling lacks recovery guidance; (4) destructive tool (run_docker_container) has no confirmation/dry-run pattern; (5) some descriptions lack WHEN/WHY context. Tool composition is sound, each tool has one responsibility. Security concern: docker_run_command accepts arbitrary strings with minimal validation noted.
Creates a new device in DeviceHub with specified driver. IMPORTANT: Creates device with default settings. You'll need to: 1. Update connection properties (IP, port, slave ID, etc.) 2. Configure tags/registers 3. Enable the device
Creates a new digital twin instance from a model. Requires model_id, instance name, and topic for data access.
Creates a new digital twin model on Litmus Edge. Requires model_name. Optional model_description and model_type ('ASSET' only).
Lists all Docker containers running in the Litmus Edge marketplace. Returns container details including name, image, status, ports, and resource usage. Use this to see what applications are running on the Edge.
Checks the cloud registration and activation status with Litmus Edge Manager. Returns connection state, last sync time, and any error messages. Use this to verify cloud connectivity and troubleshoot sync issues.
Output schemas not documented. Tools return dicts but LLMs cannot see field structure, types, or required fields. This forces LLMs to guess at response shape and breaks downstream tool chaining.
Destructive tool (run_docker_container_on_litmusedge) lacks confirmation/dry-run pattern. Agents can deploy arbitrary containers without review, risking unintended deployments.
Optional parameters (nats_source, nats_port, filter_by_driver, etc.) lack descriptions or have minimal guidance. LLMs cannot determine when to pass these or what values are valid.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | <=2025-11-25 | v2 |
Gets the current value from a NATS topic. Waits for the next message published to the topic and returns it.
Retrieves tags/registers configured on a specific device or all devices with pagination support.
Retrieves all configured devices in the DeviceHub module. Supports filtering by driver type and status, with optional tag inclusion.
Retrieves all available drivers supported by Litmus Edge DeviceHub. Returns a list of supported industrial protocols and device drivers (e.g., ModbusTCP, OPCUA, BACnet, MQTT).
Gets the human-readable name assigned to this Litmus Edge device. Use this to identify which Edge device you're working with.
Collects multiple sequential values from a NATS topic for trend analysis. WARNING: This function blocks until num_samples messages are received.
Get the project-level usage summary shown on the LEM dashboard.
Get full details for a specific company by name.
Get full details for a single edge device by its LEM device id.
List devices in a LEM project whose license has already expired.
List devices in a LEM project whose license expires within N days.
List active alerts raised in a LEM project.
List all companies on this LEM tenant with project/device/model counts.
List device group/tag labels defined in a LEM project.
List Litmus Edge versions registered in a LEM project.
List edge devices in a LEM project (paginated).
Retrieves all digital twin instances or instances for a specific model. Can optionally filter by model_id to get only instances of a specific model.
Retrieves all digital twin models configured on Litmus Edge. Returns information about each model including ID, name, description, and version.
Deploys and runs a new Docker container on the Litmus Edge marketplace. IMPORTANT: This runs on the Edge device, not the MCP server host. SECURITY NOTE: Ensure the container image is trusted and command is validated.
Changes the human-readable name of this Litmus Edge device. Use this to give the device a more descriptive name or update naming after device relocation.
Error handling lacks recovery guidance. Tools return errors but do not suggest next steps (e.g., 'Try search_users() first' or 'Check NATS_SOURCE configuration').
Tool names with '_tool' suffix (e.g., list_digital_twin_models_tool, lem_list_devices_tool) are redundant. Suffix should be removed for clarity and consistency with other tools.