Skip to main content
Glama
pikerr

SprutHub MCP Server

by pikerr

sprut_get_history

Retrieve historical telemetry and statistics for a SprutHub accessory characteristic by ID, with optional service, characteristic, time window, and record limit filters.

Instructions

Retrieve historical telemetry data and statistics for sensor or accessory characteristics.

Args: accessory_id: ID of the accessory. service_id: Optional Service ID (sId). characteristic_id: Optional Characteristic ID (cId). days: Optional time window in days (e.g. 7). hours: Optional time window in hours (e.g. 24). limit: Optional maximum number of records to retrieve.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysNo
hoursNo
limitNo
service_idNo
accessory_idYes
characteristic_idNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It implies a read-only fetch, but discloses nothing about pagination, default windows, ordering, whether 'statistics' are computed server-side, or what happens when days and hours are both supplied. An output schema exists, but the description still omits operational constraints an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The one-line summary is front-loaded and effective, but the Args list largely restates the input schema's property names and titles with minimal added value, padding the description without resolving the open questions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema is present, so return-value explanation is not required. Still, for a 6-parameter tool with zero schema coverage, the description should clarify the days/hours relationship and default fetch behavior; it is adequate but leaves gaps an agent would have to guess around.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does provide per-parameter meaning plus the useful sId/cId mapping for service_id and characteristic_id. However, it leaves key ambiguities unresolved: the interaction between days and hours, default limit/window behavior, and accepted units beyond the examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (Retrieve) and resource (historical telemetry data and statistics) scoped to sensor/accessory characteristics. That distinguishes it from catalog/scene siblings like sprut_list_devices or sprut_run_scenario, though it does not explicitly contrast with sprut_get_logs, which could plausibly overlap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to choose this tool over alternatives such as sprut_get_logs or sprut_get_summary, nor any prerequisite context (e.g., needing an accessory discovery step first). Usage must be inferred entirely from the name and args list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.