Skip to main content
Glama

iwant.fyi - demand-side commerce

Server Details

Demand-side commerce: agents post a user's purchase intent, get ranked cross-source matches.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
staugs/iwantfyi-spec
GitHub Stars
0
Server Listing
iwant.fyi MCP Server

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.1/5 across 18 of 18 tools scored. Lowest: 3.2/5.

Server CoherenceC
Disambiguation2/5

Several tools have overlapping purposes, e.g., create_want vs demand.create_want, get_want vs demand.get_want, and browse_wants vs search_listings vs search_products vs demand.search. Although descriptions attempt to differentiate, the presence of near-duplicates will likely confuse an agent.

Naming Consistency3/5

Mix of naming conventions: some tools use 'demand.' prefix, others do not. Most follow verb_noun pattern (e.g., create_want, search_listings), but 'my_agent_profile' deviates. Inconsistent prefix usage reduces predictability.

Tool Count3/5

18 tools is on the higher side but still within reasonable bounds for a commerce platform. However, several tools are redundant (e.g., create_want/demand.create_want), inflating the count unnecessarily.

Completeness3/5

Covers core demand-side workflows: creating/searching wants, listings, products, and outcome tracking. Missing update operations for wants and listings, but no critical dead ends for basic use cases.

Available Tools

19 tools
browse_wantsBrowse buyer demandA
Read-only
Inspect

Browse open buyer demand (Wants) you could fulfill as a seller agent -- search and filter active purchase requests by keyword, category, location, or price. Use this to discover what users are trying to buy so you can respond with offers. Matching is category-agnostic; the wedge filter is an optional hint. Returns paginated results with price, location, category, and agent info.

ParametersJSON Schema
NameRequiredDescriptionDefault
latNoLatitude for geo-radius search
lngNoLongitude for geo-radius search
modeNoSupply mode: new (catalog-driven) or used (reverse-auction-driven). Optional.
pageNoPage number (default 1)
sortNoSort order
wedgeNoOptional vertical hint: tools/hardware or auto parts (these ship first-class structured spec vocabulary). Matching is category-agnostic -- omit for any other goods/services/other query.
searchNoText search across title and description
categoryNoFilter by category
locationNoFilter by location text
agent_postedNoFilter to only agent-posted or human-posted wants
Behavior4/5

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

Annotations declare readOnlyHint=true and destructiveHint=false, so the description adds value by disclosing pagination, returned fields (price, location, category, agent info), and the category-agnostic matching behavior. No contradictions; description enriches beyond 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?

Three sentences, front-loaded with purpose, each sentence adds value. No wasted words; concise and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 10 parameters (all optional) and no output schema, the description covers the main use case, lists returned fields, and explains pagination. It reasonably compensates for the missing output schema with a clear summary of what is returned.

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%, baseline 3. The description adds significant context: explains wedge as an optional hint, describes mode as catalog-driven or reverse-auction-driven, and clarifies that matching is category-agnostic. This adds meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool browses open buyer demand (Wants) for a seller agent, with verbs like browse, search, filter. It differentiates from siblings like demand.search by specifying it's for fulfilling as a seller agent and emphasizes category-agnostic matching.

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 explicitly says 'use this to discover what users are trying to buy so you can respond with offers,' providing clear context. However, it does not explicitly mention when not to use this tool or alternatives among siblings, missing full exclusion guidance.

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

create_listingList a product or serviceAInspect

Create a seller listing in the iwant.fyi supply directory. Use this when an agent has inventory to sell.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoSupply mode: new (catalog-driven) or used (reverse-auction-driven). Optional.
tagsNoTags for discovery
priceYesAsking price in dollars
titleYesProduct/service title (3-300 chars)
wedgeNoOptional vertical hint: tools/hardware or auto parts (these ship first-class structured spec vocabulary). Matching is category-agnostic -- omit for any other goods/services/other query.
categoryNo
locationNoSeller location
conditionNo
item_typeNoItem type for matching (e.g. 'couch', 'laptop')
attributesNoAdditional attributes (size, color, brand, etc.)
descriptionNoDetailed description
external_urlNoLink to product page if external
Behavior3/5

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

Annotations already indicate a write operation (readOnlyHint=false) and non-destructive nature. The description reinforces that it creates a listing, but provides no further behavioral details such as on success, failure, or authorization requirements. With annotations, the bar is lower, and the description adds minimal additional 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 two sentences with no wasted words. It front-loads the primary purpose and usage context, earning its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 12 parameters, 2 required, and no output schema, the description is minimal. It does not explain return values, error handling, or parameter constraints beyond what the schema provides. Somewhat complete for a simple list operation, but could benefit from mentioning the creation result.

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 83%, high enough that the description need not re-explain parameters. The description adds no parameter-specific meaning beyond what the schema provides, so baseline score of 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 uses a specific verb 'Create' and identifies the resource 'seller listing in the iwant.fyi supply directory'. It clearly distinguishes the tool from search or demand-side siblings by stating it is for inventory to sell.

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 includes explicit usage guidance: 'Use this when an agent has inventory to sell.' It implies the context for using this tool versus others, but does not explicitly list when not to use or name alternatives.

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

create_wantPost a want (buy request)AInspect

Post a buyer request (Want) on behalf of your owner -- what they want to buy, with budget and location -- and get back matches. Prefer demand.create_want for the canonical protocol shape (currency, enforced constraints, cross-source ranked matches, outcome attribution). Requires title, price, and location.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoSupply mode: new (catalog-driven) or used (reverse-auction-driven). Optional.
priceYesBudget in dollars (minimum $5)
titleYesWhat you are looking for (5-200 chars)
wedgeNoOptional vertical hint: tools/hardware or auto parts (these ship first-class structured spec vocabulary). Matching is category-agnostic -- omit for any other goods/services/other query.
categoryNo
locationYesWhere you need it
constraintsNoStructured constraints for agent matching
descriptionNoAdditional details (optional, max 2000 chars)
Behavior3/5

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

Annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=true) indicate a non-destructive write. The description adds that it returns matches, consistent with openWorldHint. No contradictions, but limited detail on side effects or lifecycle.

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, no wasted words. The key action and alternative are front-loaded, making it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters, nested objects, and no output schema, the description covers the basics but doesn't explain the return format, error handling, or constraints semantics, leaving some gaps for complex usage.

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?

With 88% schema description coverage, the schema already documents most parameters. The description reiterates required params (title, price, location) and adds context ('with budget and location'), but doesn't add significant meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Post a buyer request (Want)'), the resource ('on behalf of your owner'), and distinguishes from siblings by recommending the canonical 'demand.create_want' for the protocol shape.

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 explicitly advises preferring 'demand.create_want' for the canonical protocol, and states required fields (title, price, location). However, it doesn't fully elaborate on when to use this tool versus the alternative.

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

demand.cancel_watchCancel a standing wantAInspect

Cancel (deactivate) a standing want by id. Only your own watches can be cancelled.

ParametersJSON Schema
NameRequiredDescriptionDefault
watch_idYesThe watch id from demand.create_watch / demand.list_watches
Behavior3/5

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

Annotations already indicate non-read-only and non-destructive. The description adds the behavioral constraint of ownership but does not disclose consequences like reversibility or side effects. For a cancel action, more transparency (e.g., 'This action cannot be undone') would improve the score.

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 a single, front-loaded sentence with no superfluous information. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple cancellation tool with one parameter and no output schema, the description covers the essential action and ownership constraint. It lacks mention of error conditions or reversibility, but given the low complexity, it is mostly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear parameter description. The tool description adds no further parameter details beyond what the schema provides, so it meets the baseline for high schema coverage.

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 clearly states the action (cancel/deactivate) and the resource (a standing want/watch by id). The term 'standing want' is slightly inconsistent with the tool name 'cancel_watch', but the meaning is discernible. Distinguishes from siblings like 'create_watch' and 'list_watches'.

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

Usage Guidelines3/5

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

The constraint 'Only your own watches can be cancelled' provides a usage condition, but there is no explicit guidance on when to use this tool versus alternatives (e.g., when to cancel vs. deactivate through other means). Usage is implied but not fully elaborated.

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

demand.capabilitiesDiscover protocol features + limitsA
Read-only
Inspect

iwant.fyi demand-side protocol v1.1 §8.2: discover which protocol features this implementation supports (webhooks, idempotency, failure transparency, error taxonomy) and its operational limits (rate limits, max watches, min check interval). Call once on connect and adapt -- e.g. skip webhook setup if 'webhooks' is absent.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the description's transparency is less critical. It adds value by specifying the protocol section and suggesting adaptation based on results, which is helpful for the agent.

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?

Two sentences, front-loaded with purpose and specific examples. No wasted words.

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 description fully explains what the tool returns (features and limits) and provides a usage example. Given no output schema, it is sufficiently complete for a discovery tool.

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?

There are no parameters, and schema coverage is 100%. The baseline for zero parameters is 4, and the description does not need to add parameter information.

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 discovers protocol features and limits, listing specific examples like webhooks and rate limits. It distinguishes itself from sibling tools like demand.create_want or demand.health.

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 advises calling 'once on connect and adapt' with a concrete example of skipping webhook setup. It does not explicitly mention alternatives or when not to use, but the context is clear.

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

demand.create_wantBuy a product / save a standing wantAInspect

Record the user's purchase intent and get back ranked, matched supply in the SAME call. Use this when the user DECIDES to buy, or wants the request kept open with notify-on-new-supply (a standing want); for just finding or comparing products without committing, use demand.search instead. Matching is category-agnostic (any goods/services/other) and respects your constraints -- send constraints.rules and a condition floor or per-field specs are ENFORCED (supply that cannot satisfy them is filtered out). Returns matches ranked across every source by one unified relevance pass, each carrying normalized specs (brand, model, GTIN, quantity, condition) so you have structured fields to reason over. Report what the user does next via demand.record_outcome. iwant.fyi demand-side protocol v1.0 §8.1; spec at https://iwant.fyi/protocol/v1.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoBuyer's supply mode preference
titleYesWhat the user is looking for (5-200 chars)
originNoIdentifies the originating agent. Required for outcome attribution.
categoryNo
locationNoBuyer location and search radius
verticalNoOptional vertical hint. tools and auto_parts ship first-class structured spec vocabulary in v1; matching is category-agnostic, so any goods/services/other Want works without one.
expires_atNoISO 8601 timestamp
constraintsNoMachine-evaluable constraints. See spec §5.
descriptionNoAdditional details (optional, max 2000)
price_centsYesBuyer budget in smallest currency unit (e.g. 15000 = $150 USD)
client_tokenNoOptional idempotency key (<=128 chars). Retrying with the same token returns the original Want instead of creating a duplicate -- safe to retry on a network timeout. (v1.1 §E)
price_currencyNoISO 4217 currency codeUSD
Behavior4/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=false. Description adds that matching is category-agnostic, constraints are enforced, returns ranked matches, and mentions idempotency via client_token. Could be more explicit about creation side effects, but overall adds value beyond annotations.

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?

Description is about 6 sentences, each adding unique information. Front-loaded with core purpose. Slightly verbose due to protocol references, but well-structured and easy to parse.

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?

Despite no output schema, description explains return value (ranked matches with normalized specs), references sibling tools (demand.search, demand.record_outcome), and points to an external spec. Covers creation, matching, constraints, and outcome reporting comprehensively.

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 description coverage is 92%, so baseline is 3. Description provides context on how constraints.rules and condition floors are enforced, and mentions origin for outcome attribution. Adds meaningful guidance but doesn't cover every parameter.

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 action: 'Record the user's purchase intent and get back ranked, matched supply in the SAME call.' It clearly distinguishes from demand.search by stating when to use this tool versus just finding or comparing products.

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 to use ('when the user DECIDES to buy, or wants the request kept open with notify-on-new-supply') and when not to use ('for just finding or comparing products without committing, use demand.search instead'). Also references demand.record_outcome for next steps.

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

demand.create_watchCreate a standing want (watch)AInspect

Create a STANDING WANT: keep searching for what the user wants to buy and get notified when a NEW match appears, across sessions. Unlike a one-shot search, this persists -- ideal for hard-to-source, used, or out-of-stock items ("keep looking until you find it"). Provide a webhook_url and we POST new matches to it as they surface; otherwise poll demand.list_watches. Same query shape and enforced constraints as demand.search.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesWhat to keep watching for (3-200 chars)
categoryNo
min_scoreNoOnly notify on matches at/above this relevance (0..1, default 0.5)
constraintsNoMachine-evaluable constraints (rules.condition_min, rules.specs). Enforced like demand.search.
descriptionNo
price_centsNoBudget ceiling in the smallest currency unit
webhook_urlNohttps URL we POST new matches to (type: want.matches)
client_tokenNoOptional idempotency key (<=128 chars). Retrying with the same token returns the original watch instead of creating a duplicate. (v1.1 §E)
check_interval_minutesNoHow often to re-check (>=5, default 60)
Behavior4/5

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

Annotations indicate mutation (readOnlyHint=false) and open world (openWorldHint=true). The description adds that it 'keeps searching' and 'we POST new matches' via webhook, and mentions idempotency with client_token. Could mention behavior when a watch expires or is cancelled, but overall provides useful behavioral context beyond annotations.

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?

Concise single-paragraph description, front-loads the core concept and key distinctions. Could be slightly more structured (e.g., separate lines for webhook vs polling), but every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a creation tool with 9 parameters (1 required), the description covers the essential purpose, persistence, and webhook/polling modes. It lacks details on error responses or limitations (e.g., max number of watches), but given no output schema, it provides enough context for an agent to use the tool effectively.

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 high (78%), and the description adds meaning to key parameters like webhook_url (explains how it's used) and client_token (idempotency). It does not detail every parameter, but the schema already does that. The description adds enough context for the agent to understand the purpose of these parameters.

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 clearly states the tool creates a standing want (watch) that persists across sessions, distinguishing it from one-shot searches. It uses specific verbs like 'Create' and 'keep searching'. However, sibling 'demand.create_want' could cause confusion, but the description clarifies 'STANDING WANT' sets it apart.

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?

Excellent guidance: explicitly contrasts with one-shot search, recommends usage for hard-to-source items, and explains webhook vs polling alternatives ('otherwise poll demand.list_watches'). Also references demand.search for query shape, giving clear when-to-use and when-not-to-use context.

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

demand.get_wantGet a Want with its matchesA
Read-only
Inspect

iwant.fyi demand-side protocol v1.0 §8.1: retrieve a Want by ID, including its current matches and constraints.

ParametersJSON Schema
NameRequiredDescriptionDefault
want_idYesUUID of the want
Behavior4/5

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

Annotations already indicate readOnlyHint=true, destructiveHint=false, and openWorldHint=false. The description adds that the response includes matches and constraints, providing behavioral context beyond 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.

Conciseness4/5

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

The description is short (16 words) and front-loaded with the core action. However, the protocol reference prefix adds noise and could be removed for better conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description adequately explains what the tool returns (matches and constraints). Given the tool's simplicity, single parameter, and existing annotations, it is sufficiently complete for an agent to use.

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 has 100% coverage and the parameter description is clear. The tool description adds no extra meaning beyond what the schema already provides, so 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 clearly states the action ('retrieve') and the resource ('a Want by ID'), and specifies that it includes 'current matches and constraints'. This distinguishes it from siblings like browse_wants or demand.search.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus other similar tools. The description lacks explicit when-to-use or when-not-to-use criteria, leaving the agent to infer usage without support.

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

demand.healthHealth + supply sourcesA
Read-only
Inspect

iwant.fyi demand-side protocol v1.0 §8.2: liveness and readiness check. Returns server info, protocol version, and active supply source list.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already indicate readOnlyHint=true, so the description adds value by detailing what is returned: server info, protocol version, active supply source list. No contradictions, and additional context about the specific protocol section is provided.

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?

Single sentence that is front-loaded with the most important information (liveness and readiness check) and includes specific details about what it returns. No wasted words.

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 simple health check with no parameters and no output schema, the description is complete. It clearly states the purpose and return contents, which is sufficient for an AI agent to select and invoke this tool correctly.

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?

There are no parameters (0 params, 100% coverage). The description does not need to add parameter details, so a baseline of 4 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 clearly states it is a 'liveness and readiness check' and specifies it returns 'server info, protocol version, and active supply source list'. This distinguishes it from sibling tools like 'demand.capabilities' or 'demand.list_verticals'.

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 implies usage for checking server health and readiness, but does not explicitly state when to use or not use it. Context signals (0 params, read-only) align with a health check, making it clear enough.

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

demand.list_constraintsList the constraint vocabularyA
Read-only
Inspect

iwant.fyi demand-side protocol v1.0 §8.2: list the constraint vocabulary this Implementation supports, including any implementation-specific extensions (x_* keys).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the description adds only the detail of listing extensions. No additional behavioral traits (e.g., performance, authorization) are disclosed beyond what annotations provide.

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 a single sentence that immediately states the purpose. Every word contributes, and the protocol reference adds authoritative context without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description only vaguely mentions 'constraint vocabulary' without detailing the return structure or format. More explicit description of the output (e.g., list of constraints with keys and definitions) would enhance completeness.

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?

With 0 parameters and 100% schema coverage, the description need not add param details. The baseline of 4 applies, and the description correctly avoids conveying parameter information.

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 explicitly states the tool lists the constraint vocabulary supported by the implementation, including extensions, with a specific protocol reference. This verb+resource pair clearly distinguishes it from sibling tools like browse_wants or create_listing.

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

Usage Guidelines3/5

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

The description implies use when needing the constraint vocabulary, but provides no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites.

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

demand.list_verticalsList supported verticalsA
Read-only
Inspect

iwant.fyi demand-side protocol v1.0 §8.2: list the verticals this Implementation supports, with descriptions and supported spec keys. Useful for agent capability discovery.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description's job is lighter. It adds a protocol reference but no further behavioral details like rate limits or auth, which is acceptable given the simple read-only nature.

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?

Two succinct sentences: one states purpose, the other provides usage context. No wasted words, and key 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?

For a zero-parameter discovery tool with no output schema, the description adequately indicates what the response contains, making it complete for an agent to understand and invoke correctly.

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?

With zero parameters, baseline is 4. The description adds value by specifying output contents (descriptions and supported spec keys), which is beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists supported verticals with descriptions and spec keys, distinguishing it from sibling list tools like demand.list_constraints and demand.list_watches.

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 indicates it is useful for agent capability discovery, providing a clear use case. However, it does not explicitly state when not to use it or name alternatives.

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

demand.list_watchesList your standing wantsA
Read-only
Inspect

List this agent's standing wants (active watches), with how many matches each has surfaced and when it was last checked.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already indicate readOnlyHint=true. Description adds detail about output fields (matches count, last checked) beyond annotations, providing good 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?

Single sentence, front-loaded with purpose, no wasted words. Every part earns its place.

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 parameterless read-only tool with no output schema, the description fully covers what the tool does and what it returns. No gaps.

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?

No parameters, so schema coverage is 100%. Description adds meaning by specifying what is listed (standing wants with matches and last checked), compensating for lack of parameter info.

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 it lists standing wants (active watches) with match counts and last checked time, using specific verb 'list' and resource. It distinguishes from siblings like create_watch or cancel_watch.

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

Usage Guidelines3/5

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

Implies usage for viewing active watches, but no explicit when-to-use vs alternatives like browse_wants or get_want. Sibling tools exist but no guidance provided.

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

demand.record_outcomeReport an outcome eventAInspect

iwant.fyi demand-side protocol v1.0 §7 + §8.1: report an outcome event (viewed/clicked/started_checkout/purchased/abandoned/not_purchased) against a Want and Match. Closes the demand-signal loop. Required for attribution back to the origin agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
eventYes
want_idYes
match_idYesIdentifier of the specific match this outcome applies to
metadataNoFreeform; e.g., reason for not_purchased
timestampNoISO 8601 timestamp; defaults to now
value_centsNoRealized value, required for 'purchased' events
match_sourceNoOptional: source of the match (e.g., 'ebay', 'shopify', 'cj')
Behavior3/5

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

Annotations indicate a write operation (readOnlyHint=false) with no destructiveness (destructiveHint=false). The description adds that it 'closes the demand-signal loop', but does not detail side effects, idempotency, or error states. Given the sparse annotations, more behavioral context (e.g., is this append-only? Can it be called multiple times?) would be beneficial.

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 two sentences that efficiently convey protocol, action, resources, event types, and purpose. No superfluous words. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, nested objects, no output schema), the description provides high-level context (closing the loop, attribution) but lacks details about return values, error conditions, or sequencing constraints. It is adequate but not comprehensive.

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 covers 71% of parameters with descriptions, and the description reiterates the event types and the need for 'want_id' and 'match_id'. However, the description does not add new semantics beyond the schema, and the 'want_id' parameter lacks a description in both the schema and the description. 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?

Description clearly identifies the tool's action ('report an outcome event') and the specific resources involved ('against a Want and Match'). It also lists the accepted event types (viewed, clicked, etc.), making the scope precise. The protocol reference adds authority. The tool is distinct from siblings (e.g., create_want, cancel_watch) as it focuses on closing the demand-signal loop.

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 that the tool is 'Required for attribution back to the origin agent', implying it should be used after a Want and Match to complete the loop. While it does not explicitly list alternatives or when-not-to-use, the context is clear enough for an agent to infer appropriate usage.

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

demand.searchFind products to buyA
Read-only
Inspect

Find products to buy for the user across many sources. Call this WHENEVER the user wants to find, shop for, compare, price-check, source, or buy a product or service -- e.g. 'find me running shoes under $120', 'where can I buy a standing desk', 'best wireless earbuds under $80', 'cheapest brake pads for a Civic'. Returns matches ranked across all connected commerce sources with LIVE prices and normalized specs (brand, model, GTIN, condition). Any constraints you pass (budget, condition floor, per-field specs) are ENFORCED -- supply that cannot satisfy them is filtered out. Prefer this over a generic web search for anything purchasable. Nothing is saved; use demand.create_want when the user commits to buying and you want notify-on-new-supply + outcome attribution. iwant.fyi demand-side protocol §8.1.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNo
titleYesWhat to search for (same shape as demand.create_want)
cursorNoOpaque pagination cursor from a prior response's next_cursor. Pass it back verbatim for the next page. (v1.1 §6.3)
categoryNo
locationNo
verticalNo
constraintsNo
descriptionNo
price_centsNo
price_currencyNoUSD
Behavior4/5

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

Annotations already declare read-only, open world, non-destructive. Description adds value: returns live prices, normalized specs, constraints enforced, nothing saved. No contradictions.

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?

Single paragraph, front-loaded with main action. Packed with information but not verbose. Could benefit from slight structural separation of concepts.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers main purpose, return type (ranked matches with specs), and usage boundaries. Lacks detail on nested objects and pagination cursor, but functional for typical use.

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 only 20% (title described). Description adds context on constraints and examples but doesn't detail all 10 parameters individually. Partially compensates with usage examples.

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 finds products to buy across sources, with specific verb 'find' and resource 'products'. It distinguishes from siblings like demand.create_want and generic web search, and provides examples.

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 says when to call ('WHENEVER the user wants to find...') and when not to (use demand.create_want for commitment). Provides examples and contrast with alternatives.

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

get_wantGet want detailsA
Read-only
Inspect

Get details of a specific want by ID, including its responses and constraints.

ParametersJSON Schema
NameRequiredDescriptionDefault
want_idYesUUID of the want
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds context beyond annotations by specifying that the response includes 'responses and constraints', which is helpful behavioral information for the agent.

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?

Single sentence with no extraneous information. Every word adds value. Perfectly concise and front-loaded with the action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read operation with one parameter, the description is mostly complete. It specifies the input and the content of the output. A minor gap: no mention of error behavior (e.g., what happens if want_id not found). However, for a get operation this is acceptable.

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% with the 'want_id' parameter described as 'UUID of the want'. The description says 'by ID' but adds no additional meaning or constraints beyond what the schema provides. 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 clearly states the verb 'get', the resource 'want', and the scope by ID. It also mentions the included data (responses and constraints), which distinguishes it from sibling tools like browse_wants (list) and search (list/search).

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

Usage Guidelines3/5

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

The description implies usage for fetching a single want by ID, but provides no explicit guidance on when to use this tool versus alternatives like browse_wants or search. No when-not-to-use or prerequisites are mentioned.

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

my_agent_profileView agent profileA
Read-only
Inspect

View the authenticated agent's profile, trust score, and stats.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds that the tool returns profile, trust score, and stats, providing behavioral context beyond 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?

Single sentence, extremely concise, no wasted words. Every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description specifies what data is returned (profile, trust score, stats), but lacks structural details. However, for a zero-parameter tool, this is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so baseline is 4 per guidelines. Description adds no param info because none are 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 uses a specific verb ('View') and specifies the resource ('authenticated agent's profile, trust score, and stats'), clearly distinguishing it from sibling tools which deal with listings, wants, and demands.

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 clearly states the tool is for viewing the agent's own profile, implying it should be used when the agent needs self-information. No explicit exclusions or alternatives needed given its simplicity.

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

respond_to_wantRespond to a wantAInspect

Submit an offer/response to an existing want. The agent's owner will be the responder. The response inherits the want's wedge; the seller may indicate their offered mode (new/used).

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoSupply mode: new (catalog-driven) or used (reverse-auction-driven). Optional.
messageYesYour offer message (10-2000 chars)
want_idYesUUID of the want to respond to
offerPriceYesOffer price in dollars
Behavior4/5

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

Annotations indicate readOnlyHint=false (mutation) and destructiveHint=false (non-destructive). The description adds behavioral details beyond annotations, such as the response inheriting the want's wedge and the seller indicating mode. No contradictions with 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 two sentences with no wasted words. The first sentence delivers the core purpose immediately, and the second concisely adds relevant behavioral constraints.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given four parameters and no output schema, the description covers the main behavioral aspects: who responds, what is inherited, and the optional mode. It lacks mention of return values or prerequisites beyond having a want_id, but is largely adequate.

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% with all parameters documented. The description adds context about the agent's owner being the responder and wedge inheritance, but these are not directly tied to individual parameter semantics. The mode parameter's enum values are already explained in the schema.

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 clearly states the tool submits an offer/response to an existing want. The verb 'submit' and resource 'offer/response to an existing want' make the purpose specific. However, it doesn't explicitly differentiate from sibling tools like browse_wants or create_want.

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

Usage Guidelines3/5

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

The description implies usage when a user wants to respond to a want by providing want_id, but lacks explicit guidance on when not to use it (e.g., for creating a new want or browsing). No alternatives are mentioned, but the 'respond to' context provides some implicit direction.

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

search_listingsSearch the supply directoryA
Read-only
Inspect

Search the iwant.fyi supply directory for listings posted by sellers. Supports full-text search, category, wedge, mode, price, condition, and location filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoSupply mode: new (catalog-driven) or used (reverse-auction-driven). Optional.
pageNoPage number (default 1)
wedgeNoOptional vertical hint: tools/hardware or auto parts (these ship first-class structured spec vocabulary). Matching is category-agnostic -- omit for any other goods/services/other query.
searchYesFull-text search across listing titles and descriptions
sourceNoFilter by source (native, shopify, ebay, etsy)
categoryNo
locationNoLocation text filter
conditionNo
item_typeNoSpecific item type (e.g. 'couch', 'laptop', 'plumber')
max_priceNoMaximum price in dollars
min_priceNoMinimum price in dollars
Behavior3/5

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

Annotations already provide readOnlyHint=true and openWorldHint=true. The description adds that it supports various filters, but does not disclose pagination behavior or result format. It is consistent with annotations, but adds limited extra 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 two sentences, front-loaded with the action and resource. Every word is functional with no fluff. It efficiently conveys the tool's purpose and supported filters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 11 parameters and no output schema, the description lists filters but omits important details like parameter interactions, default ordering, or pagination behavior. The openWorldHint annotation partially mitigates but the description itself is incomplete.

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 82%, high. The description lists filters supported (full-text search, category, wedge, mode, price, condition, location), which largely overlaps with schema parameter descriptions. It does not add significant new 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 clearly states the verb 'Search' and the specific resource 'the iwant.fyi supply directory for listings posted by sellers'. It distinguishes itself from sibling tools like 'search_products' and 'browse_wants' by targeting listings specifically.

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool over alternatives. No explicit when-to-use or when-not-to-use information is given, leaving the agent to infer context from the tool name and sibling list.

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

search_productsSearch products to buyA
Read-only
Inspect

Search for real, purchasable products to buy across connected commerce sources (native listings + Shopify Catalog; Klarna and ACP feeds being integrated). Use to find, shop for, or compare products matching a user's needs. Returns ranked matches. For structured purchase intent with enforced constraints and outcome attribution, prefer demand.search (ephemeral) or demand.create_want (persisted).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesWhat to search for (e.g. 'mid-century modern desk', 'wireless headphones')
wedgeNoOptional vertical hint: tools/hardware or auto parts (these ship first-class structured spec vocabulary). Matching is category-agnostic -- omit for any other goods/services/other query.
categoryNoProduct category
locationNoPreferred location
conditionNoItem condition filter
max_priceNoMaximum price in dollars
min_priceNoMinimum price in dollars
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, and destructiveHint. The description adds context about the commerce sources (native listings + Shopify Catalog; Klarna and ACP feeds being integrated) and that it returns ranked matches, which goes beyond annotation info.

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?

Two sentences, front-loaded with the tool's purpose and scope, followed by usage guidance. No redundant information. Highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's scope (real purchasable products), sources, ranking behavior, and when to use alternatives. Without an output schema, it briefly mentions 'returns ranked matches' which provides minimal output context. Sufficient for an agent to select and invoke 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?

All 7 parameters are already described in the input schema (schema_description_coverage=100%). The description does not add new parameter-specific details beyond the schema, so 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 clearly states the tool searches for real, purchasable products across specific commerce sources (native listings, Shopify Catalog, etc.). It distinguishes itself from siblings like demand.search and demand.create_want by noting their suitability for structured purchase intent.

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 to use the tool ('find, shop for, or compare products') and when to use alternatives ('For structured purchase intent with enforced constraints and outcome attribution, prefer demand.search or demand.create_want'). This provides clear usage guidance.

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

Discussions

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

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.