Skip to main content
Glama

Photo Mosaic & AI Collage Maker - Collager.ai

Make a photo collage (heart, number, word...)

make_shape_collage

Builds a photo collage in the shape of a heart, a number (age, anniversary, year), a word, a star, a flower and more from the user's photos, and returns a watermarked preview within seconds. Use when the user asks for a heart collage, a birthday/anniversary number collage, a 'photo collage in the shape of ...', or a collage from several photos. Pass the photos as public links in photo_urls, or as files the user attached (photos). 1 to 300 photos; if there are fewer photos than cells, photos repeat. The result id (clg_...) is a private handle valid for 30 days; photos and results are deleted after 30 days. The preview is watermarked; the full-resolution file is downloaded from the collager.ai page given in full_resolution_page. Building can take up to a minute - if status is still processing, call get_shape_collage with the id.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
shapeYesThe figure. Examples: {"type":"heart"} (size picked from the photo count), {"type":"heart","cells":70}, {"type":"number","text":"30"}, {"type":"text","text":"LOVE"}, {"type":"love"} ("I love you"), {"type":"star","size":"large"}, {"type":"grid","n":4}. Call list_collage_shapes for all options.
photosNoPhotos the user attached in the chat.
gap_pctNoWhite gap between photos, % of a cell (default 6).
backgroundNoBackground colour: white (default), cream, pink, black or #rrggbb.
photo_urlsNoPublic http(s) links to the photos (JPEG/PNG/WEBP).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
cellsNo
errorNo
shapeNo
statusYes
next_stepNo
expires_atNo
photos_usedNo
preview_urlNo
full_resolution_pageNo

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?

Beyond the annotations (destructiveHint=false, openWorldHint=true), the description discloses operationally important traits: the preview is watermarked, the result id is a private handle valid 30 days, photos and results are deleted after 30 days, 1-300 photos are accepted, and fewer photos than cells causes repetition. It also warns that building can take up to a minute and can return a processing status, which is essential for correct async handling.

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 purpose and primary use cases are front-loaded, followed by input guidance and then behavioral caveats, so the ordering is sensible. It is dense and long, but the sentences each carry distinct information (triggers, inputs, repeat rule, retention, watermark, async fallback) rather than restating the schema.

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?

For a nested-schema, async-generation tool this covers everything an agent needs: how to supply photos two ways, quantity limits, the watermarked-preview/paid-download distinction, the 30-day retention, and the polling fallback. Since an output schema exists, the description is not obligated to enumerate return fields, and its handling of the result lifecycle is more than sufficient.

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 100%, so the baseline is 3, but the description adds genuine meaning by disambiguating the two photo inputs (public links go in photo_urls, attached chat files in photos) and by stating the 1-300 photo range and the repeat behavior when photos are scarce. It does not add syntax detail for gap_pct, background, or the shape sub-fields, which the schema already covers.

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?

States a specific verb (builds) and resource (photo collage) plus the supported shape families (heart, number, word, star, flower) and the output (watermarked preview), which lets an agent match the user's request without reading the schema. It also names sibling tools (get_shape_collage for polling, list_collage_shapes for options), distinguishing itself from both.

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?

Explicit trigger phrases are given: heart collage, birthday/anniversary number collage, 'photo collage in the shape of ...', collage from several photos. It also states the follow-up path when status is still processing (call get_shape_collage with the id) and points to list_collage_shapes for the option set, covering both when to use and what to do next.

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.