Library Loans MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LIBRARY_LOANS_PATH | Yes | Path to the JSON file where library loan data is stored. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| record_loanA | Record a checked-out book. Dates use YYYY-MM-DD; checked_out defaults to today and due defaults to checked_out + loan_days (21). |
| renew_loanA | Extend a loan by |
| return_loanB | Mark a loan returned (default today, or YYYY-MM-DD). |
| list_loansA | List loans, newest last. Default shows only active (not returned). |
| due_soonB | Active loans due within |
| list_overdueA | Loans past their due date, most-urgent first. |
| branch_talliesA | Per-branch counts: active loans, overdue, due soon, and open holds. |
| place_holdB | Place a hold (waiting status) on a title at a branch. One active hold per title per branch. |
| update_holdB | Move a hold along: waiting -> ready -> picked_up. Cancel from waiting or ready. Use YYYY-MM-DD-worthy caution; statuses cannot undo. |
| cancel_holdB | Cancel a hold that is waiting or ready (final state). |
| list_holdsA | List holds (all, or filtered: waiting, ready, picked_up, cancelled). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Loan actions (record/renew/return) and hold actions (place/update/cancel) are clearly distinct, and the query tools have focused filters. However, cancel_hold largely duplicates a subset of update_hold (cancelling from waiting/ready), and due_soon/list_overdue are filtered views that overlap with list_loans, creating minor selection ambiguity.
Most names follow a predictable verb_noun snake_case pattern (renew_loan, record_loan, return_loan, place_hold, update_hold, cancel_hold, list_holds). A few deviations break the pattern: due_soon and list_overdue use adjective/adverb forms, and branch_tallies is noun_noun.
Eleven tools is well within the ideal range and each maps to a meaningful loan or hold operation. The set is neither bloated nor thin for a library circulation domain.
Loan lifecycle (record, renew, return, list, overdue, due soon) and hold lifecycle (place, advance/cancel, list) are well covered, with branch reporting. Minor gaps exist: no single-loan or single-hold lookup, no way to filter loans by patron/title, and no correction/update path for a mis-recorded loan.