Skip to main content
Glama

Find Book Availability

find_book_availability

Check which library branches hold a specific book, see if copies are available for loan, or get due-back dates. Filter to available branches by default.

Instructions

查询指定图书在各分馆的馆藏与可借状态,可借的馆排前面。

已借出的馆藏可能带 due_date(预计归还时间,YYYY-MM-DD),仅在 only_available=False 时出现;数据源查不到时为空串。

参数: book_id:search_books 返回的图书 ID,需与 search_books 使用同一 city city:城市标识,默认 "shanghai" only_available:True(默认)只返回当前可借的馆;False 返回全部馆藏

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNoshanghai
book_idYes
only_availableNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does so well: it discloses ordering (available branches first), the conditional due_date field and its format, that due_date only appears when only_available=False, and the empty-string fallback when the data source misses. It omits error handling and any permission/latency context, which keeps it from a 5.

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?

The body is front-loaded with the core behavior and then a compact parameter list, so it reads efficiently. The due_date explanation is worth its space, though the parameter block partly restates names and defaults already visible in the schema.

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?

An output schema exists, so return structure need not be re-explained, and the description still adds useful field-level nuance (due_date, ordering, empty string). For a 3-parameter read tool with no annotations, this is nearly complete; only failure/edge-case behavior is unaddressed.

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

Parameters5/5

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

Schema coverage is 0% and the description fully compensates: book_id is tied to search_books output and constrained to the same city, city carries its default value, and only_available is explained as a true/false filter with distinct result sets. This adds meaning well beyond the bare schema.

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

Purpose5/5

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

The description states a specific verb and resource — querying a book's holdings and borrowable status across branches — and immediately differentiates itself by noting the relationship to search_books (book_id must come from there and share the same city). An agent can distinguish it from search_books and get_book_detail without opening any schema.

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?

It clearly establishes the context in which this tool applies (called after search_books, with matching city) and explains the only_available switch as the main usage decision. It stops short of explicitly stating when to prefer get_book_detail or what to do on a failed lookup, so it is strong but not exhaustive.

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