Skip to main content
Glama
chepetime

Calibre Librarian MCP Server

by chepetime

Set book metadata

set_metadata
Destructive

Update specific metadata fields for a book in your Calibre library. Only the fields you specify are changed; others remain untouched.

Instructions

Update metadata fields for a book. WARNING: This modifies your Calibre library. Only specified fields will be updated; others remain unchanged. Use get_book_details first to see current values.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNoNew tags. Comma-separated list (e.g., 'fiction, fantasy, epic'). Replaces existing tags.
titleNoNew title for the book.
bookIdYesCalibre book ID to update.
ratingNoRating from 0-10 (Calibre uses 0-10 scale internally, displayed as 0-5 stars).
seriesNoSeries name. Set to empty string to remove from series.
authorsNoNew author(s). For multiple authors, separate with '&' (e.g., 'Author One & Author Two').
commentsNoBook description/comments. Supports HTML.
languagesNoLanguage(s) as ISO 639 codes, comma-separated (e.g., 'eng' or 'eng, spa').
publisherNoPublisher name.
seriesIndexNoPosition in series (e.g., 1, 2, 3). Only used if series is also set.
Behavior5/5

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

The description warns that the tool modifies the library, reinforcing the destructiveHint annotation. It also clarifies that only specified fields are changed, which adds valuable behavioral context beyond the annotation's simple destructive flag.

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

Conciseness5/5

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

The description is concise at three sentences: first states purpose, second warns about modification, third recommends a precursor. No unnecessary words, easy to scan.

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 tool with 10 parameters and no output schema, the description covers key behavioral aspects (destructive, partial update) and usage context. Missing return value description is acceptable given no output schema, but could be slightly more comprehensive.

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 the schema already documents all parameters thoroughly. The description does not add per-parameter details but provides general behavior about partial updates, which is adequate but not exceptional.

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 explicitly states 'Update metadata fields for a book' with a clear verb and resource. It distinguishes from sibling tools like get_book_details (reading) and bulk_retag (bulk operation) by focusing on individual metadata updates.

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?

The description advises using get_book_details first to see current values, which is helpful. However, it does not explicitly mention alternatives for bulk updates (e.g., bulk_retag) or when not to use this tool, leaving some room for improvement.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chepetime/calibre-librarian-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server