Skip to main content
Glama
vanantwerp

Deere Ops Center MCP

by vanantwerp

jd_get_machine_device_state_reports

Read-only

Retrieve device state (terminal status) reports for a single machine using its principal ID. Get the latest report with last_known or a start/end date window for historical data.

Instructions

Get device state (terminal status) reports for one machine.

    Returns the reports under 'device_state_reports'. `principal_id` comes from
    jd_list_equipment. Use last_known=True for the latest report, or a start_date/end_date
    window for history.
    

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
end_dateNoEnd of the window, ISO 8601 UTC, e.g. 2026-10-07T00:00:00Z.
last_knownNoTrue for only the most recent report.
start_dateNoStart of the window, ISO 8601 UTC, e.g. 2026-10-01T00:00:00Z.
principal_idYesMachine principal ID: the 'principalId' of an item from jd_list_equipment.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety behavior is covered. The description adds that reports are returned under 'device_state_reports', which is modest extra context; it says nothing about pagination, rate limits, or what happens when a window contains no reports.

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

Conciseness4/5

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

Tight and front-loaded: purpose first, then return location, then parameter guidance. The 'Returns the reports under device_state_reports' sentence is somewhat redundant given an output schema exists, so slightly less than perfectly economical.

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

Completeness4/5

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

For a read tool with full schema coverage and an output schema, the description covers purpose, ID sourcing, and the two mutually exclusive query modes. Missing only edge-case behavior (empty windows, default when neither last_known nor dates are given).

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 100%, so all four parameters are already documented with formats in the schema — baseline 3. The description adds the provenance of principal_id and the last_known vs date-window tradeoff, which is a small increment over the schema text.

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?

States a specific verb and resource: 'Get device state (terminal status) reports for one machine,' with a scope qualifier that separates it from sibling read tools like jd_get_machine_alerts or jd_get_machine_engine_hours. It does not explicitly name those siblings, so it stops short of a 5.

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

Usage Guidelines4/5

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

Gives actionable routing: `principal_id` comes from jd_list_equipment, and 'Use last_known=True for the latest report, or a start_date/end_date window for history.' This tells the agent which mode to pick but offers no when-not-to-use guidance or alternative-tool routing.

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