Skip to main content
Glama

OriginalUniqueArt Art Search & Quotation

Get a reproduction price quotation

get_a_quotation
Read-onlyIdempotent

Price quotation for a reproduction of an artwork, as an art print or a hand-painted oil painting, at a given size and in a given currency. Leave type out to get BOTH in one call: the result then holds "quotations" (one full quotation per type the artwork sells, each with its own price, buy_url and offer_text) and "types_not_available". Every quotation carries offer_text, one ready-to-paste line (type, size, frame, price, order link): give it to the user as is, translating its words if needed but never changing its numbers or link. Optional frame_code adds the frame price to quotation_price ("WhiteWrap" = stretched on stretcher bars, "default" = a decorative frame chosen for the artwork, or a catalog code); optional senior_artist (oil painting only) adds the "Elite Senior Artist" upgrade — more detail and finesse, extra production time — to quotation_price. Identify the artwork by pk, or by title and/or artist_name (an exact title match wins; otherwise the first good-confidence search match is used, and its relevance is returned in "score"). A fuzzy match can be a different painting than the one asked for: when the result carries a "warning", verify the returned title before using the price, as the warning instructs. width/height need not match the artwork's own proportions: when its aspect ratio is known, the quoted size is snapped to that ratio while keeping the same surface area (width x height) you requested, so the reproduction is never stretched or distorted; the actual quoted size is returned as width_cm/height_cm (vs. your original requested_width_cm/requested_height_cm), with size_ratio_adjusted set to true when this happened. Give only width OR only height (e.g. "25 cm high", "smallest side 25 cm") to keep that side exactly: the other side is then derived from the artwork's aspect ratio and size_derived_from names the side you gave (fails with invalid_size when the ratio is unknown - then give both). Each side must be 25-250 cm (about 10-98 inches): a size outside that range is NOT refused but quoted at the nearest valid size with the same proportions, with size_adjusted_to_minimum / size_adjusted_to_maximum set to true; whenever the quoted size differs from the request, size_note says in one sentence what changed and why - repeat it to the user. invalid_size only comes back when no size of these proportions can fit the range. Returns pk, artist_name, title, meta_description, quotation_price, currency, frame_code (+ frame_description, frame_delivery), url (catalog page) and buy_url. buy_url is a ready-to-open, fully-parameterised buy form: reproduction medium, size and frame are all set from the query string, so the page opens showing exactly quotation_price. Give it to the user as the link to order the artwork at the quoted configuration. When the artwork ITSELF is for sale right now (a ready-made oil painting in stock, an open auction lot, an original, a studio collectible), the result also carries available_now (offers with price, stock quantity and offer_text, plus a note): tell the customer about the real object in the same answer — a quotation is a copy made to order. An artwork sold only as such an object answers with quotations empty and available_now set, not with channel_not_available.

Input Schema

NameRequiredDescriptionDefault
pkNoArtwork pk (from a search tool).
typeNoReproduction type: "print" (art print) or "oil painting" (hand-painted). Omit to quote both at once.
unitYesUnit of width/height.
titleNoArtwork title (used when pk is not given).
widthNoWidth in the given unit. Omit to derive it from height.
heightNoHeight in the given unit. Omit to derive it from width.
currencyYesISO currency code, e.g. "USD", "EUR", "GBP".
languageNoSite language code (2 letters, e.g. "en", "fr"). Default "en".
frame_codeNoOptional frame; when set, quotation_price includes it. Omit it (or "NoFrame") for the canvas rolled in a tube. "WhiteWrap" = the canvas stretched on wooden stretcher bars, white edges, no outer frame (use it for any request for a stretcher, stretcher bars, a stretched canvas or a canvas ready to hang without a frame); "BlurSideWrap" / "ExtendedWrap" = the same with the image blurred / continued around the edges. "default" = a decorative outer frame chosen for you (the frame recommended for the artwork when it has one, else our best-selling frame) — use it to quote a framed option without knowing the catalog. Any other catalog code (e.g. "P118B", "P919G", "W316G", "H24-GOLD-Portrait") is that specific decorative frame. The result then carries frame_description, frame_delivery (assembled, or a disassembled kit over 105 cm) and, for "default", frame_chosen_by. buy_url prefills the frame.
artist_nameNoArtist name (used when pk is not given).
senior_artistNoOil painting only: have an Elite Senior Artist paint it (more detail, finesse and extra production time). When true, quotation_price includes the upgrade and buy_url pre-selects it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already establish this is a safe, idempotent, non-destructive read, yet the description goes far beyond them: aspect-ratio snapping with surface area preserved, clamping to the 25–250 cm range rather than failing, invalid_size only when no proportional size fits, fuzzy-match warnings and the returned score, and available_now semantics for objects actually for sale. This is exactly the behavioral context an agent needs before quoting a price to a user.

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

Conciseness3/5

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

Purpose is front-loaded in sentence one, but the body is a dense multi-clause run-on that mixes sizing rules, error codes, field inventories and user-facing advice into two long paragraphs. Most content earns its place given the tool's complexity, but scanning it is hard and some field enumeration (pk, artist_name, title, meta_description...) restates structure.

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?

With 11 parameters, no output schema, and non-obvious resize/adjustment behavior, the description covers everything needed: identification by pk or title/artist_name, unit handling, frame and senior-artist pricing effects, size adjustment signaling, and what to do with available_now. Nothing an agent needs to call it correctly is absent.

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; the description still earns above baseline by explaining width/height interactions the schema only hints at (derive the missing side, size_derived_from, ratio adjustment) and by expanding senior_artist into its effect on price and buy_url. frame_code is largely duplicative of its already very verbose schema description, which keeps this from a 5.

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 opening sentence names a specific verb+resource (price quotation for a reproduction), enumerates the two media (art print vs hand-painted oil), and scopes it by size and currency. It is clearly distinguishable from the sibling get_a_custom_reproduction_quotation and from get_artwork_availability.

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?

Rich conditional guidance: omit type to get both quotations, give only width or only height to pin that side, and a clear rule for when available_now appears versus a quotation. What is missing is explicit routing to the sibling get_a_custom_reproduction_quotation — the agent must infer that a custom request goes elsewhere.

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