Skip to main content
Glama

Read an ebook

get_ebook
Read-onlyIdempotent

Read one of the caller's existing Unplain ebooks by id, including its current styling under theme.design (colours, fonts, type sizes, spacing, cover layout, and which preset it resembles) in the same field names update_ebook accepts. cta reports the CTA page (layout, headline, body, button, showButton, link, social links, credit) in the names update_ebook accepts, and ctaLayoutDrawn the layout it draws (what 'auto' picked). ctaButtonInPdf says whether the exported PDF draws the button, and ctaButtonWarning, when present, why a shown button will not be in it (no real url). mode: 'outline' (default) returns every block's id, type and a truncated preview, which is what update_ebook's operations address; 'metadata' returns settings only, and is the cheap way to inspect a design before changing it; 'full' returns complete block text. A block may carry a 'treatment' (pullQuote, callout, steps, stat or statCaption): styling chosen automatically at import that renders it more prominently, such as a stat drawn at display size in the accent colour. ALWAYS call this before update_ebook: it returns the block ids to edit and the version that makes the update safe against a simultaneous edit in the web app. If you only know the ebook by name, call list_ebooks first to get its projectId.

Input Schema

NameRequiredDescriptionDefault
modeNometadata: settings only, no content. outline: every block's id, type, any treatment, and truncated text (use this before editing). full: complete block text.outline
projectIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, but the description adds substantial behavior beyond them: the three modes and their return shapes (truncated previews vs. full text vs. settings only), the meaning of ctaLayoutDrawn as 'what auto picked', and the caveat that ctaButtonWarning explains why a shown button will not appear in the exported PDF. The version-returned-for-safe-update note is exactly the kind of concurrency context annotations cannot convey.

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 critical action ('ALWAYS call this before update_ebook') lands near the end rather than front-loaded, and the long parenthetical enumerations of styling fields and cta sub-fields are dense. Almost every sentence carries real information, but the paragraph could be split into mode guidance and return-value guidance for faster scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/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 carries the full return-value burden — and it does, naming every significant field, the treatment concept, and the mode-dependent shape. Combined with the update_ebook workflow dependency, an agent has everything needed to call it correctly and interpret the result.

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

Parameters4/5

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

Schema coverage is 50% (mode has a description, projectId does not), and the prose compensates well: it spells out each mode's payload and default, and tells the agent where to obtain projectId (list_ebooks). Minor gap: it never states projectId's format/constraints, though maxLength 64 is visible in the 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?

Opens with a specific verb and resource ('Read one of the caller's existing Unplain ebooks by id') and then enumerates the concrete data returned (theme.design styling, cta, ctaLayoutDrawn, ctaButtonInPdf, block previews). It explicitly positions itself relative to update_ebook and list_ebooks, so an agent can separate it from all 14 siblings without opening a schema.

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

Usage Guidelines5/5

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

Gives hard routing rules: 'ALWAYS call this before update_ebook' and 'If you only know the ebook by name, call list_ebooks first to get its projectId.' It also states which mode fits which situation ('metadata' is the cheap way to inspect a design before changing it), covering when-to-use and alternatives explicitly.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources