Skip to main content
Glama

trmnl_bind_room_booking_calendar_device

Idempotent

Binds a room booking calendar to a device so the room screen appears in its playlist, and reports subscription requirements when billing starts.

Instructions

Show a calendar on a device Adds the room screen to the device playlist once; a device already showing it is left as it is. The first room to reach a screen starts billing: subscription_required is then true and billing_url is where the owner subscribes, and until they do the other changes answer 402. TRMNL PUT /api/apps/room_booking/{installation_id}/calendars/{id}/devices/{device_id}. Changes remote state or starts work. Run only within the user-authorized scope.

Input Schema

NameRequiredDescriptionDefault
pathYes
profileNoConfigured profile name; defaults to default.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true and destructiveHint=false; the description earns its keep by disclosing the concrete side effects: the screen is appended to the device playlist once, the first room to reach a screen starts billing, and subsequent calls answer 402 until subscription. That 402/subscription behavior is not derivable from the structured fields and is exactly what 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.

Conciseness4/5

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

Purpose is front-loaded, and the idempotency and billing sentences carry distinct information. The trailing 'Changes remote state or starts work. Run only within the user-authorized scope.' is boilerplate that could be trimmed without loss.

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 mutation tool with no output schema and a nested param object, the description covers the important unknowns: repeat-call behavior, playlist side effect, and the billing/402 failure mode. It stops short of telling the agent what a successful call returns (e.g., the created playlist item), but that gap is minor.

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 coverage is 50%, but the nested path fields (installation_id, id, device_id) and profile are all described in the schema itself, including the 'url' option for browser display. The description contributes only the endpoint template, which mainly reconfirms that 'id' is a calendar id rather than adding new meaning.

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?

'Show a calendar on a device' plus the endpoint line names a specific verb and resource pair (room booking calendar → device), and 'Adds the room screen to the device playlist' clarifies the mechanism. Siblings like trmnl_unbind_room_booking_calendar_device and trmnl_bind_room_booking_collection_device are clearly different, but the description never names the inverse/bulk alternatives to sharpen the distinction.

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

Usage Guidelines3/5

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

'A device already showing it is left as it is' tells the agent this call is safe to repeat, and the billing note gives a prerequisite. However, nothing says when to prefer this over the unbind or collection-bind siblings, nor what user authorization is required beyond the generic scope line.

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

Deploy Server

Other Tools