Skip to main content
Glama

add_item

Save an item to the user's Grabblist. Creates a static snapshot — Grabblist does not monitor prices or auto-update data. Only include fields with values available from the source. If no image is provided, the server attempts to fetch og:image automatically.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesDirect public HTTP(S) page URL.
tagsNoTags for categorization
imageNoMain image URL. Server auto-fetches og:image if not provided.
priceYesPrice as number (e.g. 99.99) — REQUIRED, extract from page
titleYesExact title from the page
imagesNoAll image URLs found on the page
reasonNoWhy this change was made (shown to user in change history)
categoryNoCategory — pick the best match
currencyYesCurrency code: USD, NZD, AUD, EUR, GBP, etc.
locationNoSeller location or pickup location
platformYesSite domain name without TLD: amazon.com→"amazon", ebay.co.nz→"ebay", kiwiquads.co.nz→"kiwiquads"
quantityNoHow many of this item
conditionNoCondition if applicable: New, Used, Refurbished, Used - Like New, Used - Good, Used - Fair
item_typeNoWhat kind of item: product (buy), rental (Airbnb), service (cleaning), course (Udemy), listing (classified), event (ticket). Default: product.
posted_atNoWhen the listing was originally posted (ISO 8601)
attributesNoSpecs/details as key-value pairs
descriptionNoDescription from the page (max 2000 chars)
seller_nameNoSeller or store name
seller_ratingNoSeller rating 0-5
original_priceNoOriginal price before discount (if on sale)
seller_reviewsNoNumber of seller reviews

TDQS

A4.2/5.0
Behavior4/5

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

Beyond annotations, the description discloses two key behaviors: Grabblist does not monitor prices or auto-update data, and the server attempts to fetch og:image if no image is provided. These add meaningful context. It does not mention duplicate handling or return values, but annotations already indicate idempotentHint=false, reducing the need.

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?

The description is three concise sentences, each providing valuable information without filler. It front-loads the main purpose and then adds essential behavioral notes, making it easy to scan.

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?

For a tool with 21 parameters and no output schema, the description covers the most significant non-obvious aspects: static snapshot semantics, price non-monitoring, and image fetching. It does not explain what the response looks like or how duplicates are handled, but given the rich schema and annotations, it is reasonably complete.

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?

All 21 parameters have descriptions in the schema, giving 100% coverage. The description adds a general instruction to only include fields with values available from the source, but this is not parameter-specific. The image auto-fetch behavior is already stated in the image parameter description, so the description adds little beyond 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?

The description clearly states the tool saves an item to the user's Grabblist, with the specific verb 'Save' and resource 'item'. It distinguishes itself from sibling tools like update_item by emphasizing it creates a static snapshot. The scope is unambiguous.

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?

The description provides strong context on usage through 'Only include fields with values available from the source' and explains the static snapshot behavior, which implies when this tool is appropriate. It does not explicitly name alternatives like update_item, but the context is clear enough for an agent to infer.

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.

TDQS

A3.9/5.0
Disambiguation4/5

Most tools have clearly distinct purposes with no obvious duplicates. The only potential overlap is between update_item and update_price, but the descriptions clarify that update_price is specifically for manual price corrections with history tracking.

Naming Consistency5/5

All tool names follow the snake_case verb_noun pattern consistently (e.g., add_item, create_collection, get_item_graph). Slight deviations like add_to_collection and ping are still predictable and conventional.

Tool Count3/5

With 23 tools, the server sits in the heavy range (16-25). While each tool serves a distinct purpose, the count is higher than typical for a shopping-save app and may feel overwhelming, though not excessive.

Completeness4/5

The tool surface covers full CRUD for items and collections, relations, history, activity, and utilities. Minor gaps exist—such as no dedicated 'move item between collections' tool—but workarounds are possible using existing tools.

Resources