Skip to main content
Glama

Artbook Society — Public Catalog

Search books

search_products
Read-onlyIdempotent

Search published books and artbooks on Artbook Society. Every keyword must match the title, subtitle, description, an author or contributor, the publisher or the edition type. Optional filters: price range, signed, numbered, limited edition, language.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum number of results (default 10, max 20).
queryNoKeywords (at most 8), in English or French. Each keyword must match. Optional when a filter is given.
signedNoOnly signed copies.
languageNoLanguage of the text, ISO 639-1 code (for example fr or en).
numberedNoOnly numbered copies.
max_priceNoMaximum price in the currency shown in results.
min_priceNoMinimum price in the currency shown in results.
limited_editionNoOnly limited or collector's editions.

Output Schema

NameRequiredDescriptionDefault
resultsNoMatching published products.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed12 schema fields changed
    • addedInput schema / properties / language
      Added value: +{
      +  "description": "Language of the text, ISO 639-1 code (for example fr or en).",
      +  "maxLength": 2,
      +  "minLength": 2,
      +  "type": "string"
      +}
    • addedInput schema / properties / limited_edition
      Added value: +{
      +  "description": "Only limited or collector's editions.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / max_price
      Added value: +{
      +  "description": "Maximum price in the currency shown in results.",
      +  "maximum": 1000000,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / min_price
      Added value: +{
      +  "description": "Minimum price in the currency shown in results.",
      +  "maximum": 1000000,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / numbered
      Added value: +{
      +  "description": "Only numbered copies.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / query / description
      Previous value: -"Text to search for in product titles, author names or contributor names."New value: +"Keywords (at most 8), in English or French. Each keyword must match. Optional when a filter is given."
    • addedInput schema / properties / query / maxLength
      Added value: +200
    • addedInput schema / properties / query / minLength
      Added value: +1
    • addedInput schema / properties / signed
      Added value: +{
      +  "description": "Only signed copies.",
      +  "type": "boolean"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "query"
      -]
    • addedOutput schema / properties / results / items / properties / edition_type
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / results / items / properties / editor
      Added value: +{
      +  "properties": {
      +    "name": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / query / description
      Previous value: -"Text to search for in product titles."New value: +"Text to search for in product titles, author names or contributor names."
  3. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, non-destructive and closed-world, so the safety profile is free. The description adds genuinely non-obvious behavior: keywords are ANDed — every keyword must match one of several fields — which sets expectations about recall and that multi-keyword queries narrow rather than broaden. It stops short of describing result ordering or what happens with no query and no filter.

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?

Three tight sentences: scope first, matching semantics second, filter inventory last. Every sentence carries information an agent needs; nothing is padding.

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?

With an output schema present, return values need not be explained, and the matching semantics plus filter list cover most calling decisions. The remaining gap is what a no-argument call (all parameters optional) does and how results are ordered/truncated beyond limit.

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 limit, query, price bounds, and the boolean flags are all documented structurally. The description only restates the filter inventory ('price range, signed, numbered, limited edition, language') and adds no format, currency, or combination rules beyond the schema; baseline 3 is appropriate.

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 (Search) and a precise resource scope (published books and artbooks on Artbook Society), and immediately names the fields matched. The plural search tool is clearly distinguishable from the get_* lookup siblings (get_artist, get_editor, get_product).

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

Usage Guidelines3/5

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

Usage is implied by the field-matching explanation, so an agent can infer this is the text-relevance entry point, but nothing states when to use it versus get_product (which evidently retrieves a single known item) or get_artist. No exclusions or prerequisites are given.

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