Skip to main content
Glama

Make a photo book

create_book
Idempotent

Use this when the person wants a photo book (Dutch: fotoboek) made from photos they attached, direct image links, or a public iCloud Shared Album link. Designs a draft book from the photos in the supplied order; nothing is ordered or charged. Photos the person attached in this chat go in attachments, which ChatGPT fills in; never pass local file paths. Otherwise provide direct CDN image URLs or uploadIds from POST /api/connector/photos in photos, or a public iCloud Shared Album link as sharedAlbumUrl (https://www.icloud.com/sharedalbum/#TOKEN). A book needs at least 24 pages to be printed, so a handful of photos gives a book that can be viewed but not yet ordered. Returns a preview and a private link to save the book by email. No account setup. Allow up to 180 seconds for imports.

Input Schema

NameRequiredDescriptionDefault
titleYes
photosNoPublic https image URLs on a known CDN, or uploadIds. Not for chat attachments or local paths.
languageNoTwo-letter code of the language the person writes in, such as nl or en.
productIdNo
attachmentsNoPhotos the person attached in this chat. ChatGPT supplies the file objects; never invent them.
idempotencyKeyYes
sharedAlbumUrlNoPublic iCloud Shared Album link, used instead of photos.

Output Schema

NameRequiredDescriptionDefault
albumNo
titleNo
bookIdNo
statusNo"ready", or "processing_or_interrupted" while the same request is still running.
editUrlNo
messageNo
claimUrlNoPrivate link where the person saves the book with their email, then edits and orders it.
languageNoThe chat's language, as passed in.
bookTokenNoPrivate token for get_book. Keep it private.
orderableNoWhether the book can be printed as it is.
photoCountNo
previewUrlNo
operationIdNo
unavailableReasonNoWhy it cannot be printed yet, such as too few pages.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

The description adds substantial behavioral context beyond annotations: nothing is ordered or charged, a preview and private link are returned, no account setup is needed, imports can take up to 180 seconds, and a 24-page minimum applies for printing. This is rich and directly useful for an agent.

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 description is fairly long but well-structured and front-loads the usage condition. Most sentences carry useful information, though a few details (e.g., the 180-second allowance) could be trimmed without losing much.

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?

Given the tool's complexity (7 parameters, output schema), the description covers when to use it, accepted photo sources, important constraints (page minimum, timeout), and what is returned. An agent has enough to invoke it correctly without needing to explain return values in detail.

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?

With 57% schema coverage, the description compensates well for the most ambiguous parameters: it explains that attachments are for chat-attached photos (never local paths), photos take CDN URLs or uploadIds, and sharedAlbumUrl requires a public iCloud link. It leaves productId and idempotencyKey unexplained, but key photo-source semantics are covered.

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 states a specific verb (designs a draft book) and resource (photo book), and clarifies key scope: nothing is ordered or charged. It does not explicitly name sibling tools like start_photo_book or create_checkout, but the draft/order distinction helps differentiate.

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 says when to use the tool (when the person wants a photo book from attached photos, direct links, or an iCloud Shared Album) and provides source-specific alternatives. However, it does not explicitly state when to use this versus sibling tools like start_photo_book.

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