Skip to main content
Glama

upc_library_reservations

Read-only

Read the bound user's current library reservations, reporting empty data as a null state and flagging a missing data field as a schema error.

Instructions

Read the bound user's current library reservations.

data:null is reported as empty_state=data_null; a missing data field is a schema error, never an empty list.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "upc_library_reservations"
  }
}

Input Schema

NameRequiredDescriptionDefault
session_refNoself

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already establish readOnly/destructive=false, so the description focuses on what they cannot cover: the response edge case where `data:null` becomes `empty_state=data_null`, and the explicit warning that a missing data field is a schema error rather than an empty list. That is a real behavioral disclosure that prevents a plausible agent misinterpretation.

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?

Two short sentences, action stated first and the null-handling caveat second. The backtick formatting of `data:null` and `empty_state=data_null` is compact and precise, with no filler.

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?

There is no output schema, so the description is the only place to learn what a reservation record looks like, and it only covers the null/error edge case rather than the success payload. For a simple zero-required-parameter read tool that is workable but leaves the return shape undocumented.

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%, but the single parameter `session_ref` is a const with default 'self', so the schema is effectively self-documenting. The description's phrase 'bound user's' corroborates that the parameter scopes to the caller, adding only marginal meaning beyond the schema.

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 gives a specific verb and resource: 'Read the bound user's current library reservations,' which is clearly distinct from booking-oriented siblings like upc_library_book or room/seat tools. It stops short of naming which sibling to use instead when the agent wants to create or cancel a reservation, so it is clear but not sibling-differentiated.

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?

Usage is only implied: 'current' and 'bound user's' signal this returns the caller's own active reservations. There is no explicit statement of when to prefer this over upc_library_book or upc_library_rooms, and no preconditions (e.g., whether a session is required) are given.

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