Skip to main content
Glama

Server Details

Track prices & price history on any online shop, with alerts and an API

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
pricewatcha/pricewatcha-api
GitHub Stars
1
Server Listing
Pricewatcha MCP Server

Available Tools

11 tools
create_price_alertCreate price alertAInspect

Create a price alert for a product. Use notify_on_drop / notify_on_rise for any price change without a numeric threshold, and/or min_threshold_price / max_threshold_price for target prices. At least one of those four settings is required. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/en/developers#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional alert name
api_keyYesPricewatcha API key (pwk_live_...)
product_idYesPublic product ID (prod_... or demo_...)
webhook_urlNoOptional HTTPS webhook URL
notify_emailNoSend email notifications (default true)
notify_on_dropNoNotify on any price drop. No threshold required.
notify_on_riseNoNotify on any price increase. No threshold required.
max_threshold_priceNoNotify when the price rises to or above this value.
min_threshold_priceNoNotify when the price drops to or below this value.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNo
alert_idYes
currencyYes
is_activeYes
created_atYes
product_idYes
updated_atYes
webhook_urlNo
notify_emailYes
notify_on_dropYes
notify_on_riseYes
last_triggered_atNo
max_threshold_priceNo
min_threshold_priceNo

TDQS

A4.4/5.0
Behavior4/5

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

With only 'false' annotation flags, the description carries the behavioral burden, and it does so by specifying the API key format, location, and the structured error contract. It doesn't describe post-creation side effects or whether the alert starts immediately, but this is a modest gap.

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 action is front-loaded in the first sentence, followed by focused sentences on parameter choice, requirement, auth prerequisite, and error output. Each clause carries semantic weight, though the paragraph is slightly longer than strictly necessary.

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?

Since the tool has an output schema, the definition doesn't need to describe successful return values. The description covers authentication, the mandatory conditional fields, API key source, and error structure, giving an agent all crucial non-obvious context for a successful call.

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 schema already covers 100% of parameter details, giving a baseline of 3. The description adds value beyond the schema by grouping the threshold-free flags separately from the numeric threshold settings and by introducing the cross-field requirement that at least one is mandatory.

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 verb 'Create' combined with 'price alert' and 'for a product' states exactly what the tool does. The subtle distinction with siblings like update_price_alert is immediately obvious from the verb choice.

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 explains the two operating modes: threshold-free notify_on_drop/notify_on_rise vs numeric min/max_threshold_price, and states the crucial 'at least one of those four settings is required' constraint. It provides clear create-context, though it doesn't explicitly name update_price_alert as the alternative for modifying existing alerts.

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

delete_price_alertDelete price alertA
DestructiveIdempotent
Inspect

Delete a price alert. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/en/developers#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYesPricewatcha API key (pwk_live_...)
alert_idYesAlert ID to delete

Output Schema

ParametersJSON Schema
NameRequiredDescription
deletedYes
alert_idYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already convey destructiveHint=true and readOnly=false, so the description does not need to restate that this deletes data. It adds useful behavioral detail beyond annotations by requiring a live API key and by documenting the structured error object returned on failure, including error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

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: the operation, the authentication prerequisite with source URL, and the error contract. It is front-loaded with the verb and resource, and contains no filler or redundant restatement of the schema.

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 two-parameter destructive tool with annotations, a complete schema, and an output schema, the description is nearly sufficient. It covers the required API key, where to get it, and exactly what error information is sent back on failure. The only absence is explicit guidance about choosing this tool over alternatives, and minor wording about the successful result could be added.

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 api_key and alert_id are already documented in the input schema. The description adds the developer URL for obtaining the API key but gives no additional semantics for alert_id beyond 'Alert ID to delete', which is adequate but not rich given the baseline.

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 opens with 'Delete a price alert', a clear verb+resource statement that distinguishes this tool from siblings like create_price_alert, update_price_alert, and list_price_alerts. It does not expand much beyond the title, but the verb is unambiguous and correctly implies destructive action.

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 gives a concrete prerequisite: a Pricewatcha API key (pwk_live_...) is required and the URL for obtaining it is included. However, it does not state when to choose delete_price_alert over the alternative update_price_alert or list_price_alerts, so the tool-selection guidance is mostly implicit.

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

get_api_statusGet API statusA
Read-onlyIdempotent
Inspect

Check whether the Pricewatcha public API is available. Returns health and discovery metadata. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
apiYes
healthYes
base_urlYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds valuable context about failure responses, detailing the structured error object fields, which goes beyond the annotations. 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, front-loaded with the primary purpose, then covers both success and failure outcomes. No extraneous information, every sentence 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?

Given the tool is simple (zero parameters, read-only, idempotent) and an output schema exists (per context), the description covers the essential behavioral aspects including error handling. It is sufficiently complete for an agent to use 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?

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

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 checks whether the Pricewatcha public API is available, with a specific verb and resource. It distinguishes from sibling tools like get_job_status or search_products by focusing on API health.

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 checking API availability but does not explicitly specify when to use or avoid this tool compared to alternatives. There is no mention of prerequisites or exclusions, leaving the agent to infer based on tool name and purpose.

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

get_job_statusGet job statusA
Read-onlyIdempotent
Inspect

Poll an async tracking job by job_id. Returns status (queued, running, completed, or failed). On completion, product is populated; on scrape failure, error is populated (HTTP 200 job lookup — not a transport error). On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesJob ID from track_product

Output Schema

ParametersJSON Schema
NameRequiredDescription
hintNo
errorNo
job_idYes
statusYes
productNo

TDQS

A4.5/5.0
Behavior4/5

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

Beyond annotations (readOnly, idempotent), it clarifies that HTTP 200 indicates job lookup success, not a transport error, and details the error object structure on failure. No contradiction 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?

Three concise sentences with no filler. Front-loaded with core purpose, immediately actionable.

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 output schema exists, the description covers all necessary states (statuses, populated fields on completion/failure) and error details, making it complete for a polling 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?

Schema already describes job_id with 100% coverage; description adds extra context that job_id comes from track_product, which aids understanding 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 starts with a specific verb ('Poll') and resource ('async tracking job by job_id'). It lists exact statuses and outcomes, clearly distinguishing from siblings like get_product or get_api_status.

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 implies usage after initiating a tracking job (job_id from track_product) and explains behavior for completion and failure, but does not explicitly exclude use cases or mention when not to use.

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

get_price_alertGet price alertA
Read-onlyIdempotent
Inspect

Get one price alert by alert_id. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/en/developers#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYesPricewatcha API key (pwk_live_...)
alert_idYesAlert ID from create_price_alert or list_price_alerts

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNo
alert_idYes
currencyYes
is_activeYes
created_atYes
product_idYes
updated_atYes
webhook_urlNo
notify_emailYes
notify_on_dropYes
notify_on_riseYes
last_triggered_atNo
max_threshold_priceNo
min_threshold_priceNo

TDQS

A4.1/5.0
Behavior4/5

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

The description adds behavioral detail beyond the annotations by documenting the structured error object that is returned on failure, including fields for error codes, HTTP status, and retry recommendations. This is genuinely helpful information for agents handling failures, and there is no contradiction with the annotation-driven hints.

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 immediately front-loaded with the tool's core purpose, then provides the required key and failure contract in two sentences without redundancy. Every clause contributes useful information, and there is no fluff.

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 simplicity, full schema coverage, and presence of an output schema, the description supplies the important pieces that are not present elsewhere: the API key requirements and the detailed error response structure. An AI agent does not have to guess about the failure mode or required keys.

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 input schema already explains both api_key and alert_id completely, including alert_id provenance from create_price_alert or list_price_alerts. The description does not add meaningful parameter-level information beyond the schema, 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 action ('Get one price alert'), a specific resource ('price alert'), and the exact identifying parameter ('alert_id'). The word 'one' implicitly distinguishing from list_price_alerts and the clarity of scope make it a clear, purpose-defining statement.

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 gives us context: you need an API key and an alert_id, so usage is implicitly scoped to retrieving a single alert by ID. However, no explicit guidance is given about when to prefer this vs alternatives like list_price_alerts to get multiple alerts or get an ID for this tool.

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

get_price_historyGet price historyA
Read-onlyIdempotent
Inspect

Get historical prices, aggregates (low/high/average), trend, and data points for a product. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesPublic product ID

Output Schema

ParametersJSON Schema
NameRequiredDescription
trendNo
previewNo
currencyYes
product_idYes
data_pointsYes
average_priceNo
current_priceNo
historical_lowNo
historical_highNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint. The description adds valuable context about structured error objects on failure and mentions return components (aggregates, trend), going beyond annotations without contradiction.

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 with no wasted words. First sentence covers purpose and return, second covers error handling. Very 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?

Given low complexity, annotations, and output schema, the description adequately covers purpose and key behaviors. However, it omits potential constraints like date range limits or pagination, which could be relevant.

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% with 'Public product ID' for product_id. The description does not add any additional meaning to the parameter 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 verb 'Get' and the resource 'historical prices' for a product, specifying return types (aggregates, trend, data points). It naturally distinguishes from siblings like get_product or search_products.

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 retrieving price history but lacks explicit guidance on when to use this tool versus alternatives (e.g., get_product) or any exclusion criteria.

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

get_productGet productA
Read-onlyIdempotent
Inspect

Get structured product price intelligence by product_id (e.g. demo_iphone_15_pro or prod_xxx from a completed job). On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesPublic product ID

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
shopYes
statusNo
previewNo
currencyYes
product_idYes
product_urlNo
current_priceNo
last_checked_atNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds transparency by detailing the structured error object returned on failure, including fields like error.code and error.retry_after_seconds. 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.

Conciseness5/5

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

Two sentences, no redundant words. The main purpose is front-loaded, and the error information is efficiently appended. Every sentence contributes meaningfully.

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 retrieval tool with one parameter, rich annotations, and an output schema (mentioned but not shown), the description covers the essential: what it retrieves, how to specify the product, and error handling. 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?

Schema coverage is 100% with a description for product_id. The description adds value by giving example IDs and linking them to completed jobs, which provides context beyond the schema's minimal description.

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's purpose: to get structured product price intelligence by product_id. It provides specific examples of valid IDs (demo_iphone_15_pro, prod_xxx) and distinguishes itself from siblings that handle API status, job status, price history, search, or tracking.

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 context by specifying that product IDs come from completed jobs and providing example IDs. However, it does not explicitly state when to use this tool over siblings or 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.

list_price_alertsList price alertsA
Read-onlyIdempotent
Inspect

List your price alerts. Optionally filter by product_id. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/en/developers#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYesPricewatcha API key (pwk_live_...)
product_idNoOptional public product ID filter

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
alertsYes

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, and non-destructive behavior. The description adds useful behavior beyond those annotations by explaining the API key requirement and detailing the structured error fields returned on failure.

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 starts with the core purpose and then adds filter, auth, and error details. The error field enumeration is verbose but justified because it describes a non-obvious structured error behavior.

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 read-only listing tool with a full output schema, the description is sufficiently complete: it covers purpose, optional filtering, authentication source, and failure behavior. No critical details for tool selection or invocation are 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 schema already documents api_key and product_id. The description only restates the optional product_id filter and the API key requirement without adding new semantic detail.

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 clear action and resource: 'List your price alerts' with an optional product_id filter. However, it does not explicitly distinguish itself from the sibling get_price_alert, so the differentiation is only implicit in the word 'list.'

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 explains what the tool does but not when to prefer it over alternatives such as get_price_alert, which likely retrieves a single alert. The optional filter hint gives some context, but there is no when-to-use or 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.

search_productsSearch productsA
Read-onlyIdempotent
Inspect

Searches the Pricewatcha product catalog by keyword (token AND; word order does not matter). Supports minus-prefixed exclude terms: e.g. "iPhone 15 -cover -case" returns devices only. Returns product-level data only — not user accounts or alert settings. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch keywords (token AND). Supports minus-prefixed exclude terms: e.g. "iPhone 15 -cover -case"

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
queryYes
resultsYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, and non-destructive hints, so the description adds value by explaining exact query behavior: token AND, irrelevant word order, and minus-prefixed exclusions. It also documents the exact failure response shape, which is useful operational behavior not captured by 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 three sentences, all of which are informative and non-redundant. The primary action is front-loaded, key query semantics are compactly explained, and the error object detail is concrete without padding.

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 only one input parameter, full schema coverage, output schema presence, and safety/caching hints already provided by annotations, the description fills the remaining gaps: search semantics, scope of results, and structured failure mode. Nothing essential is missing for an 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?

The schema already covers the query parameter 100%, so the description is not strictly required to add parameter info. It does add meaningful behavior beyond the schema by explaining word order, AND semantics, and exclude-term syntax, which helps the agent formulate a properly structured query.

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: 'Searches the Pricewatcha product catalog by keyword.' It also distinguishes this tool from siblings by clarifying that it returns product-level data only, not user accounts or alert settings, and explains the query semantics. This is a clear and non-tautological statement of what the tool does.

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 it is for keyword-based product catalog search and explicitly excludes user accounts and alert settings, giving a when-not-to-use signal. However, it does not explicitly name alternative sibling tools (e.g., use get_product for a direct product lookup), so the guidance is helpful but not fully exhaustive.

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

track_productTrack productAInspect

Submit a public product URL for price tracking. Waits up to ~25s server-side; fast shops return status "completed" with product in one call. Slow jobs return status "running" with job_id — poll get_job_status. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic product page URL from a supported shop

Output Schema

ParametersJSON Schema
NameRequiredDescription
hintNo
errorNo
job_idYes
statusYes
productNo

TDQS

A4.7/5.0
Behavior5/5

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

Beyond annotations (which show destructiveHint=false, etc.), the description reveals key behavioral traits: server-side wait time, possible response statuses, the need for polling, and the full error object structure. This is comprehensive and alerts the agent to potential long-running operations.

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 concise at 4 sentences, each serving a distinct purpose: what the tool does, timing, possible outcomes, and error details. No redundant or unnecessary 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?

Given the tool's asynchronous nature, the description is complete: it explains the request-response cycle, how to handle both fast and slow cases, and the error contract. No missing information given that an output schema exists.

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 100% of the parameter (url with description), so the description adds no further parameter semantics. It simply restates 'public product URL' without additional format or usage constraints.

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's purpose: 'Submit a public product URL for price tracking.' It distinguishes itself from sibling tools like get_job_status by explaining when to use each (e.g., poll get_job_status for slow jobs).

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 provides explicit guidance: it explains the expected behavior (waits up to ~25s), how to handle fast vs. slow responses (immediate completion vs. polling get_job_status), and what to do on failure (structured error object with retry details).

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

update_price_alertUpdate price alertA
Idempotent
Inspect

Update a price alert. You can switch to threshold-free notify_on_drop / notify_on_rise, change thresholds, or toggle is_active. At least one setting must remain. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/en/developers#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
api_keyYesPricewatcha API key (pwk_live_...)
alert_idYesAlert ID to update
is_activeNo
webhook_urlNo
notify_emailNo
notify_on_dropNoNotify on any price drop. No threshold required.
notify_on_riseNoNotify on any price increase. No threshold required.
max_threshold_priceNoMax threshold, or null to clear.
min_threshold_priceNoMin threshold, or null to clear.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNo
alert_idYes
currencyYes
is_activeYes
created_atYes
product_idYes
updated_atYes
webhook_urlNo
notify_emailYes
notify_on_dropYes
notify_on_riseYes
last_triggered_atNo
max_threshold_priceNo
min_threshold_priceNo

TDQS

A4.7/5.0
Behavior5/5

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

The description does not contradict the annotations (readOnlyHint=false, idempotentHint=true, destructiveHint=false); it adds meaningful behavior: updates require at least one setting to remain, calls require a Pricewatcha API key with a linked developer URL, and failures return a structured error object with specific fields. This goes well beyond the structured annotations and is genuinely useful for an agent invoking the tool.

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 compact and front-loaded: 'Update a price alert' appears first, followed by the specific behaviors, the invariant, and then auth/error details. Every sentence contributes concrete information; there is no repetition of schema field definitions or boilerplate.

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 10 parameters, a mutation operation, an output schema, and annotations, the description covers the key non-obvious aspects: allowed operation, the 'at least one setting must remain' constraint, API key authentication, and the exact error object shape. Success return behavior is not described but the presence of an output schema makes that acceptable. This is a complete update-tool description.

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 description adds important semantic meaning not obvious from the schema: notify_on_drop and notify_on_rise are threshold-free booleans, thresholds can be updated, and is_active can be toggled. It also clarifies that an update must leave at least one setting. With 60% schema coverage, this compensation is valuable, though a few optional parameters like webhook_url and notify_email are not described further.

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 the exact action and resource: 'Update a price alert.' It then enumerates the supported mutation types — switching to threshold-free notify_on_drop/notify_on_rise, changing thresholds, and toggling is_active — which makes the tool clearly distinguishable from create_price_alert, get_price_alert, list_price_alerts, and delete_price_alert.

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 it clear this tool is for updating an existing alert and lists the kinds of allowed changes, so an agent can match it to an update intent. It does not explicitly name sibling tools as alternatives or state 'for creation use create_price_alert', although the constraint 'At least one setting must remain' provides a useful boundary. The context is clear enough, but not fully explicit.

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

Frequently Asked Questions

Discussions

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables product search, price comparison, and price history analysis across 6 European marketplaces (DE, AT, GB, FR, IT, ES).
    15
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Real Amazon (US, UK, DE, CA, AU) & Walmart shopping data for AI assistants: ranked product shortlists, current prices, live stock, real ratings, and price/BSR history from a 17M+ product warehouse. Free hosted endpoint, no signup — 30 queries a day.
    3
    MIT
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 clearly maps to a distinct resource and action: price alert CRUD verbs (create/get/list/update/delete) are unambiguous, and get_api_status vs get_job_status are separated by scope (service health vs async job polling). track_product, search_products, get_product, and get_price_history each address a different part of the product workflow with no meaningful overlap.

Naming Consistency5/5

All 11 tools follow a consistent verb_noun snake_case pattern: create_price_alert, get_price_history, track_product, list_price_alerts, and so on. Verbs are precise and nouns are stable across the set, making the API surface predictable.

Tool Count5/5

At 11 tools, the server is well-scoped for its purpose: alert management, product search, price history, tracking, and status checks each earn their place. No tool feels redundant or excessive for a price-intelligence domain.

Completeness4/5

The price alert lifecycle is fully covered with create/get/list/update/delete, and product search/tracking/history are solid. A minor gap is the lack of a way to list or stop all tracked products/jobs besides polling a known job_id, but this can be worked around and core workflows are complete.