Skip to main content
Glama

Server Details

Resollo marketplace: search, seller lookup, offers, orders, draft listings. All human-approved.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

18 tools
marketplace.infoGet Resollo marketplace taxonomy and metadataA
Read-only
Inspect

Returns the static reference data an agent needs to build valid searches and read responses without guessing: the numeric category ids and their keys/English names (use these for search's category filter), the condition codes, the list of supported ISO currency codes and the default (USD), the payment- and shipment-method codes, the available sort options, a few limits (max search page size, max images per products.create), and policy URLs (AI policy, OpenAPI spec). Read-only, no authentication required. Safe to call once and cache for the session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitsYes
categoriesYes
conditionsYes
currenciesYes
policy_urlsYes
sort_optionsYes
payment_methodsYes
default_currencyYes
shipment_methodsYes

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, and the description reinforces with 'Read-only, no authentication required.' It adds valuable context beyond annotations: the data is 'static', callable once and cacheable for the session, and includes policy URLs. This goes beyond what the annotations alone convey.

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 information-dense but well-organized: it opens with the tool's purpose, then presents a logical list of returned data categories, and closes with usage guidance. Every clause contributes actionable information; despite length, there is no redundancy or filler.

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 an empty input schema and an output schema available, the description covers everything an agent needs: what kind of data is returned, how it should be used, its read-only and auth-free nature, and a caching strategy. Nothing essential is missing.

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?

The tool has zero parameters and the input schema is empty, so there is no parameter semantics to clarify. The rubric baseline for 0 parameters is 4; the description adds no parameter-specific meaning, but none is needed.

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 identifies a specific verb ('Returns'), a clear resource ('static reference data'), and a precise purpose ('build valid searches and read responses without guessing'). It enumerates the exact contents, making the tool's role unmistakable among operation-focused siblings like products.create and offers.make.

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?

The description states when to call the tool ('once and cache for the session') and why ('an agent needs to build valid searches and read responses'). It explicitly ties outputs to downstream usage, e.g., 'use these for search's category filter', giving clear guidance absent any alternative metadata tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

offers.listList the authenticated user's own Resollo offersA
Read-only
Inspect

Returns the caller's most recent Make-an-Offer / bargaining offers. Pass role: 'buyer' for offers you sent, or role: 'seller' for offers received on your own listings. Optionally filter to a single state (pending / accepted / rejected / countered / buyer_accepted / expired). Each entry has the product, the offered price, the seller's counter price if any, and timestamps. Read-only, no side effects. Requires an 'Authorization: Bearer ' header.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleYesWhose side to list from: 'buyer' returns offers you sent, 'seller' returns offers received on your listings.
limitNoMaximum number of most-recent offers to return (1-50, default 20).
stateNoOptional filter to a single offer state. When omitted, offers in every state are returned.

Output Schema

ParametersJSON Schema
NameRequiredDescription
offersYes

TDQS

A4.3/5.0
Behavior4/5

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

The description repeats the readOnlyHint annotation by stating 'Read-only, no side effects,' and adds an auth requirement ('Authorization: Bearer <agent api key>') that the schema and annotations do not provide. It also discloses the returned entry fields and most-recent ordering, which is useful behavioral context.

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 sentences with no filler: purpose, parameter guidance, return contents, and side-effect/auth note each earn their place. Important usage information is front-loaded.

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 an output schema present and annotations covering read-only behavior, the description covers everything an agent needs: role requirement, optional filters, output shape, ordering, auth, and side-effect safety. No critical operational gap remains.

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 coverage is 100%, so parameters are already documented. The description restates the role and state semantics and clarifies default behavior, but adds little beyond the schema's own descriptions.

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 opens with a specific verb and resource: 'Returns the caller's most recent Make-an-Offer / bargaining offers,' and clarifies it concerns the caller's own offers. The title and description together distinguish this read operation from sibling mutation tools like offers.make and offers.respond.

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 gives explicit invocation guidance: pass role 'buyer' for sent offers or 'seller' for received offers, and optionally filter by state. It does not name alternatives or state when not to use this tool, but the read-vs-mutate distinction across sibling names is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

offers.makeMake an offer (bargain) on a Resollo productAInspect

Submits a price offer (Make an Offer / bargaining) on a fixed-price Resollo listing, on behalf of the authenticated buyer. Only works on fixed-price listings where the seller has offers enabled and a fully active Stripe Connect account -- never on auctions. A product can only have one active offer at a time; if it's currently locked by someone else's in-flight offer, or isn't otherwise eligible, this returns product_not_eligible. This does NOT move any money -- it only creates a PENDING offer the seller must respond to (see offers.respond). Requires an 'Authorization: Bearer ' header.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesThe uuid of the fixed-price listing to bid on.
currency_codeNoISO 4217 code for offered_price. Defaults to the product's own listing currency if omitted.
offered_priceYesThe price the buyer offers, in `currency_code` (or the listing's own currency if that is omitted).

Output Schema

ParametersJSON Schema
NameRequiredDescription
stateYes
offer_idYes
created_atYes
product_idYes
offered_priceYes

TDQS

A4.7/5.0
Behavior5/5

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

Annotations are sparse (only three boolean hints), so the description carries the burden and delivers substantially: it discloses that no money moves, that only a PENDING offer is created, that only one active offer can exist per product, that in-flight locks cause product_not_eligible, and the required Authorization header. This is exactly the behavioral context an agent needs beyond 'make an offer'.

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?

Four dense sentences, each earning its place: purpose, eligibility/exclusions, concurrency/error behavior, and side-effect clarity with auth requirement. The core verb is front-loaded and there is zero filler.

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 tool with complex eligibility rules and side effects, everything needed to call it correctly is present: type of listing it applies to, seller prerequisites, exclusion cases, error behavior, pending-only semantics, the follow-up tool, and authentication. An output schema exists, so explaining return values is unnecessary.

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 the baseline is 3. The description reinforces that offered_price is a non-binding offer amount, but it doesn't add parameter-specific meaning beyond the schema — the behavioral clarification that no money moves is really transparency, not parameter semantics. The schema already explains product_id, currency_code defaulting, and the exclusiveMinimum bound.

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 ('Submits a price offer'), a precise resource ('fixed-price Resollo listing'), and actor ('authenticated buyer'). The 'never on auctions' exclusion and the distinction from the seller-side offers.respond make it unmistakable which action this performs.

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?

Explicitly states when it applies (fixed-price listings with offers enabled and a fully active Stripe Connect account) and when it does not ('never on auctions', locked/not-eligible returns product_not_eligible). Points to the follow-up alternative offers.respond, giving an agent clear routing context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

offers.respondRespond to a Resollo offerAInspect

Responds to a pending Make an Offer / bargaining offer. If the caller is the SELLER of the offer, action must be 'accept', 'reject', or 'counter' (counter_price required for 'counter') and the offer must currently be pending. If the caller is the BUYER, action must be 'accept_counter' and the offer must currently be countered. Accepting an offer or a counter-offer immediately creates a confirmed order at the agreed price -- it does NOT charge any payment method, the buyer still completes payment themselves afterwards through the normal flow, exactly like after orders.place. Requires an 'Authorization: Bearer ' header.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesSeller actions on a pending offer: accept | reject | counter (counter_price required). Buyer action on a countered offer: accept_counter.
offer_idYesThe uuid of the offer to respond to.
counter_priceNoThe seller's counter-offer price. Required when action is `counter`.

Output Schema

ParametersJSON Schema
NameRequiredDescription
stateYes
offer_idYes

TDQS

A4.7/5.0
Behavior5/5

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

The description goes well beyond the annotations by disclosing that accepting immediately creates a confirmed order, does not charge any payment method, and that the buyer later pays through the normal flow. It also requires an Authorization header. These behavioral details meaningfully inform the agent about side effects and prerequisites.

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 dense but every sentence carries essential information: core purpose, role/action rules, side effects, and authentication. It is front-loaded with the main purpose and then details conditions without redundancy.

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?

The tool has role-dependent state transitions and side effects, and the description covers all critical aspects: valid actions per role, required offer state, counter_price condition, the confirmed-order consequence, payment behavior, and auth requirements. Given the output schema exists, return-value documentation is not the description's responsibility.

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 adds role-based meaning by mapping actions to seller versus buyer, and explicitly notes that counter requires counter_price. This supplements the schema's field-level descriptions with usage context.

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 responds to a pending Make an Offer / bargaining offer, with specific actions (accept, reject, counter, accept_counter). It differentiates the resource (offers) from sibling tools like orders.place or orders.reject by focusing on offer response semantics.

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 gives strong context on when to use it: the offer must be pending or countered depending on caller role, and the valid actions are role-dependent. It does not explicitly name alternatives or say when not to use it, but the role/state conditions are clear enough to guide correct invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

orders.listList the authenticated user's own Resollo ordersA
Read-only
Inspect

Returns the caller's most recent orders. Pass role: 'buyer' for orders you placed, or role: 'seller' for orders on your own listings. Each entry has the same decoded status booleans as orders.status (reserved / dispatched / paid / received / rejected / closed), plus the product name, item count, total price (converted to the requested currency, default USD), the other party's name, and a link to the order page. Read-only, no side effects. Requires an 'Authorization: Bearer ' header.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleYesWhose side to list from: 'buyer' returns orders you placed, 'seller' returns orders on your listings.
limitNoMaximum number of most-recent orders to return (1-50, default 20).
currencyNoISO 4217 code for the returned price fields. Defaults to USD. Same semantics as in search_products.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
ordersYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already mark the operation read-only, and the description reinforces this with 'Read-only, no side effects.' It adds meaningful behavioral context beyond the annotations: the required Authorization header, currency conversion behavior, and the decoded status booleans. This goes beyond what annotations alone convey.

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 front-loaded with the core action and then efficiently covers role selection, output fields, side effects, and auth. It is slightly dense due to the enumerated output fields, but every sentence adds useful operational detail and there is no filler.

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 rich schema, output schema, and read-only annotations, the description covers everything an agent needs to invoke the tool correctly: authentication, role semantics, sorting, output contents, and the key side effect declaration. No critical operational context is missing.

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 schema already explains role, limit, and currency. The description adds extra meaning by tying currency to the output ('total price (converted to the requested currency, default USD)') and by framing role as buyer versus seller perspectives, which is not fully captured by the parameter names alone.

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 starts with a specific verb and resource: 'Returns the caller's most recent orders.' It clearly distinguishes the buyer and seller perspectives, and it references orders.status as a related sibling, so an agent understands this is the list-all-orders view rather than a single-order status tool.

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 gives clear contextual guidance by explaining exactly when to pass role 'buyer' versus 'seller' and notes the authentication requirement. It does not explicitly name alternatives such as orders.status for single-order checks, so it misses the 'when not to use' guidance needed for a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

orders.placeReserve a Resollo productA
Destructive
Inspect

Creates a RESERVATION for the given product -- it does NOT complete a purchase and does NOT charge any payment method. After calling this tool, a human (the buyer) MUST log in to Resollo and complete payment manually through the normal checkout flow (Stripe-hosted checkout page, or cash-payment confirmation). Never tell the user their order is 'placed' or 'paid' after calling this tool -- tell them the item is reserved and they need to complete payment themselves at resollo.com to finalize it. Only fixed-price listings can be reserved this way (not auctions). Requires an 'Authorization: Bearer ' header -- generate a key from the Resollo profile page. The buyer must have explicitly approved this specific order before you call this tool (confirm must be true).

ParametersJSON Schema
NameRequiredDescriptionDefault
commentNoOptional note to the seller, attached to the order chat.
confirmYesHuman-confirmation gate. Must be true, and only set it after the user has explicitly approved this specific order having seen the payment-safety text. An agent must never set this on its own initiative.
currencyNoInformational only, used solely to detect a currency mismatch worth surfacing to the buyer (payment_safety.currency_mismatch). Does NOT change what gets charged -- the order is always recorded and settled in the listing's own native currency regardless of this value.
quantityNoUnits to reserve (1-20, default 1).
product_idYesThe uuid of the fixed-price listing to reserve.
address_keyNoKey of one of the buyer's own saved addresses (never a free-text address). Required unless shipment_method is `personal`; defaults to the buyer's active address when omitted.
payment_methodYesHow buyer and seller will settle payment off-platform. Must be one the seller accepts (see get_product.seller.accepted_payment_methods).
shipment_methodYesHow the item will be handed over. Must be one the seller accepts (see get_product.seller.accepted_shipment_methods).

Output Schema

ParametersJSON Schema
NameRequiredDescription
stateYes
productYes
order_idYes
quantityYes
created_atYes
total_priceYes
payment_methodYes
payment_safetyYes
shipment_methodYes

TDQS

A4.5/5.0
Behavior5/5

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

The description goes well beyond the annotations by explaining the reservation semantics: no payment is charged, the buyer must complete payment through Resollo's checkout flow, and the agent must never tell the user the order is placed or paid. It also discloses auth requirements and the mandatory confirm gate. These behavioral details are not derivable from the annotations alone.

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 dense but every sentence earns its place: it clarifies what the tool does, what it does not do, what the user must do afterward, what the agent must not say, constraints on listing type, required authentication, and the confirmation gate. The most important distinction (reservation vs purchase) is front-loaded in the first sentence.

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, the description fully covers the operational context: post-call buyer steps, auth requirements, safety guardrails, listing-type restrictions, and confirmation obligations. With an output schema present, the description does not need to explain return values, and nothing essential to calling this tool correctly is missing.

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 the baseline is 3. The description adds some workflow-level context around confirm and product eligibility, but most parameter meaning is already thoroughly documented in the schema, such as confirm being a human-gate boolean, payment_method being off-platform settlement, and currency being informational only. The description does not materially enrich the individual parameter semantics 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 opens with a specific verb and resource: 'Creates a RESERVATION for the given product.' It immediately distinguishes this from a purchase by stating it does NOT complete a purchase or charge a payment method, and it scopes the tool to fixed-price listings only, excluding auctions. This clearly separates orders.place from purchase/checkout sibling tools.

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 gives clear context for when to use the tool: to reserve a fixed-price product, with the buyer required to finalize payment manually afterward. It also states an important exclusion ('not auctions') and caller requirements such as the Authorization header and explicit buyer approval. It does not explicitly name alternative tools like orders.checkoutLink or offers.make, so it stops short of fully routing between siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

orders.rejectReject a reserved Resollo orderA
Destructive
Inspect

Rejects an order on behalf of the SELLER -- only allowed while the order is still RESERVED, i.e. before the seller has dispatched it or the buyer has paid. Returns order_not_reserved once the order has moved past that point (use the normal Resollo order page for anything after dispatch). This does NOT move any money -- no payment has happened yet at the RESERVED stage. Requires an 'Authorization: Bearer ' header.

ParametersJSON Schema
NameRequiredDescriptionDefault
orderIdYesThe uuid of the RESERVED order to reject.

Output Schema

ParametersJSON Schema
NameRequiredDescription
stateYes
order_idYes

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the destructiveHint annotation, the description discloses that no money moves, that a specific error (order_not_reserved) is returned once the order has progressed, and that an Authorization header is required. These behavioral details meaningfully exceed the annotations.

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?

Four purposeful sentences, each earning its place: the action and constraint, the error condition, the money clarification, and the auth requirement. The key constraint is front-loaded.

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 single-parameter destructive action, the description covers timing, failure mode, side effects (no money movement), auth, and what to do after the reserved window. The output schema covers any return details, so nothing critical is missing.

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?

The input schema already fully describes orderId as 'The uuid of the RESERVED order to reject,' giving 100% schema description coverage. The tool description adds no extra parameter-level meaning, so the baseline of 3 applies.

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 states a specific verb ('Rejects'), the resource ('an order'), and the actor ('on behalf of the SELLER'). It also pins down the exact state condition ('only allowed while the order is still RESERVED'), which clearly distinguishes this from sibling tools like orders.place or orders.status.

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?

The description explicitly defines when the tool is allowed (while RESERVED, before dispatch/payment) and what happens past that point. It also directs the agent to the normal Resollo order page for anything after dispatch, providing a clear fallback alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

orders.statusGet the status of a Resollo orderA
Read-only
Inspect

Returns the current status of one order: whether it's reserved, dispatched, paid, received, rejected, or closed (decoded booleans, not a raw state number), carrier/tracking info if dispatched, and the total price. The caller must be either the order's buyer or its seller -- returns forbidden otherwise. Read-only, no side effects. Requires an 'Authorization: Bearer ' header.

ParametersJSON Schema
NameRequiredDescriptionDefault
orderIdYesThe order's uuid.
currencyNoISO 4217 code for the returned price fields. Defaults to USD. Same semantics as in search_products.

Output Schema

ParametersJSON Schema
NameRequiredDescription
paidYes
closedYes
carrierYes
order_idYes
receivedYes
rejectedYes
reservedYes
created_atYes
dispatchedYes
total_priceYes
completed_atYes
tracking_numberYes

TDQS

A4.5/5.0
Behavior5/5

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

The description goes well beyond the readOnlyHint annotation by disclosing the authentication header requirement, the forbidden response for non-buyer/seller callers, and the decoded-boolean representation instead of a raw state number. This gives the agent actionable expectations about behavior and failure modes.

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 sentences and every sentence earns its place: return payload, authorization constraint, and read-only guarantee. Information is front-loaded with the primary purpose before the access caveat.

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 two-parameter tool with a fully documented input schema and an output schema present, the description covers the key behavioral constraints: auth, role-based access, read-only semantics, and what data is returned. Nothing essential is missing for an agent to select and invoke the tool correctly.

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 the schema already documents both orderId and currency. The description adds little beyond the schema except noting currency semantics are shared with search_products, which is a minor cross-reference; this meets the baseline but does not exceed it.

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 uses the specific verb 'Returns' and clearly identifies the resource: the current status of one Resollo order. It enumerates the statuses (reserved, dispatched, paid, received, rejected, closed), notes decoded booleans rather than a raw number, and mentions carrier/tracking and total price, which fully disambiguates it from the sibling tools.

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 clear usage context by stating the caller must be the buyer or seller and that authorization is required, plus it explicitly notes read-only behavior. It does not compare with sibling tools, but no other sibling directly overlaps with order-status retrieval, so the absence of exclusions is acceptable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

products.createCreate a Resollo product listing from photosAInspect

Creates a new Resollo product listing FROM PHOTOS ONLY -- Resollo's own built-in AI (the same pipeline the web listing form's 'AI autofill' button uses) analyzes the images and generates the title, description, category, condition, and a suggested price; this tool never accepts or generates listing content on its own. The listing is created INACTIVE and NOT publicly visible -- it does NOT go live automatically. The seller MUST review and activate it themselves on their existing Resollo product management page (the activation_url returned by this tool) before it becomes visible or goes through moderation. Never tell the user the listing is 'live' or 'published' after calling this tool -- tell them a draft was created from their photos and they need to review and activate it themselves at resollo.com. Images must be actual photo files the caller has access to (e.g. local files) -- never fetch or invent an image from a URL. Requires an 'Authorization: Bearer ' header -- generate a key from the Resollo profile page; the resulting listing is attributed to that key's user.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional override for the AI-generated title.
unitNoUnit of sale (default "piece").piece
priceNoOptional fixed price override. When omitted, Resollo's AI price-suggestion sets it.
imagesYes1-5 real photo files of the item. Resollo's own AI generates the listing content from these.
quantityNoUnits available (default 1).
conditionNoOptional override for the AI-chosen condition code (see getMarketplaceInfo.conditions).
guaranteeNoOptional warranty / guarantee text.
category_idNoOptional override for the AI-chosen category id (see getMarketplaceInfo.categories).
descriptionNoOptional override for the AI-generated description.
offers_enabledNoWhether buyers may send Make-an-Offer bids on the listing.
is_business_listingNoWhether this is a business (vs. private) listing.

Output Schema

ParametersJSON Schema
NameRequiredDescription
stateYes
suggestedYes
product_idYes
activation_urlYes
quota_remainingYes

TDQS

A4.4/5.0
Behavior5/5

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

Annotations are neutral (readOnlyHint=false, openWorldHint=false, destructiveHint=false), so the description carries the burden and delivers richly: listing is created INACTIVE and not publicly visible, the seller must manually review/activate via activation_url, content is AI-generated server-side, the listing is attributed to the API key's user, and post-call agent messaging is prescribed (never say 'live' or 'published'). This far exceeds what the annotations convey.

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 long (~230 words) but every sentence earns its place for a side-effecting tool: activation flow, auth requirement, image constraints, and post-call user messaging are all load-bearing. There is some redundancy (the photos-only concept is stated three times), and the 'web listing form AI autofill' comparison is nice-to-have rather than essential, so it is not a zero-waste 5.

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 an 11-parameter, side-effecting creation tool with an output schema, the description is complete: it covers post-conditions (inactive draft), the manual activation step, the activation_url return value, auth key sourcing and attribution, image sourcing constraints, and the exact messaging the agent must give the user. Nothing an agent needs to call this correctly and handle the aftermath is missing.

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 coverage is 100%, so every parameter already has a meaningful description, including that images must be base64 bytes and never URLs, and that name/price/condition/category_id/description are AI overrides. The description reinforces the photos-only constraint and tie to the 'AI autofill' pipeline, but adds little parameter-specific meaning 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?

The description leads with a specific verb, resource, and the defining mechanism: 'Creates a new Resollo product listing FROM PHOTOS ONLY'. It precisely distinguishes itself from the read/search siblings (products.get, products.search) by anchoring on photo-driven AI generation, and the title reinforces the same scope.

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 gives clear when-to-use context (you have photo files of an item) and explicit exclusions: never accept direct listing content, never fetch or invent an image from a URL. However, it never names a sibling alternative or explicitly states when to choose another tool (e.g., products.search for retrieval), so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

products.getGet Resollo product detailsA
Read-only
Inspect

Fetch the full details of one specific Resollo product listing by its ID, including its Semantic Profile (suitable_for, not_ideal_for, target_audience, key_strengths, evokes, is_similar_to -- useful for judging fit against a buyer's stated needs), attributes, all image URLs, shipment prices, and the seller's accepted payment/shipment methods. Returns not_found for products that don't exist, are sold, expired, or moderation-hidden. No authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault
currencyNoISO 4217 code for the returned price fields. Defaults to USD. Same semantics as in search_products.
productIdYesThe product listing's uuid.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYes
nameYes
unitYes
priceYes
sellerYes
categoryYes
conditionYes
guaranteeYes
image_urlYes
min_priceYes
attributesYes
created_atYes
image_urlsYes
descriptionYes
listing_typeYes
offers_enabledYes
auction_ends_atYes
converted_priceYes
shipment_pricesYes
semantic_profileYes
quantity_availableYes

TDQS

A4.4/5.0
Behavior5/5

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

It discloses no-authentication-requirement, and the not_found cases (nonexistent, sold, expired, moderation-hidden) go well beyond the readOnlyHint annotation. These are the behavioral nuances an agent needs to interpret responses correctly.

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 dense but efficient, front-loading the core action and resource. The parenthetical definition of the Semantic Profile is a bit verbose, yet it directly aids tool selection by telling the agent why that data matters for buyer fit.

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 has an output schema, full parameter schema coverage, and readOnly annotations, the description supplies the remaining essential context: no authentication, not_found semantics, and the key returned areas. Nothing critical to correctly invoking or interpreting this tool is missing.

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 both productId and currency are already fully documented in the schema. The description adds no parameter-level meaning beyond the schema, which aligns with the baseline for full schema coverage.

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 uses a specific verb ('Fetch') and resource ('product listing by ID'), and enumerates the returned fields, making it unmistakably distinct from the sibling search tool products.search. It also highlights the Semantic Profile as a key differentiator for buyer-fit evaluation.

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 makes clear this is the tool for retrieving a single product's full details by ID and notes not_found behavior. It does not explicitly name alternatives or state when not to use it, but the context strongly implies it for exact product lookups rather than discovery.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

products.searchSearch Resollo productsA
Read-only
Inspect

Search active, publicly available product listings on the Resollo marketplace. Use this to browse or filter by keyword, category, price range, currency, or seller location. Returns only currently active, purchasable listings (never sold, expired, or moderation-hidden ones). For full details on one specific product you already have the ID for (including its Semantic Profile fields -- suitable_for, not_ideal_for, target_audience, key_strengths, evokes, is_similar_to -- which this search tool does NOT return), call products.get instead. Results are paginated via next_cursor; pass it back as the cursor argument to fetch the next page. No authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFree-text search across the listing's canonical name and description.
sortNoResult ordering. Never influenced by paid placement.newest
limitNoMaximum number of results to return per page (1-50, default 20).
cursorNoOpaque pagination cursor from a previous response's next_cursor.
categoryNoNumeric top-level category id (see getMarketplaceInfo.categories). Subcategory ids are accepted but rolled up to their top-level parent in the response.
currencyNoISO 4217 code used for price filtering and each result's converted_price. Defaults to USD. Must be one of getMarketplaceInfo.currencies.
locationNoComma-separated seller-location filters. Each entry is a 2-letter ISO country code ("HU") or a "COUNTRY:REGION" pair ("HU:BU"). Reflects the seller's profile location, not a per-listing field.
price_maxNoMaximum price in the resolved `currency`.
price_minNoMinimum price in the resolved `currency` (converted price, not the seller's native currency).
seller_idNoRestrict results to one seller's listings. The uuid is the seller.id from any search or getProduct result.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
productsYes
next_cursorYes

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses that results are limited to active, purchasable listings (excluding sold, expired, or moderation-hidden), pagination behavior via next_cursor, no authentication required, and that sort order is never influenced by paid placement. These are meaningful behavioral traits not present in the annotations.

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?

Four sentences cover purpose, use cases, the key sibling relationship, pagination, and authentication. Information is front-loaded, and every sentence adds either essential scope or behavioral guidance; there is no filler or repetition of schema fields.

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 a rich output schema available and readOnlyHint=true, the description fully situates the tool: what it filters, what it excludes, pagination mechanics, auth expectations, and where to go for deeper per-product data. Nothing needed for correct invocation is missing.

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?

The input schema provides 100% description coverage for all 10 optional parameters, including defaults, formats, and constraints. The tool description adds only general filter categories already reflected in the schema, so it does not substantially elevate parameter understanding beyond the baseline.

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 opens with a specific verb and resource: 'Search active, publicly available product listings on the Resollo marketplace.' It clearly defines the scope ('browse or filter by keyword, category, price range, currency, or seller location') and explicitly contrasts with products.get, so an agent can distinguish it from the sibling tool without opening schemas.

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?

The description gives explicit when-to-use instructions ('Use this to browse or filter...') and a direct when-not-to-use rule: 'For full details on one specific product you already have the ID for... call products.get instead.' It also names what this tool does NOT return, which prevents misuse.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

questions.askAsk a question about a Resollo productAInspect

Submits a public question about a product listing on behalf of the authenticated caller -- exactly the same product_questions record the web 'Ask a question' form creates. The seller can answer it on the Resollo web UI (with their own AI-drafted-answer assistant); this tool does not draft or send an answer. Question text is capped at 500 characters. Requires an 'Authorization: Bearer ' header.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYesThe public question text (1-500 characters).
product_idYesThe uuid of the product to ask about.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
answerYes
messageYes
created_atYes
product_idYes
answered_atYes
questioner_nameNo

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the annotations, the description discloses the side effect: a product_questions record identical to the web form is created on behalf of the authenticated caller. It also adds the required Authorization Bearer header and clarifies the tool's boundary—no drafting or sending an answer—which are meaningful behavioral facts not visible in the schema.

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 sentences, each earning its place: what the tool does, what it does not do, and the auth requirement. The main action is front-loaded and there is no filler.

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 two-parameter mutation with an output schema and clear annotations, the description covers the essential context: auth header, side effect, public nature, and tool boundaries. Nothing needed to call it correctly is missing.

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%: both product_id and question already have detailed descriptions, including the 500-character cap and UUID format. The description repeats the 500-character cap but adds no new parameter-level meaning, so the baseline of 3 applies.

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 names the verb ('Submits'), the resource ('public question about a product listing'), and the actor ('authenticated caller'), and ties it to the same record the web form creates. This clearly distinguishes it from siblings like questions.list, which is a read operation.

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 establishes this tool is for asking, not answering: the seller answers on the Resollo web UI and this tool does not draft or send an answer. It does not explicitly name a sibling for the read workflow, but the context is clear enough that an agent knows when to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

questions.listGet a Resollo product's questions and answersA
Read-only
Inspect

Returns every question asked about a product listing, including the seller's answer where one exists (answer/answered_at are null for unanswered questions). Useful to check what past buyers already asked before asking a new one, or before advising a buyer on a purchase decision. Read-only, no authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe product listing's uuid.

Output Schema

ParametersJSON Schema
NameRequiredDescription
questionsYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description adds 'no authentication required' plus a meaningful behavioral detail: answer/answered_at are null for unanswered questions. This goes beyond the annotation and helps the agent interpret results, though it does not discuss pagination or potential limits.

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 concise sentences with no filler: behavior is front-loaded, then edge cases, then usage scenarios, then auth note. Every sentence contributes distinct information.

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 single-parameter, read-only listing tool with an output schema available, this description is complete: it tells the agent what it returns, what nulls mean, when to use it, and that no authentication is needed. No critical context is missing.

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?

There is only one parameter and schema description coverage is 100%, with productId already described as 'The product listing's uuid.' The description adds no further parameter meaning beyond using the phrase 'product listing', so it does not exceed the schema baseline.

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 states a specific action ('Returns every question asked about a product listing') on a clear resource (product Q&A), including the key detail that seller answers are included where they exist. It distinguishes itself from siblings like questions.ask by framing this as retrieving past buyer questions, and from reviews.list by focusing on Q&A rather than reviews.

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 gives explicit use cases: check what past buyers asked before asking a new question, or before advising a buyer. This effectively routes an agent to this tool versus asking a new question, though it does not name alternatives or state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reviews.listGet a Resollo product's reviewsA
Read-only
Inspect

Returns the reviews left for a product by past buyers (rating, message, date), plus the product's average rating and review count. Every review is tied to a real, verified order line -- only actual buyers can leave one. Useful to judge product/seller quality before advising a buyer on a purchase decision. Read-only, no authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe product listing's uuid.

Output Schema

ParametersJSON Schema
NameRequiredDescription
reviewsYes
avg_ratingYes
review_countYes

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description adds meaningful behavioral context: 'Read-only, no authentication required' clarifies access requirements, and 'Every review is tied to a real, verified order line -- only actual buyers can leave one' discloses data provenance and trust guarantees. These are valuable traits not present in the annotations or schema and they do not contradict them.

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 composed of three compact sentences, each earning its place: the return payload, the verification/trust characteristic, and the intended use case with auth status. The core purpose is front-loaded, with no redundant or filler wording.

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 one-parameter read-only tool with an existing output schema, this description is complete: it states what is returned, provides trust/verification context, names the decision scenario, and clarifies authentication. There are no missing critical details that would prevent an agent from invoking it correctly.

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?

The single parameter productId is fully covered by the input schema with type, format, pattern, and description 'The product listing's uuid.' Since schema coverage is 100%, the description does not need to add parameter detail, and it does not. Baseline 3 applies when the schema carries the parameter semantics.

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 opens with a specific verb and resource: it returns reviews left for a product by past buyers, and explicitly enumerates the contents (rating, message, date) as well as the aggregate average rating and review count. This clearly distinguishes reviews.list from sibling tools like questions.list or products.search by naming the exact domain object and data being retrieved.

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 states a clear usage context: 'Useful to judge product/seller quality before advising a buyer on a purchase decision.' This tells the agent when to call the tool, but it does not explicitly contrast it with alternatives or state when not to use it, so it falls short of the explicit exclusion/alternative guidance level.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sellers.getGet a Resollo seller's public profileA
Read-only
Inspect

Returns a seller's public profile -- the same information the web /user/ profile page shows: display name, avatar URL, about text, identity-verification badge, location (country/region/city), when they joined, accepted payment/shipment methods, whether they have a fully active Stripe Connect account, their number of currently active listings, completed-sale count, follower count, and their positive-feedback rating (0-5, null if they have no feedback yet). Useful for judging seller reputation before advising a buyer, or to get the shop_url for browsing everything they sell (pass the same seller id as search's seller_id filter). Read-only, no authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault
sellerIdYesThe seller's uuid -- the seller.id from any search or getProduct result.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
cityYes
nameYes
aboutYes
ratingYes
shop_urlYes
avatar_urlYes
sold_countYes
is_verifiedYes
profile_urlYes
region_codeYes
country_codeYes
member_sinceYes
feedback_countYes
follower_countYes
active_listing_countYes
stripe_connect_activeYes
accepted_payment_methodsYes
accepted_shipment_methodsYes

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description explicitly states 'Read-only, no authentication required' and details exactly what data is returned, including edge cases like null feedback rating. It also explains how the seller id relates to search, adding practical behavioral context.

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 front-loaded with the core action and then provides a dense, useful enumeration of return fields and use cases. Every sentence adds meaningful information for tool selection or invocation, with no filler.

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 a single well-documented parameter, an output schema present, and annotations covering read-only behavior, the description fully covers what an agent needs: purpose, return contents, use cases, authentication requirements, and parameter sourcing.

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?

The input schema already fully documents sellerId and where it comes from (search or getProduct result). The description adds further value by noting the same seller id can be passed as search's seller_id filter and by tying the parameter to the shop_url use case.

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 and resource ('Returns a seller's public profile') and enumerates the exact fields returned, making the tool's purpose unmistakable. It does not explicitly distinguish itself from sibling tools like sellers.status, but the public-profile framing and field list make the boundary reasonably clear.

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 gives clear use cases: judging seller reputation before advising a buyer and obtaining shop_url for browsing a seller's items. It does not explicitly state when not to use this tool or name alternatives, but the context is concrete enough for an agent to select it appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sellers.listingsList the authenticated seller's own listings (any state)A
Read-only
Inspect

Returns the caller's own product listings in EVERY state -- active, inactive, pending moderation, rejected, and closed -- not just the publicly visible ones (soft-deleted listings are excluded). Use this to find a draft created earlier with products.create (those sit in state 'inactive' until the seller activates them) when you no longer have its product_id, or to review what the seller currently has listed. Each entry includes the listing's state, price, quantity, and an edit_url (the seller's product page where an inactive draft is reviewed and activated). Optionally filter to a single state. Read-only, no side effects. Requires an 'Authorization: Bearer ' header.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of most-recent listings to return (1-100, default 50).
stateNoOptional filter to a single listing state. 'inactive' is where products.create drafts sit until the seller activates them. When omitted, listings in every state are returned.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
listingsYes

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, and the description adds valuable behavioral context: no side effects, required Authorization header, soft-deleted exclusion, inclusion of edit_url, and the fact that inactive drafts can be activated via that URL. This goes well beyond the structured annotations.

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?

Every sentence contributes: scope, use cases, output fields, optional filtering, read-only behavior, and auth requirement are all covered in a dense but easily parseable paragraph. The core definition is front-loaded, and there is no filler.

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 read-only annotation, the existing output schema, and only two optional parameters, the description is complete. It covers authentication, exclusions, state semantics, and the practical recovery scenario for lost product IDs, so an agent has everything needed to invoke and interpret the tool.

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 coverage is 100%, so the schema already documents both limit and state. The description reinforces that state is optional and that 'inactive' corresponds to products.create drafts, but it does not add meaningful parameter detail beyond the schema, matching the baseline expectation.

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 ('Returns'), a specific resource (the caller's own listings), and an explicit scope ('EVERY state' including inactive, pending moderation, rejected, closed), while also noting what is excluded (soft-deleted listings). This clearly distinguishes it from public listing search and from products.get.

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?

Gives explicit use cases: finding a draft created via products.create when the product_id is unknown, and reviewing what the seller currently has listed. It does not explicitly name alternative tools or exclusion conditions, but the intended contexts are clear enough for an agent to select it correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sellers.statusGet the authenticated seller's current listing statusA
Read-only
Inspect

Returns the authenticated user's current listing capabilities: whether they can create a new listing right now (subscription plan limit), whether they have a payment/shipment method configured (both required before products.create will succeed), the max images and price their plan allows, and their remaining AI credit balance (products.create consumes 2 credits per call). Call this BEFORE asking the user for photos or calling products.create, so you can tell the user upfront if something would block listing creation, instead of finding out only after a failed attempt. Read-only, no side effects.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
max_priceYes
max_imagesYes
max_productsYes
has_payment_methodYes
can_create_auctionsYes
can_create_productsYes
has_shipment_methodYes
ai_credits_remainingYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description reinforces this with 'Read-only, no side effects.' It adds non-obvious behavioral context beyond annotations: products.create consumes 2 credits per call, payment/shipment configuration is a prerequisite, and the tool reveals plan-based limits. This gives an agent useful operational expectations without contradicting the annotations.

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 dense but every sentence earns its place: the first states the core purpose and specifics, the second provides actionable sequencing and dependency information, and the final sentence confirms safety. It is front-loaded with the result and then explains why and when to invoke the tool.

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 that there are no parameters and an output schema exists, the description covers all the essential context an agent needs: what the tool reports, why it matters, when to call it, and that it is safe. It even ties the result to downstream behavior with products.create, making the tool's role in the workflow fully understandable.

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?

The input schema has zero parameters, and the description correctly focuses on what the response contains rather than input semantics. It names the key result fields—listing capabilities, payment/shipment setup, max images/price, AI credit balance—which adds meaning beyond the empty schema. The baseline of 4 for a parameterless tool 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?

The description states a specific verb and resource: 'Returns the authenticated user's current listing capabilities.' It enumerates exactly what is included—creation eligibility, payment/shipment configuration, plan limits, and AI credit balance—so an agent can distinguish this from generic seller info tools like sellers.get.

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 gives explicit timing guidance: 'Call this BEFORE asking the user for photos or calling products.create.' It explains why the preflight matters by noting that payment/shipment methods are required for products.create to succeed. It does not explicitly contrast sellers.status with alternatives like sellers.get or products.get, so it stops short of full when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updates
    • Addedoffers.list
    • Addedorders.list
    • Addedsellers.listings
  2. 30 tool updates
    • RemovedaskProductQuestion
    • RemovedcreateProduct
    • RemovedgetCheckoutLink
    • RemovedgetMarketplaceInfo
    • RemovedgetOrderStatus
    • RemovedgetProduct
    • RemovedgetProductQuestions
    • RemovedgetProductReviews
    • RemovedgetSeller
    • RemovedgetSellerStatus
    • RemovedmakeOffer
    • Addedmarketplace.info
    • Addedoffers.make
    • Addedoffers.respond
    • Addedorders.checkoutLink
    • Addedorders.place
    • Addedorders.reject
    • Addedorders.status
    • RemovedplaceOrder
    • Addedproducts.create
    • Addedproducts.get
    • Addedproducts.search
    • Addedquestions.ask
    • Addedquestions.list
    • RemovedrejectOrder
    • RemovedrespondToOffer
    • Addedreviews.list
    • RemovedsearchProducts
    • Addedsellers.get
    • Addedsellers.status
  3. 15 tool updates
    • ChangedaskProductQuestion3 fields changed
      • addedInput schema / properties / product_id / description
        Added value: +"The uuid of the product to ask about."
      • addedInput schema / properties / question / description
        Added value: +"The public question text (1-500 characters)."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "answer": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "answered_at": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "created_at": {
        +      "type": "string"
        +    },
        +    "id": {
        +      "type": "number"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "product_id": {
        +      "type": "string"
        +    },
        +    "questioner_name": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "product_id",
        +    "message",
        +    "answer",
        +    "created_at",
        +    "answered_at"
        +  ],
        +  "type": "object"
        +}
    • ChangedcreateProduct14 fields changed
      • addedInput schema / properties / category_id / description
        Added value: +"Optional override for the AI-chosen category id (see getMarketplaceInfo.categories)."
      • addedInput schema / properties / condition / description
        Added value: +"Optional override for the AI-chosen condition code (see getMarketplaceInfo.conditions)."
      • addedInput schema / properties / description / description
        Added value: +"Optional override for the AI-generated description."
      • addedInput schema / properties / guarantee / description
        Added value: +"Optional warranty / guarantee text."
      • addedInput schema / properties / images / description
        Added value: +"1-5 real photo files of the item. Resollo's own AI generates the listing content from these."
      • addedInput schema / properties / images / items / properties / data / description
        Added value: +"Base64-encoded image bytes (never a URL)."
      • addedInput schema / properties / images / items / properties / mime_type / description
        Added value: +"Declared image type. Only a hint -- the decoded bytes are re-validated server-side."
      • addedInput schema / properties / is_business_listing / description
        Added value: +"Whether this is a business (vs. private) listing."
      • addedInput schema / properties / name / description
        Added value: +"Optional override for the AI-generated title."
      • addedInput schema / properties / offers_enabled / description
        Added value: +"Whether buyers may send Make-an-Offer bids on the listing."
      • addedInput schema / properties / price / description
        Added value: +"Optional fixed price override. When omitted, Resollo's AI price-suggestion sets it."
      • addedInput schema / properties / quantity / description
        Added value: +"Units available (default 1)."
      • addedInput schema / properties / unit / description
        Added value: +"Unit of sale (default \"piece\")."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "activation_url": {
        +      "type": "string"
        +    },
        +    "product_id": {
        +      "type": "string"
        +    },
        +    "quota_remaining": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "autofill": {
        +          "type": "number"
        +        },
        +        "price_suggestion": {
        +          "type": "number"
        +        }
        +      },
        +      "required": [
        +        "autofill",
        +        "price_suggestion"
        +      ],
        +      "type": "object"
        +    },
        +    "state": {
        +      "const": "inactive",
        +      "type": "string"
        +    },
        +    "suggested": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "attributes": {
        +          "additionalProperties": {
        +            "type": "string"
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "category": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "id": {
        +              "type": "number"
        +            },
        +            "key": {
        +              "type": "string"
        +            },
        +            "name_en": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "id",
        +            "key",
        +            "name_en"
        +          ],
        +          "type": "object"
        +        },
        +        "condition": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "key": {
        +              "type": "string"
        +            },
        +            "name_en": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "value",
        +            "key",
        +            "name_en"
        +          ],
        +          "type": "object"
        +        },
        +        "description": {
        +          "type": "string"
        +        },
        +        "name": {
        +          "type": "string"
        +        },
        +        "price": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "amount": {
        +              "type": "number"
        +            },
        +            "currency": {
        +              "type": "string"
        +            },
        +            "max": {
        +              "type": "number"
        +            },
        +            "min": {
        +              "type": "number"
        +            },
        +            "reasoning": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "amount",
        +            "currency",
        +            "min",
        +            "max",
        +            "reasoning"
        +          ],
        +          "type": "object"
        +        },
        +        "semantic_profile": {
        +          "anyOf": [
        +            {
        +              "additionalProperties": {},
        +              "propertyNames": {
        +                "type": "string"
        +              },
        +              "type": "object"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "shipment_prices": {
        +          "additionalProperties": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "international": {
        +                "type": "string"
        +              },
        +              "local": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "local",
        +              "international"
        +            ],
        +            "type": "object"
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        }
        +      },
        +      "required": [
        +        "name",
        +        "description",
        +        "category",
        +        "condition",
        +        "attributes",
        +        "semantic_profile",
        +        "shipment_prices",
        +        "price"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "product_id",
        +    "state",
        +    "suggested",
        +    "activation_url",
        +    "quota_remaining"
        +  ],
        +  "type": "object"
        +}
    • ChangedgetCheckoutLink2 fields changed
      • addedInput schema / properties / orderId / description
        Added value: +"The uuid of the dispatched, not-yet-paid order."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "checkout_url": {
        +      "type": "string"
        +    },
        +    "order_id": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "order_id",
        +    "checkout_url"
        +  ],
        +  "type": "object"
        +}
    • AddedgetMarketplaceInfo
    • ChangedgetOrderStatus3 fields changed
      • addedInput schema / properties / currency / description
        Added value: +"ISO 4217 code for the returned price fields. Defaults to USD. Same semantics as in search_products."
      • addedInput schema / properties / orderId / description
        Added value: +"The order's uuid."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "carrier": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "closed": {
        +      "type": "boolean"
        +    },
        +    "completed_at": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "created_at": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "dispatched": {
        +      "type": "boolean"
        +    },
        +    "order_id": {
        +      "type": "string"
        +    },
        +    "paid": {
        +      "type": "boolean"
        +    },
        +    "received": {
        +      "type": "boolean"
        +    },
        +    "rejected": {
        +      "type": "boolean"
        +    },
        +    "reserved": {
        +      "type": "boolean"
        +    },
        +    "total_price": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "amount": {
        +          "type": "number"
        +        },
        +        "currency": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "amount",
        +        "currency"
        +      ],
        +      "type": "object"
        +    },
        +    "tracking_number": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    }
        +  },
        +  "required": [
        +    "order_id",
        +    "reserved",
        +    "dispatched",
        +    "paid",
        +    "received",
        +    "rejected",
        +    "closed",
        +    "carrier",
        +    "tracking_number",
        +    "total_price",
        +    "created_at",
        +    "completed_at"
        +  ],
        +  "type": "object"
        +}
    • ChangedgetProduct3 fields changed
      • addedInput schema / properties / currency / description
        Added value: +"ISO 4217 code for the returned price fields. Defaults to USD. Same semantics as in search_products."
      • addedInput schema / properties / productId / description
        Added value: +"The product listing's uuid."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "attributes": {
        +      "anyOf": [
        +        {
        +          "additionalProperties": {},
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "auction_ends_at": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "category": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "id": {
        +          "type": "number"
        +        },
        +        "key": {
        +          "type": "string"
        +        },
        +        "name_en": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "id",
        +        "key",
        +        "name_en"
        +      ],
        +      "type": "object"
        +    },
        +    "condition": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "key": {
        +          "type": "string"
        +        },
        +        "name_en": {
        +          "type": "string"
        +        },
        +        "value": {
        +          "type": "number"
        +        }
        +      },
        +      "required": [
        +        "value",
        +        "key",
        +        "name_en"
        +      ],
        +      "type": "object"
        +    },
        +    "converted_price": {
        +      "anyOf": [
        +        {
        +          "additionalProperties": false,
        +          "properties": {
        +            "amount": {
        +              "type": "number"
        +            },
        +            "currency": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "amount",
        +            "currency"
        +          ],
        +          "type": "object"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "created_at": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "description": {
        +      "type": "string"
        +    },
        +    "guarantee": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "id": {
        +      "type": "string"
        +    },
        +    "image_url": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "image_urls": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "listing_type": {
        +      "enum": [
        +        "fixed_price",
        +        "auction"
        +      ],
        +      "type": "string"
        +    },
        +    "min_price": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "offers_enabled": {
        +      "type": "boolean"
        +    },
        +    "price": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "amount": {
        +          "type": "number"
        +        },
        +        "currency": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "amount",
        +        "currency"
        +      ],
        +      "type": "object"
        +    },
        +    "quantity_available": {
        +      "type": "number"
        +    },
        +    "seller": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "accepted_payment_methods": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "accepted_shipment_methods": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "alias": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "avatar_url": {
        +          "type": "string"
        +        },
        +        "city": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "country_code": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "id": {
        +          "type": "string"
        +        },
        +        "is_verified": {
        +          "type": "boolean"
        +        },
        +        "region_code": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "stripe_connect_active": {
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "id",
        +        "alias",
        +        "is_verified",
        +        "country_code",
        +        "region_code",
        +        "avatar_url",
        +        "city",
        +        "stripe_connect_active",
        +        "accepted_payment_methods",
        +        "accepted_shipment_methods"
        +      ],
        +      "type": "object"
        +    },
        +    "semantic_profile": {
        +      "anyOf": [
        +        {
        +          "additionalProperties": {},
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "shipment_prices": {
        +      "anyOf": [
        +        {
        +          "additionalProperties": {},
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "unit": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "name",
        +    "description",
        +    "category",
        +    "condition",
        +    "price",
        +    "converted_price",
        +    "listing_type",
        +    "auction_ends_at",
        +    "quantity_available",
        +    "image_url",
        +    "seller",
        +    "url",
        +    "created_at",
        +    "unit",
        +    "guarantee",
        +    "min_price",
        +    "offers_enabled",
        +    "attributes",
        +    "semantic_profile",
        +    "image_urls",
        +    "shipment_prices"
        +  ],
        +  "type": "object"
        +}
    • ChangedgetProductQuestions2 fields changed
      • addedInput schema / properties / productId / description
        Added value: +"The product listing's uuid."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "questions": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "answer": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "answered_at": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "created_at": {
        +            "type": "string"
        +          },
        +          "id": {
        +            "type": "number"
        +          },
        +          "message": {
        +            "type": "string"
        +          },
        +          "product_id": {
        +            "type": "string"
        +          },
        +          "questioner_name": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "product_id",
        +          "message",
        +          "answer",
        +          "created_at",
        +          "answered_at"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "questions"
        +  ],
        +  "type": "object"
        +}
    • ChangedgetProductReviews2 fields changed
      • addedInput schema / properties / productId / description
        Added value: +"The product listing's uuid."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "avg_rating": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "review_count": {
        +      "type": "number"
        +    },
        +    "reviews": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "created_at": {
        +            "type": "string"
        +          },
        +          "id": {
        +            "type": "number"
        +          },
        +          "message": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "rating": {
        +            "type": "number"
        +          },
        +          "reviewer_name": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "rating",
        +          "message",
        +          "reviewer_name",
        +          "created_at"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "reviews",
        +    "avg_rating",
        +    "review_count"
        +  ],
        +  "type": "object"
        +}
    • AddedgetSeller
    • ChangedgetSellerStatus1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "ai_credits_remaining": {
        +      "type": "number"
        +    },
        +    "can_create_auctions": {
        +      "type": "boolean"
        +    },
        +    "can_create_products": {
        +      "type": "boolean"
        +    },
        +    "has_payment_method": {
        +      "type": "boolean"
        +    },
        +    "has_shipment_method": {
        +      "type": "boolean"
        +    },
        +    "max_images": {
        +      "type": "number"
        +    },
        +    "max_price": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "max_products": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "can_create_products",
        +    "max_products",
        +    "can_create_auctions",
        +    "has_payment_method",
        +    "has_shipment_method",
        +    "max_images",
        +    "max_price",
        +    "ai_credits_remaining"
        +  ],
        +  "type": "object"
        +}
    • ChangedmakeOffer4 fields changed
      • changedInput schema / properties / currency_code / description
        Previous value: -"Defaults to the product's own listing currency if omitted."New value: +"ISO 4217 code for offered_price. Defaults to the product's own listing currency if omitted."
      • addedInput schema / properties / offered_price / description
        Added value: +"The price the buyer offers, in `currency_code` (or the listing's own currency if that is omitted)."
      • addedInput schema / properties / product_id / description
        Added value: +"The uuid of the fixed-price listing to bid on."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "created_at": {
        +      "type": "string"
        +    },
        +    "offer_id": {
        +      "type": "string"
        +    },
        +    "offered_price": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "amount": {
        +          "type": "number"
        +        },
        +        "currency": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "amount",
        +        "currency"
        +      ],
        +      "type": "object"
        +    },
        +    "product_id": {
        +      "type": "string"
        +    },
        +    "state": {
        +      "const": "pending",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "offer_id",
        +    "product_id",
        +    "state",
        +    "offered_price",
        +    "created_at"
        +  ],
        +  "type": "object"
        +}
    • ChangedplaceOrder8 fields changed
      • addedInput schema / properties / address_key / description
        Added value: +"Key of one of the buyer's own saved addresses (never a free-text address). Required unless shipment_method is `personal`; defaults to the buyer's active address when omitted."
      • addedInput schema / properties / comment / description
        Added value: +"Optional note to the seller, attached to the order chat."
      • addedInput schema / properties / confirm / description
        Added value: +"Human-confirmation gate. Must be true, and only set it after the user has explicitly approved this specific order having seen the payment-safety text. An agent must never set this on its own initiative."
      • addedInput schema / properties / payment_method / description
        Added value: +"How buyer and seller will settle payment off-platform. Must be one the seller accepts (see get_product.seller.accepted_payment_methods)."
      • addedInput schema / properties / product_id / description
        Added value: +"The uuid of the fixed-price listing to reserve."
      • addedInput schema / properties / quantity / description
        Added value: +"Units to reserve (1-20, default 1)."
      • addedInput schema / properties / shipment_method / description
        Added value: +"How the item will be handed over. Must be one the seller accepts (see get_product.seller.accepted_shipment_methods)."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "created_at": {
        +      "type": "string"
        +    },
        +    "order_id": {
        +      "type": "string"
        +    },
        +    "payment_method": {
        +      "enum": [
        +        "cash",
        +        "card",
        +        "bank",
        +        "paypal",
        +        "stripe"
        +      ],
        +      "type": "string"
        +    },
        +    "payment_safety": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "currency_mismatch": {
        +          "anyOf": [
        +            {
        +              "type": "string"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "dispute_fallback": {
        +          "type": "string"
        +        },
        +        "generic": {
        +          "type": "string"
        +        },
        +        "item_not_as_described": {
        +          "type": "string"
        +        },
        +        "method": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "generic",
        +        "method",
        +        "currency_mismatch",
        +        "item_not_as_described",
        +        "dispute_fallback"
        +      ],
        +      "type": "object"
        +    },
        +    "product": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "id": {
        +          "type": "string"
        +        },
        +        "name": {
        +          "type": "string"
        +        },
        +        "url": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "id",
        +        "name",
        +        "url"
        +      ],
        +      "type": "object"
        +    },
        +    "quantity": {
        +      "type": "number"
        +    },
        +    "shipment_method": {
        +      "enum": [
        +        "personal",
        +        "courier",
        +        "postal",
        +        "locker"
        +      ],
        +      "type": "string"
        +    },
        +    "state": {
        +      "const": "reserved",
        +      "type": "string"
        +    },
        +    "total_price": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "amount": {
        +          "type": "number"
        +        },
        +        "currency": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "amount",
        +        "currency"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "order_id",
        +    "state",
        +    "product",
        +    "quantity",
        +    "total_price",
        +    "payment_method",
        +    "shipment_method",
        +    "payment_safety",
        +    "created_at"
        +  ],
        +  "type": "object"
        +}
    • ChangedrejectOrder2 fields changed
      • addedInput schema / properties / orderId / description
        Added value: +"The uuid of the RESERVED order to reject."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "order_id": {
        +      "type": "string"
        +    },
        +    "state": {
        +      "const": "rejected",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "order_id",
        +    "state"
        +  ],
        +  "type": "object"
        +}
    • ChangedrespondToOffer4 fields changed
      • addedInput schema / properties / action / description
        Added value: +"Seller actions on a pending offer: accept | reject | counter (counter_price required). Buyer action on a countered offer: accept_counter."
      • addedInput schema / properties / counter_price / description
        Added value: +"The seller's counter-offer price. Required when action is `counter`."
      • addedInput schema / properties / offer_id / description
        Added value: +"The uuid of the offer to respond to."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "offer_id": {
        +      "type": "string"
        +    },
        +    "state": {
        +      "enum": [
        +        "accepted",
        +        "rejected",
        +        "countered",
        +        "buyer_accepted"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "offer_id",
        +    "state"
        +  ],
        +  "type": "object"
        +}
    • ChangedsearchProducts11 fields changed
      • addedInput schema / properties / category / description
        Added value: +"Numeric top-level category id (see getMarketplaceInfo.categories). Subcategory ids are accepted but rolled up to their top-level parent in the response."
      • addedInput schema / properties / currency / description
        Added value: +"ISO 4217 code used for price filtering and each result's converted_price. Defaults to USD. Must be one of getMarketplaceInfo.currencies."
      • addedInput schema / properties / cursor / description
        Added value: +"Opaque pagination cursor from a previous response's next_cursor."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of results to return per page (1-50, default 20)."
      • addedInput schema / properties / location / description
        Added value: +"Comma-separated seller-location filters. Each entry is a 2-letter ISO country code (\"HU\") or a \"COUNTRY:REGION\" pair (\"HU:BU\"). Reflects the seller's profile location, not a per-listing field."
      • addedInput schema / properties / price_max / description
        Added value: +"Maximum price in the resolved `currency`."
      • addedInput schema / properties / price_min / description
        Added value: +"Minimum price in the resolved `currency` (converted price, not the seller's native currency)."
      • addedInput schema / properties / q / description
        Added value: +"Free-text search across the listing's canonical name and description."
      • addedInput schema / properties / seller_id
        Added value: +{
        +  "description": "Restrict results to one seller's listings. The uuid is the seller.id from any search or getProduct result.",
        +  "format": "uuid",
        +  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
        +  "type": "string"
        +}
      • addedInput schema / properties / sort / description
        Added value: +"Result ordering. Never influenced by paid placement."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "count": {
        +      "anyOf": [
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "next_cursor": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "products": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "auction_ends_at": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "category": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "id": {
        +                "type": "number"
        +              },
        +              "key": {
        +                "type": "string"
        +              },
        +              "name_en": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "id",
        +              "key",
        +              "name_en"
        +            ],
        +            "type": "object"
        +          },
        +          "condition": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "key": {
        +                "type": "string"
        +              },
        +              "name_en": {
        +                "type": "string"
        +              },
        +              "value": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "value",
        +              "key",
        +              "name_en"
        +            ],
        +            "type": "object"
        +          },
        +          "converted_price": {
        +            "anyOf": [
        +              {
        +                "additionalProperties": false,
        +                "properties": {
        +                  "amount": {
        +                    "type": "number"
        +                  },
        +                  "currency": {
        +                    "type": "string"
        +                  }
        +                },
        +                "required": [
        +                  "amount",
        +                  "currency"
        +                ],
        +                "type": "object"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "created_at": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "description": {
        +            "type": "string"
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "image_url": {
        +            "anyOf": [
        +              {
        +                "type": "string"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "listing_type": {
        +            "enum": [
        +              "fixed_price",
        +              "auction"
        +            ],
        +            "type": "string"
        +          },
        +          "name": {
        +            "type": "string"
        +          },
        +          "price": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "amount": {
        +                "type": "number"
        +              },
        +              "currency": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "amount",
        +              "currency"
        +            ],
        +            "type": "object"
        +          },
        +          "quantity_available": {
        +            "type": "number"
        +          },
        +          "seller": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "alias": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "country_code": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              },
        +              "id": {
        +                "type": "string"
        +              },
        +              "is_verified": {
        +                "type": "boolean"
        +              },
        +              "region_code": {
        +                "anyOf": [
        +                  {
        +                    "type": "string"
        +                  },
        +                  {
        +                    "type": "null"
        +                  }
        +                ]
        +              }
        +            },
        +            "required": [
        +              "id",
        +              "alias",
        +              "is_verified",
        +              "country_code",
        +              "region_code"
        +            ],
        +            "type": "object"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "name",
        +          "description",
        +          "category",
        +          "condition",
        +          "price",
        +          "converted_price",
        +          "listing_type",
        +          "auction_ends_at",
        +          "quantity_available",
        +          "image_url",
        +          "seller",
        +          "url",
        +          "created_at"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "products",
        +    "next_cursor",
        +    "count"
        +  ],
        +  "type": "object"
        +}
  4. 8 tool updates
    • AddedaskProductQuestion
    • AddedgetCheckoutLink
    • AddedgetOrderStatus
    • AddedgetProductQuestions
    • AddedgetProductReviews
    • AddedmakeOffer
    • AddedrejectOrder
    • AddedrespondToOffer
  5. 1 tool update
    • ChangedplaceOrder1 field changed
      • addedInput schema / properties / currency / description
        Added value: +"Informational only, used solely to detect a currency mismatch worth surfacing to the buyer (payment_safety.currency_mismatch). Does NOT change what gets charged -- the order is always recorded and settled in the listing's own native currency regardless of this value."
  6. 2 tool updates
    • AddedcreateProduct
    • AddedgetSellerStatus
  7. 3 tool updates
    • First observedgetProduct
    • First observedplaceOrder
    • First observedsearchProducts

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Federated marketplace that indexes listings from personal humanMCP servers, enabling search across offers, trades, and services without requiring accounts.
    -
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to search, inspect, and purchase physical goods on an escrow-secured marketplace, including listing search, agent reputation checks, and offer creation.
    5
    83
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Agent-to-agent commerce over Bitcoin Lightning: buy, sell, list, and discover files, data, APIs, and compute on a public marketplace (or privately by offer id). Non-custodial, buyers pay sellers wallet-to-wallet and a verified payment preimage unlocks the result.
    6
    27
    686
    MIT No Attribution
  • A
    license
    A
    quality
    C
    maintenance
    Enables read-only search and retrieval of the public Reknihy.cz book catalog, including filtering, sorting, ISBN lookup, category browsing, and access to product details such as price, availability, and images.
    4
    ISC
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.2/5.0
Disambiguation5/5

Each tool is cleanly grouped by resource (marketplace, offers, orders, products, questions, reviews, sellers) and within a group every action is distinct. There is no real overlap between e.g. orders.place, orders.checkoutLink, and orders.status, or between offers.make and offers.respond.

Naming Consistency4/5

Tool names follow a predictable resource.action pattern with lowercase verb-like second segments (offers.list, products.create, questions.ask). Minor deviations exist: orders.checkoutLink uses camelCase and sellers.listings is a noun rather than a verb, but the overall convention remains easy to infer.

Tool Count3/5

18 tools sits in the 16-25 borderline-heavy range. The marketplace scope is broad enough that most tools feel justified, but the count is slightly above the ideal well-scoped band and could be seen as heavy for a single API server.

Completeness3/5

The server covers core marketplace browsing, product draft creation, order placement, offers, questions, and reviews well. However, there are notable lifecycle gaps: products can be created but not updated/deleted/activated via API, orders have no dispatch/confirm/receive actions, and offers have no cancel action, with several operations pushed to the web UI.

Resources